/** @type {import('next').NextConfig} */ const nextConfig = { // Enable React Strict Mode for better error detection reactStrictMode: true, // Configure images to allow external URLs if needed images: { remotePatterns: [ { protocol: 'https', hostname: '**', }, { protocol: 'http', hostname: '**', }, ], unoptimized: true, // Disable image optimization for static export }, // Enable SWC minification for faster builds swcMinify: true, // Configure Sass support // sassOptions: { // additionalData: `@use "styles/variables" as *;`, // }, // Environment variables env: { RESEND_API_KEY: process.env.RESEND_API_KEY, WP_API_URL: process.env.WP_API_URL, WP_API_USER: process.env.WP_API_USER, WP_API_PASS: process.env.WP_API_PASS, SITE_URL: process.env.SITE_URL || 'http://localhost:3000', }, // Webpack configuration webpack: (config, { isServer }) => { // Handle node polyfills if needed if (!isServer) { config.resolve.fallback = { ...config.resolve.fallback, fs: false, net: false, tls: false, }; } return config; }, // Generate source maps for better debugging productionBrowserSourceMaps: false, // Disable X-Powered-By header for security poweredByHeader: false, // Experimental features experimental: { // Enable server actions if needed serverActions: { bodySizeLimit: '1mb', }, }, // Output configuration - use 'export' for static sites // or leave undefined for server-side rendering output: process.env.NEXT_PUBLIC_EXPORT === 'true' ? 'export' : undefined, // Base path configuration (if deploying to subdirectory) basePath: process.env.NEXT_PUBLIC_BASE_PATH || '', // trailingSlash: true, // Uncomment if you need trailing slashes // async headers() { // return [ // { // source: '/(.*)', // headers: [ // { // key: 'X-Frame-Options', // value: 'DENY', // }, // { // key: 'X-Content-Type-Options', // value: 'nosniff', // }, // { // key: 'Referrer-Policy', // value: 'origin-when-cross-origin', // }, // ], // }, // ]; // }, // async redirects() { // return [ // { // source: '/old-path', // destination: '/new-path', // permanent: true, // }, // ]; // }, // async rewrites() { // return { // beforeFiles: [ // // Rewrites for dynamic routes // ], // }; // }, }; module.exports = nextConfig;