{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "lib": ["ES2023", "DOM", "DOM.Iterable"],
    // "vite/client" declares import.meta.env and the asset/query imports Vite
    // resolves, such as `import sheet from './x.css?inline'`.
    "types": ["node", "vite/client"],

    // Lit's decorators are the TypeScript "experimental" flavour. The standard
    // decorator proposal is NOT usable here yet: bundlers currently emit
    // `@dec accessor x` untransformed, which no browser can parse. Leave these
    // two options exactly as they are unless you have verified your bundler
    // lowers standard decorators.
    "experimentalDecorators": true,
    "useDefineForClassFields": false,

    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noUncheckedIndexedAccess": true,
    "noImplicitOverride": true,
    "noFallthroughCasesInSwitch": true,
    "exactOptionalPropertyTypes": true,

    "isolatedModules": true,
    "verbatimModuleSyntax": true,
    "moduleDetection": "force",
    "resolveJsonModule": true,
    "allowJs": true,
    "skipLibCheck": true,

    "noEmit": true,
    "sourceMap": true
  },
  "include": ["src", "*.config.ts", "*.config.mjs", "server"]
}
