/** @type {import('next').NextConfig} */ const nextConfig = { experimental: { serverActions: { bodySizeLimit: '2mb' } }, async rewrites() { return [ { source: '/external-api/:path*', destination: 'http://127.0.0.1:8000/api/:path*' } ] }, async headers() { return [ { source: '/: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' }, { key: 'Permissions-Policy', value: 'camera=(self), microphone=(self)' }, { key: 'Cross-Origin-Opener-Policy', value: 'same-origin-allow-popups' }, { key: 'Cross-Origin-Embedder-Policy', value: 'credentialless' }, { key: 'Content-Security-Policy', value: "default-src 'self' data:; img-src 'self' data: blob: https://*.tile.openstreetmap.org; media-src 'self' mediastream: blob:; script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: https://cdn.jsdelivr.net https://unpkg.com; worker-src 'self' blob: https://cdn.jsdelivr.net https://unpkg.com; style-src 'self' 'unsafe-inline'; connect-src 'self' http://127.0.0.1:8000 https://nominatim.openstreetmap.org https://*.tile.openstreetmap.org https://cdn.jsdelivr.net https://unpkg.com https://raw.githubusercontent.com https://tessdata.projectnaptha.com data: blob:; object-src 'self' data: blob:" } ] } ] } } module.exports = nextConfig