import { defineConfig, envField } from 'astro/config'; import mdx from '@astrojs/mdx'; import sitemap from '@astrojs/sitemap'; import react from '@astrojs/react'; import tailwindcss from '@tailwindcss/vite'; export default defineConfig({ site: process.env.SITE_URL || 'https://example.com', env: { schema: { SITE_URL: envField.string({ context: 'server', access: 'public', optional: true }), PUBLIC_GA_MEASUREMENT_ID: envField.string({ context: 'client', access: 'public', optional: true }), PUBLIC_GTM_ID: envField.string({ context: 'client', access: 'public', optional: true }), CONTACT_FORM_ENDPOINT: envField.string({ context: 'server', access: 'secret', optional: true }), NEWSLETTER_API_KEY: envField.string({ context: 'server', access: 'secret', optional: true }), GOOGLE_SITE_VERIFICATION: envField.string({ context: 'server', access: 'public', optional: true }), BING_SITE_VERIFICATION: envField.string({ context: 'server', access: 'public', optional: true }), PUBLIC_GOOGLE_MAPS_API_KEY: envField.string({ context: 'client', access: 'public', optional: true, default: '' }), PUBLIC_CONSENT_ENABLED: envField.boolean({ context: 'client', access: 'public', optional: true, default: false }), PUBLIC_PRIVACY_POLICY_URL: envField.string({ context: 'client', access: 'public', optional: true, default: '' }), }, }, image: { layout: 'constrained', }, integrations: [ react(), mdx(), sitemap(), ], vite: { plugins: [tailwindcss()], }, security: { checkOrigin: true, }, markdown: { shikiConfig: { theme: 'github-dark', wrap: true, }, }, });