{ "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "Bundler", "lib": ["ES2022", "DOM", "DOM.Iterable"], "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, "noImplicitReturns": true, "verbatimModuleSyntax": true, "isolatedModules": true, "erasableSyntaxOnly": true, "allowImportingTsExtensions": true, "rewriteRelativeImportExtensions": true, "skipLibCheck": true, "sourceMap": true, "outDir": "../static/dist", "rootDir": "src", "types": [] }, "//": "Source imports use explicit .ts extensions so `node --test` resolves them natively (type-stripping); rewriteRelativeImportExtensions rewrites them to .js on emit so the browser loads the compiled output. Test files are type-stripped by Node and skipped by tsc.", "// erasableSyntaxOnly": "Node's type stripping erases types but cannot transform syntax, so enums, namespaces, and constructor parameter properties fail at `npm test` with ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX. This flag makes tsc reject them at typecheck instead, where the error names the problem.", "include": ["src"], "exclude": ["**/*.test.ts"] }