Files
hermes-agent/apps/desktop/tsconfig.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

33 lines
1.0 KiB
JSON

{
"compilerOptions": {
"target": "ES2023",
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ES2023"],
"types": ["node"],
"allowJs": false,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "react-jsx",
"noEmit": true,
"paths": {
"@/*": ["./src/*"],
"@hermes/plugin-sdk": ["./src/sdk/index.ts"],
"@hermes/shared/ansi": ["../shared/src/ansi.ts"],
"@hermes/shared/billing": ["../shared/src/billing-types.ts"],
"@hermes/shared/color": ["../shared/src/color.ts"],
"@hermes/shared/i18n": ["../shared/src/i18n.ts"],
"@hermes/shared/translucency": ["../shared/src/translucency.ts"],
"@hermes/shared": ["../shared/src/index.ts"]
}
},
"include": ["src", "../shared/src"],
"exclude": ["e2e", "electron", "playwright.config.ts"]
}