| 1 | { |
| 2 | "compilerOptions": { |
| 3 | // Environment setup & latest features |
| 4 | "lib": ["ESNext"], |
| 5 | "target": "ESNext", |
| 6 | "module": "ESNext", |
| 7 | "moduleResolution": "node", // Add this for ESM support |
| 8 | "allowJs": true, |
| 9 | "composite": false, |
| 10 | "declaration": true, |
| 11 | "outDir": "./dist", |
| 12 | "noEmit": false, |
| 13 | "allowSyntheticDefaultImports": true, |
| 14 | "esModuleInterop": true, |
| 15 | // Best practices |
| 16 | "strict": true, |
| 17 | "skipLibCheck": true, |
| 18 | "noFallthroughCasesInSwitch": true, |
| 19 | "noUncheckedIndexedAccess": true, |
| 20 | |
| 21 | // Some stricter flags (disabled by default) |
| 22 | "noUnusedLocals": false, |
| 23 | "noUnusedParameters": false, |
| 24 | "noPropertyAccessFromIndexSignature": false, |
| 25 | "baseUrl": ".", |
| 26 | "paths": { |
| 27 | "@/*": ["src/*"] |
| 28 | } |
| 29 | }, |
| 30 | "include": ["src/**/*"], |
| 31 | "exclude": ["node_modules", "dist", "examples/**/*"] |
| 32 | } |