/** @type {import('next').NextConfig} */ const nextConfig = { eslint: { ignoreDuringBuilds: true, }, typescript: { ignoreBuildErrors: true, }, experimental: { serverComponentsExternalPackages: ['bcryptjs'], }, output: 'standalone', images: { remotePatterns: [ { protocol: 'https', hostname: 'picsum.photos', }, { protocol: 'https', hostname: 'via.placeholder.com', }, ], dangerouslyAllowSVG: true, }, async headers() { return [ { source: '/api/:path*', headers: [ { key: 'Access-Control-Allow-Origin', value: '*' }, { key: 'Access-Control-Allow-Methods', value: 'GET, POST, PUT, DELETE, OPTIONS' }, { key: 'Access-Control-Allow-Headers', value: 'Content-Type, Authorization' }, ], }, ]; }, async rewrites() { return process.env.NODE_ENV === 'production' ? [ { source: '/uploads/:path*', destination: '/api/uploads/:path*', }, ] : []; }, webpack: (config, { isServer }) => { if (isServer) { config.externals.push('bcryptjs'); } // Add this to handle Edge Runtime issues config.resolve.fallback = { ...config.resolve.fallback, fs: false }; return config; }, }; export default nextConfig;