{
  "extends": "@tsconfig/strictest/tsconfig.json",
  "compilerOptions": {
    "module": "Node16",
    "lib": [
      "ES2023"
    ],
    "target": "ES2022",
    // inline source maps stay better in sync with the source, which should aid with watchers.
    // "sourceMap": true,
    "inlineSourceMap": true,
    "incremental": true,
    "composite": true,
    "declarationMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "noImplicitAny": true,
    "useUnknownInCatchVariables": true,
    // This is not desirable, as it's useful in generators.
    "noImplicitReturns": false,
    "noImplicitThis": true,
    "resolveJsonModule": true,
    "moduleResolution": "Node16",
    "noErrorTruncation": true,
    "forceConsistentCasingInFileNames": true,
    "rewriteRelativeImportExtensions": true,
    "allowImportingTsExtensions": true
  },
  "watchOptions": {
    // Use native file system events for files and directories
    // This actually detect changes in parent directories ... not great!
    // however it seems that the response is very fast on the non-related projects figuring out their files are unchanged...
    "watchFile": "useFsEvents",
    "watchDirectory": "useFsEvents",
    //     // Poll files for updates more frequently
    //     // when they're updated a lot.
    "fallbackPolling": "dynamicPriority",
    "excludeDirectories": [
      "**/node_modules",
      "**/dist",
      "**/.build",
      "**/.git",
      "**/.data",
      "**/.logs",
      "**/.*"
    ],
    "excludeFiles": [
      "**/*.tmp",
      "openapi.json",
      "*.json"
    ]
  },
  "files": [],
  "include": [],
  "exclude": [
    "**/node_modules",
    "**/build",
    "**/dist",
    "**/.*"
  ]
}
