Checkpoint/tsconfig.json
2025-08-02 15:34:04 -05:00

80 lines
No EOL
1.8 KiB
JSON

{
"compilerOptions": {
// Target modern JavaScript
"target": "ES2022",
"module": "ESNext",
"lib": ["ES2022", "DOM"],
"downlevelIteration": true,
// Enable ES modules
"moduleResolution": "node",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
// Output settings - clean separation of source and build
"outDir": "./dist",
"rootDir": "./src",
"preserveConstEnums": true,
"removeComments": false,
// Type checking
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"alwaysStrict": true,
// Additional checks
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
// Interop with JavaScript
"allowJs": false,
"checkJs": false,
"maxNodeModuleJsDepth": 0,
// Emit - minimal output for cleaner project
"declaration": false,
"declarationMap": false,
"sourceMap": false,
"inlineSources": false,
// Advanced
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
// Path mapping for source files
"baseUrl": "./src",
"paths": {
"@utils/*": ["utils/*"],
"@plugins/*": ["plugins/*"],
"@types/*": ["types/*"]
}
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"dist",
".tests",
"pages",
"data",
"db",
"config",
"**/*.js"
],
"ts-node": {
"esm": true,
"experimentalSpecifierResolution": "node"
}
}