{
  "env": {
    "browser": true
  },

  "extends": [
    "plugin:import/typescript",
    "plugin:import/errors",
    "airbnb-typescript",
    "@mastermindzh/eslint-config",
    "prettier"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "./tsconfig.json"
  },
  "plugins": [
    "react",
    "jest",
    "@typescript-eslint",
    "simple-import-sort",
    "prettier"
  ],
  "rules": {
    "import/no-extraneous-dependencies": [
      "error",
      {
        "devDependencies": [
          "**/*.test.ts",
          "**/*.test.tsx",
          "**/internal/**/*.ts"
        ]
      }
    ],
    "@typescript-eslint/no-unused-vars": ["off"],
    "@typescript-eslint/no-use-before-define": ["off"],
    "@typescript-eslint/quotes": ["error", "double"],
    "@typescript-eslint/naming-convention": ["error", {
      "format": ["camelCase", "UPPER_CASE", "snake_case", "PascalCase"],
      "leadingUnderscore": "allow",
      "selector": "parameter"
    }],
    "react/static-property-placement": ["off"],
    "react/prop-types": ["off"],
    "no-shadow": "off",
    "@typescript-eslint/no-shadow": ["error"]
  },
  "settings": {
    "import/resolver": {
      "typescript": {}
    }
  }
}