{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ESNext",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "strict": true,
    "outDir": "dist/esm",
    "rootDir": "src",
    "declaration": true,
    "declarationDir": "dist/types",
    "emitDeclarationOnly": false,
    "sourceMap": false,
    "pretty": true,
    "baseUrl": ".",
    "typeRoots": [
      "node_modules/@types",
      "src/types"
    ],
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitAny": true,
    "noImplicitThis": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictBindCallApply": true,
    "allowSyntheticDefaultImports": true
  },
  "include": [
    "src/**/*",
    "index.d.ts"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "**/*.test.ts",
    "coverage"
  ],
  "ts-node": {
    "moduleTypes": {
      "**/*": "mjs"
    }
  }
}