This file holds all configuration specific to the deployment (be that locally, Vercel, or multiple instances). Copy this from .env.example to .env.development to use locally:
# Sanity Backend
SANITY_API_TOKEN=""
SANITY_PROJECT_ID=""
SANITY_DATASET="production"
SANITY_USE_CDN="false"
SANITY_API_VERSION="2023-06-21"
SANITY_WEBHOOK_SECRET="sprout-isr-revalidate"
# Sanity Frontend
NEXT_PUBLIC_SANITY_PROJECT_ID=""
NEXT_PUBLIC_SANITY_DATASET="production"
NEXT_PUBLIC_SANITY_API_VERSION="2023-06-21"
# Frontend
NEXT_PUBLIC_SITE_ROOT="<http://localhost:3000>"
NEXT_PUBLIC_GA4_PROPERTY=""
NEXT_PUBLIC_FACEBOOK_PIXEL=""
# Shopify
NEXT_PUBLIC_SHOPIFY_STOREFRONT_API_URL="<https://store.sprout.store/api/2024-04/graphql.json>"
NEXT_PUBLIC_SHOPIFY_STOREFRONT_ACCESS_TOKEN=""
SHOPIFY_WEBHOOK_SIGNATURE=""
# Preview
NEXT_PUBLIC_CMS_PREVIEW_URL="<http://localhost:3000/api/preview>"
NEXT_PUBLIC_CMS_PREVIEW_TOKEN="sprout-cms-preview"
This is where you configure your store, with each value documented on where it’s used. This includes things like siteName and siteUrl, but also design system configuration.
export default {
// URL of publically hosted site
siteUrl: process.env.NEXT_PUBLIC_SITE_ROOT,
// Site title for SEO tags
siteName: 'Sprout',
// Short description for SEO tags
siteDescription: '',
// Meta keywords for SEO tags
siteKeywords: '',
// Twitter info for SEO
siteTwitterAccount: '@sprout.store',
// How much space you would like for #hash scrolls
// at the top. Generally this is the header + some buffer
scrollBuffer: 100,
// How many days should the site password last
passwordDuration: 60,
// Default Shopify country for currency
defaultCountryId: 'US',
// Various cookie keys for store
cookieCartKey: 'sprout_cart_id',
cookiePasswordKey: 'sprout_password',
cookieCookieDisclosureKey: 'sprout_cookie_disclosure',
cookieCountryKey: 'sprout_country',
};