{
  "include": ["src/**/*", "mock-server/**/*", "scripts/**/*"],
  "compilerOptions": {
    // output ES version and module resolutions
    "target": "esnext",
    "module": "es2022",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,

    // jsx function and import source
    "jsx": "react-jsx",

    // strict mode
    "strict": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,

    // decorators
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,

    // emit
    "outDir": ".output",
    "sourceMap": true,
    "declaration": true,
    "importHelpers": true,

    // misc
    "skipLibCheck": true,
    "preserveSymlinks": true,
    "allowJs": true
  },
  "typeAcquisition": {
    "include": ["jest"]
  }
}
