import path from "path"; import type { NextConfig } from "next"; const nextConfig: NextConfig = { transpilePackages: [ "@planarchy/api", "@planarchy/db", "@planarchy/engine", "@planarchy/shared", "@planarchy/staffing", "@planarchy/ui", ], typedRoutes: true, async headers() { return [ { source: "/(.*)", headers: [ { key: "X-Frame-Options", value: "DENY" }, { key: "X-Content-Type-Options", value: "nosniff" }, { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" }, { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" }, ], }, ]; }, // Webpack config (used by `next build` and `next dev` without --turbo) webpack(config) { config.resolve.alias = { ...config.resolve.alias, "~": path.resolve(__dirname, "src"), }; // Resolve .js imports to .ts/.tsx (TypeScript ESM convention) config.resolve.extensionAlias = { ...config.resolve.extensionAlias, ".js": [".ts", ".tsx", ".js"], ".jsx": [".tsx", ".jsx"], }; return config; }, }; export default nextConfig;