- Use tsc 7 for build (vite no longer needed for a Node library) - Use node --test with --experimental-strip-types for tests (vitest dropped) - Use c8 for coverage instead of vitest's built-in coverage - Add tsconfig.build.json separating typecheck from emit config - Drop DOM lib, add strict noUncheckedIndexedAccess/noImplicitOverride - Pin engines.node to >=22.6 (required for --experimental-strip-types) - Update CI to Node 24 LTS (unflagged strip-types) - Add @types/node for node:test / node:assert types
37 lines
1.1 KiB
JSON
37 lines
1.1 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"target": "es2024",
|
|
"module": "nodenext",
|
|
"moduleResolution": "nodenext",
|
|
"moduleDetection": "force",
|
|
"lib": ["es2024"],
|
|
"skipLibCheck": true,
|
|
"strict": true,
|
|
"noImplicitAny": true,
|
|
"noImplicitThis": true,
|
|
"alwaysStrict": true,
|
|
"strictNullChecks": true,
|
|
"strictFunctionTypes": true,
|
|
"strictBindCallApply": true,
|
|
"strictPropertyInitialization": true,
|
|
"noImplicitReturns": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noUncheckedIndexedAccess": true,
|
|
"noImplicitOverride": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"isolatedModules": true,
|
|
"verbatimModuleSyntax": true,
|
|
"declaration": true,
|
|
"declarationMap": true,
|
|
"sourceMap": true,
|
|
"outDir": "dist",
|
|
"esModuleInterop": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"resolveJsonModule": true,
|
|
"composite": false,
|
|
"types": ["node"]
|
|
},
|
|
"include": ["src"]
|
|
} |