tsconfig.json had no noEmit option: every caller passed --noEmit on the CLI (typecheck, scripts/build/desktop.mjs), but one bare `tsc --build tsconfig.json` emitted 2194 .js twins in-place across src/ and electron/, and module resolution then preferred those stale .js files over the .ts sources — tests ran against dead code until the twins were deleted. Make it structural: noEmit true in the renderer base; the composite electron/e2e children (which legally emit declarations into build/electron-types / scratch) opt back out with noEmit false. Verified: the typecheck trio stays clean, a bare tsc --build of the renderer now emits nothing, and the electron dev build still produces its build/electron-types declarations with zero in-place files.
23 lines
783 B
JSON
23 lines
783 B
JSON
{
|
|
"extends": "./tsconfig.json",
|
|
"compilerOptions": {
|
|
"strict": false,
|
|
"noImplicitAny": false,
|
|
"noImplicitThis": false,
|
|
"strictNullChecks": false,
|
|
"strictFunctionTypes": false,
|
|
"strictBindCallApply": false,
|
|
"strictPropertyInitialization": false,
|
|
"noUncheckedIndexedAccess": false,
|
|
"exactOptionalPropertyTypes": false,
|
|
"ignoreDeprecations": "6.0",
|
|
"composite": true,
|
|
"noEmit": false,
|
|
"declaration": true,
|
|
"rootDir": "..",
|
|
"outDir": "build/electron-types"
|
|
},
|
|
"include": ["electron", "product-identity.cjs", "product-identity.d.cts", "update-feed.cjs", "update-feed.d.cts", "../shared/src/ansi.ts", "../shared/src/data-url-read-max.ts", "../shared/src/translucency.ts"],
|
|
"exclude": ["src", "electron/**/*.e2e.mts"]
|
|
}
|