{
  "$schema": "https://json.schemastore.org/tsconfig",

  "compilerOptions": {
    "composite": true,
    "declaration": true,
    "declarationMap": true,
    "incremental": true,
    "forceConsistentCasingInFileNames": true,
    "inlineSources": false,
    // "allowJs": true,
    "preserveWatchOutput": true,
    "sourceMap": true,
    "target": "es2022",
    "module": "esnext",
    "lib": ["es2023", "DOM", "DOM.Iterable"],
    "skipLibCheck": true,
    "useDefineForClassFields": false,
    "rootDir": ".",
    "outDir": "dist",
    "tsBuildInfoFile": "dist/.tsbuildinfo",

    /* Bundler mode */
    "moduleResolution": "bundler",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "types": ["node"],

    /* Linting */
    "strict": true,
    "noUnusedLocals": false,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true
  },
  "include": ["src/**/*.ts", "src/**/*.json"]
}
