| 1 | { |
| 2 | "compilerOptions": { |
| 3 | // Environment setup & latest features |
| 4 | "lib": ["ESNext", "DOM", "DOM.Iterable"], |
| 5 | "target": "ESNext", |
| 6 | "module": "ESNext", |
| 7 | "moduleDetection": "force", |
| 8 | "jsx": "react-jsx", |
| 9 | "allowJs": true, |
| 10 | |
| 11 | // Path resolution |
| 12 | "baseUrl": "./", |
| 13 | "paths": { |
| 14 | "@server/*": ["./server/src/*"], |
| 15 | "@client/*": ["./client/src/*"], |
| 16 | "@shared/*": ["./shared/src/*"] |
| 17 | }, |
| 18 | |
| 19 | // Module resolution |
| 20 | "moduleResolution": "bundler", |
| 21 | "allowSyntheticDefaultImports": true, |
| 22 | "esModuleInterop": true, |
| 23 | "verbatimModuleSyntax": true, |
| 24 | |
| 25 | // Strictness and best practices |
| 26 | "strict": true, |
| 27 | "forceConsistentCasingInFileNames": true, |
| 28 | "noFallthroughCasesInSwitch": true, |
| 29 | "noUncheckedIndexedAccess": true, |
| 30 | "experimentalDecorators": true, |
| 31 | |
| 32 | // Output control |
| 33 | "skipLibCheck": true, |
| 34 | |
| 35 | // Optional strict flags (disabled by default) |
| 36 | "noUnusedLocals": false, |
| 37 | "noUnusedParameters": false, |
| 38 | "noPropertyAccessFromIndexSignature": false |
| 39 | } |
| 40 | } |