42 lines
1.5 KiB
JSON
42 lines
1.5 KiB
JSON
|
|
{
|
||
|
|
"compilerOptions": {
|
||
|
|
"target": "ES2022",
|
||
|
|
"module": "NodeNext", // Recommended for Node.js ES Modules
|
||
|
|
"moduleResolution": "NodeNext", // Align with module setting
|
||
|
|
"outDir": "./dist",
|
||
|
|
"rootDir": "./src",
|
||
|
|
// Strictest settings (some might be implied by strict: true)
|
||
|
|
"strict": true,
|
||
|
|
"noImplicitAny": true,
|
||
|
|
"strictNullChecks": true,
|
||
|
|
"strictFunctionTypes": true,
|
||
|
|
"strictBindCallApply": true,
|
||
|
|
"strictPropertyInitialization": true, // Might require constructor initialization or definite assignment assertion (!)
|
||
|
|
"noImplicitThis": true,
|
||
|
|
"useUnknownInCatchVariables": true,
|
||
|
|
"alwaysStrict": true,
|
||
|
|
"noUnusedLocals": true,
|
||
|
|
"noUnusedParameters": true,
|
||
|
|
"exactOptionalPropertyTypes": true,
|
||
|
|
"noImplicitReturns": true,
|
||
|
|
"noFallthroughCasesInSwitch": true,
|
||
|
|
"noUncheckedIndexedAccess": true, // Can be noisy, but safer
|
||
|
|
"noImplicitOverride": true,
|
||
|
|
"noPropertyAccessFromIndexSignature": true, // Good for preventing errors with index signatures
|
||
|
|
"allowJs": false,
|
||
|
|
"resolveJsonModule": true,
|
||
|
|
"moduleDetection": "force",
|
||
|
|
"isolatedModules": true,
|
||
|
|
// Other settings
|
||
|
|
"esModuleInterop": true,
|
||
|
|
"skipLibCheck": true, // Keep skipping lib check for faster builds
|
||
|
|
"forceConsistentCasingInFileNames": true,
|
||
|
|
"types": ["node", "vitest/globals"]
|
||
|
|
},
|
||
|
|
"include": ["src/**/*"], // Only include source files for the main build
|
||
|
|
"declaration": true,
|
||
|
|
"sourceMap": true,
|
||
|
|
"removeComments": false,
|
||
|
|
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts", "**/*.bench.ts"]
|
||
|
|
}
|