{
  "$schema": "https://json.schemastore.org/tsconfig.json",
  "compilerOptions": {
    /* Language and Environment */
    "target": "ESNext",
    "lib": ["ESNext", "DOM"],
    "skipLibCheck": true,

    /* Modules */
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "moduleDetection": "force",
    "verbatimModuleSyntax": true,
    "isolatedModules": true,
    "noUncheckedSideEffectImports": true,
    "erasableSyntaxOnly": true,

    /* Type Checking */
    "strict": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noPropertyAccessFromIndexSignature": true,
    "noUncheckedIndexedAccess": true,
    "allowUnreachableCode": false,
    "exactOptionalPropertyTypes": true
  },
  "include": ["src", "exports", "test"]
}