{
  "compilerOptions": {
    /* Basic Options */
    "target": "es2019", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
    "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
    "allowJs": true, /* Allow javascript files to be compiled. */
    "checkJs": false, /* Report errors in .js files. */
    "declaration": false, /* Temporary disabled - generates corresponding '.d.ts' file. */
    "declarationMap": false, /* Generates a sourcemap for each corresponding '.d.ts' file. */
    "inlineSourceMap": true, /* Generates corresponding '.map' file. */
    "outDir": "../../.ts-out/polygerrit-ui/app", /* Not used in bazel. Redirect output structure to the directory. */
    "rootDir": ".", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
    "removeComments": false, /* Emit comments to output*/

    /* Strict Type-Checking Options */
    "strict": true, /* Enable all strict type-checking options. */
    "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
    "strictNullChecks": true, /* Enable strict null checks. */
    "strictFunctionTypes": true, /* Enable strict checking of function types. */
    "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
    "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
    "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */

    /* Additional Checks */
    "noUnusedLocals": true, /* Report errors on unused locals. */
    "noUnusedParameters": true, /* Report errors on unused parameters. */
    "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
    "noImplicitOverride": true,
    "noFallthroughCasesInSwitch": true,/* Report errors for fallthrough cases in switch statement. */

    "skipLibCheck": true, /* Do not check node_modules */

    /* Module Resolution Options */
    "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
    "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
    "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */

    /* Advanced Options */
    "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
    "incremental": true,
    "experimentalDecorators": true,

    "allowUmdGlobalAccess": true,

    /* We cannot just use the defaults, because of "webworker". */
    "lib": [
      "dom",
      "dom.iterable",
      "es2019",
      "webworker"
    ],

    /* typeRoots for IDE (see tsconfig_bazel.json for Bazel) */
    "typeRoots": [
      "node_modules/@types",
      "../node_modules/@types"
    ],

    "plugins": [
      {
        "name": "ts-lit-plugin",
        "strict": true,
        "rules": {
          "no-unknown-tag-name": "error",
          "no-unclosed-tag": "error",
          "no-unknown-property": "error",
          "no-unintended-mixed-binding": "error",
          "no-invalid-boolean-binding": "error",
          "no-expressionless-property-binding": "error",
          "no-noncallable-event-binding": "error",
          "no-boolean-in-attribute-binding": "error",
          "no-complex-attribute-binding": "error",
          "no-nullable-attribute-binding": "error",
          "no-incompatible-type-binding": "error",
          "no-invalid-directive-binding": "error",
          "no-incompatible-property-type": "error",
          "no-unknown-property-converter": "error",
          "no-invalid-attribute-name": "error",
          "no-invalid-tag-name": "error"
        }
      }
    ]
  },
  // With the * pattern (without an extension), only supported files
  // are included. The supported files are .ts, .tsx, .d.ts.
  // If allowJs is set to true, .js and .jsx files are included as well.
  // Note: gerrit doesn't have .tsx and .jsx files
  "include": [
    // Items below must be in sync with the src_dirs list in the BUILD file
    // Also items must be in sync with tsconfig_bazel.json, tsconfig_bazel_test.json
    // (include and exclude arrays are overridden when extends)
    "api/**/*",
    "constants/**/*",
    "elements/**/*",
    "embed/**/*",
    "gr-diff/**/*",
    "mixins/**/*",
    "models/**/*",
    "scripts/**/*",
    "services/**/*",
    "styles/**/*",
    "types/**/*",
    "utils/**/*",
    "test/**/*",
    "workers/**/*"
  ]
}
