tsconfig.json•1.74 kB
{
"compilerOptions": {
// Target modern JavaScript
"target": "ES2022",
// Use modern Node.js module system
"module": "NodeNext",
"moduleResolution": "NodeNext",
// Enable all strict type checking
"strict": true,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
// Module interop for CommonJS compatibility
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
// Output configuration
"outDir": "./dist",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
// Import helpers to reduce bundle size
"importHelpers": true,
// Skip type checking of declaration files
"skipLibCheck": true,
// Ensure consistent file naming
"forceConsistentCasingInFileNames": true,
// Enable experimental decorators if needed
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
// Node.js specific
"lib": ["ES2022"],
"types": [
"bun-types",
"node",
"reflect-metadata",
"@cloudflare/workers-types"
],
// Error on unused locals and parameters
"noUnusedLocals": true,
"noUnusedParameters": true,
// Ensure void returns are handled
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
// Modern resolution features
"resolveJsonModule": true,
"allowJs": false,
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
"tests/*": ["tests/*"]
}
},
"include": ["src/**/*", "tests/**/*"],
"exclude": ["node_modules", "dist", "**/*.spec.ts"],
"ts-node": {
"esm": true,
"experimentalSpecifierResolution": "node"
}
}