{ "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" } }