import type { NextConfig } from "next"; const CSP = [ "default-src 'self'", "script-src 'self' 'unsafe-inline'", // Next.js requires unsafe-inline for hydration "style-src 'self' 'unsafe-inline'", "img-src 'self' data:", "font-src 'self'", "connect-src 'self' https://queue-times.com", "frame-ancestors 'none'", ].join("; "); const nextConfig: NextConfig = { // better-sqlite3 is a native module — must not be bundled by webpack serverExternalPackages: ["better-sqlite3"], output: "standalone", async headers() { return [ { source: "/(.*)", headers: [ { key: "X-Content-Type-Options", value: "nosniff" }, { key: "X-Frame-Options", value: "DENY" }, { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" }, { key: "Permissions-Policy", value: "geolocation=(), microphone=(), camera=()" }, { key: "Content-Security-Policy", value: CSP }, ], }, ]; }, }; export default nextConfig;