{
  "parser": "@typescript-eslint/parser",
  "plugins": ["jsdoc", "@typescript-eslint"],
  "parserOptions": {
    "ecmaVersion": 2020,
    "project": ["tsconfig.json"],
    "sourceType": "module"
  },
  "env": {
    "browser": true,
    "jest": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:jsdoc/recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  "rules": {
    "no-bitwise": 1,

    "@typescript-eslint/no-explicit-any": 1,
    "@typescript-eslint/no-floating-promises": 1,
    "@typescript-eslint/no-non-null-assertion": 1,
    "@typescript-eslint/require-await": 1,

    "jsdoc/require-description": 1,
    "jsdoc/require-param-type": 0,
    "jsdoc/require-property-type": 0,
    "jsdoc/require-returns-type": 0,
    "jsdoc/require-throws": 1
  }
}
