{
  "compilerOptions": {
    "target": "ES2022",
    "lib": ["ES2023", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "moduleResolution": "bundler",
    "jsx": "react-jsx",
    "paths": { "@/*": ["./client/*"] },
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "isolatedModules": true,
    "skipLibCheck": true,
    "noEmit": true,

    // Gradual adoption: existing .js/.jsx still resolve and run untouched
    // (checkJs off = not type-checked), while new/converted .ts/.tsx are checked
    // under full strict mode. Convert file-by-file; nothing breaks in between.
    "allowJs": true,
    "checkJs": false,
    "strict": true,
    "noUncheckedIndexedAccess": true,

    "types": ["vite/client"]
  },
  "include": ["client/**/*"],
  "exclude": ["node_modules", "dist", "client/**/*.test.*"]
}
