{
  "compilerOptions": {
    "target": "es2016",
    "module": "es2020",
    "jsx": "react-jsx",
    "lib": ["es2020", "dom", "dom.iterable"],

    // From Matrix-JS-SDK
    "strict": true,
    "noEmit": true,
    "noEmitOnError": true,
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "noUnusedLocals": true,
    "moduleResolution": "node",
    "declaration": true,
    "resolveJsonModule": true,

    // TODO: Enable the following options later.
    // "forceConsistentCasingInFileNames": true,
    // "noFallthroughCasesInSwitch": true,
    // "noImplicitOverride": true,
    // "noImplicitReturns": true,
    // "noPropertyAccessFromIndexSignature": true,
    // "noUncheckedIndexedAccess": true,
    // "noUnusedParameters": true,

    "plugins": [{ "name": "typescript-eslint-language-service" }]
  },
  "include": [
    "./node_modules/matrix-js-sdk/src/@types/*.d.ts",
    "./src/**/*.ts",
    "./src/**/*.tsx",
    "./test/**/*.ts",
    "./test/**/*.tsx"
  ]
}
