{
  "root": true,
  "env": {
    "es6": true,
    "node": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:prettier/recommended"
  ],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2019,
    "sourceType": "module"
  },
  "plugins": ["@typescript-eslint", "jest", "prettier", "simple-import-sort"],
  "rules": {
    "@typescript-eslint/no-use-before-define": ["error", { "functions": false }],
    "simple-import-sort/sort": "error"
  },
  "overrides": [
    {
      "files": "**/*.ts",
      "plugins": ["jsdoc"],
      "extends": [
        "plugin:@typescript-eslint/recommended",
        "plugin:jest/recommended",
        "plugin:jest/style",
        "prettier/@typescript-eslint"
      ],
      "rules": {
        "jsdoc/no-types": "error"
      }
    }
  ]
}
