/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  experimental: { 
    missingSuspenseWithCSRBailout: false
  },
  // Ignorer les warnings ESLint durant le build pour Vercel
  eslint: {
    ignoreDuringBuilds: true,
  },
  // Configuration pour optimiser les chunks et éviter les erreurs de modules Supabase
  webpack: (config, { dev, isServer }) => {
    if (!isServer) {
      // Optimiser les chunks pour éviter les problèmes avec Supabase
      config.optimization.splitChunks = {
        ...config.optimization.splitChunks,
        cacheGroups: {
          ...config.optimization.splitChunks.cacheGroups,
          supabase: {
            test: /[\\/]node_modules[\\/]@supabase[\\/]/,
            name: 'supabase',
            chunks: 'all',
            priority: 30,
          },
        },
      };
    }
    return config;
  },
  // Rewrites pour proxier les requêtes PostHog
  async rewrites() {
    return [
      {
        source: '/ingest/static/:path*',
        destination: 'https://eu-assets.i.posthog.com/static/:path*',
      },
      {
        source: '/ingest/:path*',
        destination: 'https://eu.i.posthog.com/:path*',
      },
    ];
  },
  // Nécessaire pour supporter les requêtes API PostHog avec slash final
  skipTrailingSlashRedirect: true,
};

export default nextConfig;
