Files
hermes-agent/apps/desktop/tsconfig.electron.json
ethernet 7f5de1d671 fix(desktop): make renderer tsconfig noEmit structural, not conventional
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.
2026-09-18 00:08:06 -04:00

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"]
}