{
  "plugins": ["prettier", "@typescript-eslint"],
  "extends": ["react-app", "prettier"],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "./tsconfig.json"
  },
  "settings": {
    "import/resolver": {
      "node": {
        "moduleDirectory": ["node_modules", "src/"]
      },
      "typescript": {
        "alwaysTryTypes": true
      }
    }
  },
  "rules": {
    "react/jsx-filename-extension": "off",
    "no-param-reassign": "off",
    "react/prop-types": "off",
    "react/require-default-props": "off",
    "react/no-array-index-key": "off",
    "react/react-in-jsx-scope": "off",
    "react/jsx-props-no-spreading": "off",
    "import/order": "off",
    "no-console": "off",
    "no-shadow": "off",
    "@typescript-eslint/naming-convention": "off",
    "@typescript-eslint/no-shadow": "off",
    "import/no-cycle": "off",
    "import/no-extraneous-dependencies": "off",
    "jsx-a11y/label-has-associated-control": "off",
    "jsx-a11y/no-autofocus": "off",
    "no-restricted-imports": [
      "error",
      {
        "patterns": ["@mui/*/*/*", "!@mui/material/test-utils/*"]
      }
    ],
    "@typescript-eslint/no-unused-vars": [
      "error",
      {
        "vars": "all",
        "args": "none"
      }
    ],
    "prettier/prettier": [
      "warn",
      {
        "bracketSpacing": true,
        "printWidth": 140,
        "singleQuote": true,
        "trailingComma": "none",
        "tabWidth": 2,
        "useTabs": false,
        "endOfLine": "auto"
      }
    ]
  }
}