Phase 0.5 of the execution roadmap: - Remove phantom @bytelyst/ui dep, add sonner for toast notifications - Replace custom error.tsx, not-found.tsx, loading.tsx with @bytelyst/dashboard-components - Replace raw extraction-client.ts with @bytelyst/extraction createExtractionClient() - Add @bytelyst/dashboard-components and @bytelyst/extraction to transpilePackages Made-with: Cursor
54 lines
1.1 KiB
TypeScript
54 lines
1.1 KiB
TypeScript
import path from "node:path";
|
|
import type { NextConfig } from "next";
|
|
|
|
const securityHeaders = [
|
|
{
|
|
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=()",
|
|
},
|
|
];
|
|
|
|
const nextConfig: NextConfig = {
|
|
output: "standalone",
|
|
outputFileTracingRoot: path.join(process.cwd(), ".."),
|
|
transpilePackages: [
|
|
"@bytelyst/api-client",
|
|
"@bytelyst/blob-client",
|
|
"@bytelyst/dashboard-components",
|
|
"@bytelyst/design-tokens",
|
|
"@bytelyst/diagnostics-client",
|
|
"@bytelyst/extraction",
|
|
"@bytelyst/feature-flag-client",
|
|
"@bytelyst/kill-switch-client",
|
|
"@bytelyst/platform-client",
|
|
"@bytelyst/react-auth",
|
|
"@bytelyst/telemetry-client",
|
|
],
|
|
webpack: (config) => {
|
|
config.resolve.symlinks = true;
|
|
return config;
|
|
},
|
|
async headers() {
|
|
return [
|
|
{
|
|
source: "/(.*)",
|
|
headers: securityHeaders,
|
|
},
|
|
];
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|