import { defineConfig } from 'astro/config'; import node from '@astrojs/node'; import tailwind from '@astrojs/tailwind'; import sitemap from '@astrojs/sitemap'; import sentry from '@sentry/astro'; const sentryDsn = process.env.SENTRY_DSN; const release = process.env.GIT_COMMIT_SHA || 'dev'; export default defineConfig({ output: 'server', adapter: node({ mode: 'standalone' }), integrations: [ tailwind({ applyBaseStyles: false }), sitemap({ filter: (page) => !page.includes('/api/') && !page.includes('/departement/'), // /departement/* est dynamique pour les 96 dépts — généré dans /sitemap-departements.xml.ts à part. }), // Sentry / GlitchTip — opt-in via env. Si SENTRY_DSN absent, intégration omise (no-op). ...(sentryDsn ? [ sentry({ dsn: sentryDsn, environment: process.env.NODE_ENV ?? 'production', release, tracesSampleRate: 0.1, // GlitchTip est OK avec source maps mais on les omet pour éviter le upload. sourceMapsUploadOptions: { enabled: false }, }), ] : []), ], server: { host: '0.0.0.0', port: 4321 }, site: 'https://info-canicule.nocleus.com', vite: { ssr: { noExternal: ['ioredis'], }, }, });