{
  "compilerOptions": {
    "module": "nodenext",
    "moduleResolution": "nodenext",
    "resolvePackageJsonExports": true,
    "esModuleInterop": true,
    "isolatedModules": true,
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ES2023",
    "sourceMap": true,
    "outDir": "./dist",
    // TypeScript 6 requires the layout anchor to be explicit (TS5011). The build config narrows
    // this to ./src; here it spans src + test for ts-jest and the editor.
    "rootDir": ".",
    "incremental": true,
    "skipLibCheck": true,
    // TypeScript 6 no longer auto-includes every node_modules/@types package: the globals the
    // project relies on must be listed. node covers src; jest covers the colocated *.spec.ts.
    "types": ["node", "jest"],
    // The whole strict family, which is also TypeScript 6's own default. Entity and DTO properties
    // the framework populates carry `!`, since no constructor assigns them.
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true
  },
  "exclude": ["node_modules", "dist", "dashboard"],
  "include": ["src", "test"]
}
