{ // Strictness comes from the shared base; only output/lib options live here. "extends": "@kuhyx/ts-config/tsconfig", "compilerOptions": { "target": "ES2023", // DOM is here only for `performance.now()` in clock.ts -- the package // ships no DOM *code*. Without it the build fails while the lint config // (which adds @types/node) passes, so the two must not be trusted to // agree by accident. "lib": ["ESNext", "DOM"], "module": "ESNext", "moduleResolution": "bundler", /* Ships a prebuilt dist/ (ESM + .d.ts) because consumers use Vite, which does not transpile dependencies. */ "rewriteRelativeImportExtensions": true, "allowImportingTsExtensions": true, "declaration": true, "declarationMap": true, "sourceMap": true, "outDir": "dist", "rootDir": "src" }, "include": ["src"], "exclude": ["src/**/*.test.ts"] }