Skip to content

StoresynkConfig

StoresynkConfig = BaseStoresynkConfig & object

Defined in: @storesynk/next/dist/config.d.ts:18

Store configuration. Astro gets this through its integration options + virtual:storesynk/config; Next has no integration point, so the two credentials come from environment variables (the ecosystem-standard SHOPIFY_STORE_DOMAIN + SHOPIFY_STOREFRONT_ACCESS_TOKEN, or the explicit STORESYNK_STORE_DOMAIN/STORESYNK_PUBLIC_TOKEN overrides) and EVERYTHING ELSE (locale, customer accounts, pixels, cart) is set programmatically via configureStoresynk({...}).

This is the one shared StoresynkConfig (see @storesynk/core) - the same shape the Astro integration and the no-build data-storesynk-config JSON block use, extended with Next-only fields (same precedent as Astro’s injectRuntime). The app metafield namespace is NOT here: it’s hard-coded for now (see APP_NAMESPACE below), injected by getConfig, not user-configurable.

optional cacheLife?: "max" | "weeks" | "days" | "hours" | "minutes" | string & object

Next cacheLife profile for the package’s cached Storefront reads (‘max’ | ‘weeks’ | ‘days’ | ‘hours’ | … or a custom profile from next.config). Default ‘max’: entries live until a Shopify webhook revalidates their tags (see createStoresynkWebhookHandler) - set a TTL profile like ‘days’ as a backstop if you don’t run webhooks.