{
  "root": true,
  "compilerOptions": {
    "allowJs": false,
    "target": "ES2019",
    "declaration": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "forceConsistentCasingInFileNames": true,
    "strictPropertyInitialization": false, // TODO
    "strict": true,
    "strictNullChecks": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    // eslint already warns about:
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "incremental": true,
    "sourceMap": true,
    "esModuleInterop": true,
    "lib": [
      "ES2019",
      // only used in tests
      "ES2021.WeakRef"
    ]
  },
  "compileOnSave": true
}
