mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Turbopack rewrites `__dirname` to a synthetic `/ROOT/...` token at build time, so `readFileSync(join(__dirname, 'safety-contracts.fr.yaml'))` crashed during page-data collection in the Docker build with an ENOENT. The chunk error fixed in the previous commit was hiding the issue. The path now resolves through `process.cwd() + 'src/lib/ai/prompts'`, which stays stable across `next build`, `next start`, and the test runner. `outputFileTracingIncludes` in `next.config.ts` pulls the YAML siblings into the standalone runtime image so the read succeeds at deploy time.
28 lines
881 B
TypeScript
28 lines
881 B
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
output: "standalone",
|
|
poweredByHeader: false,
|
|
serverExternalPackages: [
|
|
"@prisma/client",
|
|
"pg-boss",
|
|
"@prisma/adapter-pg",
|
|
"pg",
|
|
],
|
|
// v1.4.25 Fix-G — `src/lib/ai/prompts/safety-contracts.ts` reads its
|
|
// sibling YAML files at runtime via `__dirname + readFileSync`. The
|
|
// standalone bundler ships the JS but not the YAML, so the build
|
|
// crashed during page-data collection with ENOENT once the Turbopack
|
|
// chunking-error layer was cleared. Telling Next to trace the YAML
|
|
// files explicitly keeps them in the runtime image alongside the
|
|
// bundled module.
|
|
outputFileTracingIncludes: {
|
|
"*": ["./src/lib/ai/prompts/safety-contracts.*.yaml"],
|
|
},
|
|
experimental: {
|
|
optimizePackageImports: ["recharts", "lucide-react"],
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|