learning_ai_notes/web/next.config.ts
Saravana Achu Mac 7babee791d feat: replace broken @bytelyst/ui with sonner, adopt dashboard-components, use @bytelyst/extraction
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
2026-03-29 20:33:33 -07:00

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;