{
  "env": {
    "node": true,
    "es6": true,
    "browser": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:react/recommended",
    "plugin:react-hooks/recommended",
    "plugin:promise/recommended",
    // "plugin:import/recommended",
    "plugin:prettier/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint",
    "react",
    "react-hooks",
    "prettier",
    "promise",
    "jest-dom",
    "testing-library"
    //"import"
  ],
  "globals": {
    "sleep": true,
    "prettyFormat": true
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "parserOptions": {
    "ecmaVersion": 11,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true
    },
    "project": "./tsconfig.json"
  },
  "rules": {
    "@typescript-eslint/no-this-alias": "off",
    "@typescript-eslint/ban-types": "off",
    "no-unused-vars": "off",
    "no-useless-catch": "off",
    "@typescript-eslint/no-unused-vars": "off",
    "no-empty-function": "off",
    "@typescript-eslint/no-empty-function": "off",
    "react/display-name": "off",
    "react/prop-types": "off",
    "no-explicit-any": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/ban-ts-comment": "off",
    "@typescript-eslint/no-var-requires": "off",
    "promise/always-return": "off"
  },
  "overrides": [
    {
      "files": [
        "**/e2e/**/*.{ts,js,tsx,jsx}",
        "**/__e2e__/**/*.{ts,js,tsx,jsx}"
      ],
      "rules": {
        "@typescript-eslint/no-floating-promises": "error"
      }
    },
    {
      "files": [
        "packages/plugins/@hera/**/*.{ts,js,tsx,jsx}",
        "packages/plugins/@hera/**/*.{ts,js,tsx,jsx}"
      ],
      "rules": {
        "eqeqeq": ["error", "smart"]
      }
    }
  ]
}