{
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended-type-checked",
    "plugin:react/recommended",
    "prettier"
  ],
  "plugins": ["import", "react", "react-hooks", "@typescript-eslint"],
  "rules": {
    "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }],
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
    "semi": 2,
    "no-console": "off",
    "no-control-regex": "off",
    "react/prop-types": 0,
    "react/no-unescaped-entities": "off",
    "no-unused-vars": "off",
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "warn",
    "max-lines": ["warn", { "max": 500 }],
    "react/display-name": 0
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2022,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true
    }
  },
  "globals": {
    "UE": true
  },
  "env": {
    "browser": true,
    "node": true,
    "es6": true,
    "serviceworker": true
  },
  "settings": {
    "react": {
      "version": "18"
    },
    "import/extensions": [".js", ".jsx", ".ts", ".tsx"],
    "import/parsers": {
      "@typescript-eslint/parser": [".ts", ".tsx"]
    },
    "import/resolver": {
      "node": {
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      }
    }
  }
}
