{
  "compilerOptions": {
    "allowJs": true,

    // Needed for some npm packages
    "allowSyntheticDefaultImports": true,

    "checkJs": true,
    "lib": ["es2020", "dom", "dom.iterable"],
    "jsx": "react-jsx",
    "jsxImportSource": "preact",
    "module": "es2020",
    "moduleResolution": "node",
    "noEmit": true,
    "strict": true,
    "target": "ES2020",

    // Let argument to catch statement be `any` rather than `unknown`.
    "useUnknownInCatchVariables": false,

    // Prevent automatic inclusion of global variables defined in `@types/<name>` packages.
    // This prevents eg. Node globals from `@types/node` being included when writing
    // code for the browser.
    // "types": ["redux-thunk/extend-redux"]
  },
  "include": ["**/*.js", "**/*.ts", "**/*.tsx", "types/*.d.ts"],
  "exclude": [
    // Tests are not checked.
    "**/test/**/*.js",
    "test-util/**/*.js",
    "karma.config.js"
  ]
}
