{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ESNext",
    "moduleResolution": "node",
    "lib": ["ES2022"],
    "outDir": "./dist",
    "strict": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "declaration": true,
    "sourceMap": true
  },
  // `functions/` as well as `src/`, because this flavour has nothing in src:
  // it declares no collections, so there is no generated schema, and the server
  // entrypoint lives behind `rebase eject`. An include matching only an empty
  // directory is TS18003 — tsc reports "no inputs" as an error, not a no-op.
  //
  // No `rootDir`: it would have to be `.` for both, and letting tsc infer the
  // common root gets there without a second place to keep in sync.
  //
  // `crons/` too: `rebase build` compiles it through a generated tsconfig, but
  // an ejected project builds with *this* file, so leaving it out meant an
  // ejected server had no compiled jobs to load and silently stopped running
  // every schedule.
  "include": ["src/**/*", "functions/**/*", "crons/**/*"]
}
