59 lines
2.0 KiB
JavaScript
59 lines
2.0 KiB
JavaScript
import { defineConfig, envField } from 'astro/config';
|
|
import mdx from '@astrojs/mdx';
|
|
import sitemap from '@astrojs/sitemap';
|
|
import react from '@astrojs/react';
|
|
import icon from 'astro-icon';
|
|
import tailwindcss from '@tailwindcss/vite';
|
|
import vercel from '@astrojs/vercel';
|
|
import netlify from '@astrojs/netlify';
|
|
|
|
const isNetlify = process.env.DEPLOY_TARGET === 'netlify';
|
|
|
|
export default defineConfig({
|
|
adapter: isNetlify ? netlify() : vercel(),
|
|
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 }),
|
|
RESEND_API_KEY: envField.string({ context: 'server', access: 'secret', optional: true }),
|
|
RESEND_FROM_EMAIL: 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(),
|
|
icon(),
|
|
],
|
|
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
},
|
|
|
|
security: {
|
|
checkOrigin: true,
|
|
},
|
|
|
|
markdown: {
|
|
shikiConfig: {
|
|
theme: 'github-dark',
|
|
wrap: true,
|
|
},
|
|
},
|
|
|
|
});
|