{
    "env": {
      "es2021": true,
      "browser": true
    },
    "extends": [
      "airbnb-base",
      "airbnb-typescript",
      "plugin:@typescript-eslint/recommended",
      "eslint-config-prettier",
      "plugin:cypress/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "ecmaVersion": 12,
      "sourceType": "module",
      "project": ["./tsconfig.json"]
    },
    "plugins": ["@typescript-eslint"],
    "rules": {
      "import/no-unresolved": ["off"],
      "import/prefer-default-export": ["off"],
      "no-useless-constructor": "off",
      "@typescript-eslint/no-useless-constructor": ["error"],
      "@typescript-eslint/lines-between-class-members": ["off"],
      "no-param-reassign": ["off"],
      "max-classes-per-file": ["off"],
      "no-shadow": ["off"],
      "class-methods-use-this": ["off"],
      "react/jsx-filename-extension": ["off"],
      "import/no-cycle": ["off"],
      "radix": ["off"],
      "no-promise-executor-return": ["off"],
      "@typescript-eslint/naming-convention": [
        "error",
        {
          "selector": "enumMember",
          "format": ["UPPER_CASE", "PascalCase"]
        }
      ],
      "no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"],
      "spaced-comment": ["off"],
      "import/no-extraneous-dependencies": ["error", { "devDependencies": true }]
    }
  }