{
  "compilerOptions": {
    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
    "target": "ES2020",
    "useDefineForClassFields": true,
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "skipLibCheck": true,

    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "isolatedModules": true,
    "moduleDetection": "force",
    "noEmit": true,
    "jsx": "react-jsx",

    /* Linting */
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true,
    "noUncheckedSideEffectImports": true
  },
  // vitest.setup.ts is listed so its `@testing-library/jest-dom/vitest` import is part of this
  // program. That import is what augments vitest's Assertion type with toBeInTheDocument and the
  // rest; the matchers were always registered at runtime, but with the setup file outside "src"
  // the compiler never saw the augmentation and reported 786 phantom errors across the tests.
  // _TESTS is the test tree, moved out of src so it never reaches the plugin ZIP. It stays in this
  // program: a test that does not compile is a broken test, and leaving it out would drop 816 files
  // out of the type ratchet while the count went DOWN and read as an improvement.
  "include": ["src", "_TESTS", "vitest.setup.ts"]
}
