`npm run build` now runs `typecheck` first, so the Docker image is built through the same gate as local dev — until now the image was a bare `vite build`, and esbuild strips types without checking them. typecheck covers three projects: src, the Node-side build configs (new tsconfig.node.json — vite.config.ts/vitest.config.ts were type-checked by nothing), and e2e. knip moves from `npx knip@latest` to a pinned devDependency so the gate stops depending on the network and on whichever version shipped that morning.
21 lines
698 B
JSON
21 lines
698 B
JSON
{
|
|
// The build-tool configs run in Node, not the browser: they need node types and must NOT be
|
|
// checked against the app's DOM lib. Split out because tsconfig.json's `include` is ["src"],
|
|
// so until now nothing type-checked these files at all (R2 / C-4.5). `npm run typecheck`
|
|
// runs this project alongside src and e2e.
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"module": "ESNext",
|
|
"moduleResolution": "bundler",
|
|
"lib": ["ES2022"],
|
|
"types": ["node"],
|
|
"strict": true,
|
|
"skipLibCheck": true,
|
|
"noEmit": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"resolveJsonModule": true
|
|
},
|
|
"include": ["vite.config.ts", "vitest.config.ts"]
|
|
}
|