{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "outDir": "./dist",
    /* https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping */
    "target": "es2022",
    "moduleResolution": "nodenext",
    "module": "nodenext",
    "sourceMap": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "noUnusedLocals": true,
    "noImplicitOverride": true,
    "experimentalDecorators": true,
    "useUnknownInCatchVariables": false /* we aren't prepared for enabling this by default since ts 4.4*/,
    "isolatedModules": true /* required for esbuild */,
    "lib": ["es2023"],
    "types": ["node", "vitest/globals"],
    "checkJs": true,
    "skipLibCheck": true, // https://github.com/vitejs/vite/discussions/12466#discussioncomment-7596971
    "paths": {
      "~test/*": ["./test/*"]
    }
  },
  "include": ["**/*.mts", "**/*.ts", "**/*.js", "**/*.mjs", "**/*.cjs"],
  "exclude": [
    "node_modules",
    "./.cache",
    "./dist",
    "./.pnpm-store/",
    "./.venv/",
    "**/__mocks__/*",
    "**/__fixtures__/*",
    "coverage",
    "config.js",
    "tmp",
    "tools/mkdocs/docs",
    "tools/mkdocs/site"
  ],
  "ts-node": {
    "transpileOnly": true,
    "esm": false
  }
}
