{
  "extends": [
    "airbnb-typescript",
    "airbnb/hooks",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier/react",
    "prettier/@typescript-eslint"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 2018,
    "project": "tsconfig.json",
    "sourceType": "module"
  },
  "plugins": [
    "eslint-plugin-import-helpers"
  ],
  "rules": {
    "linebreak-style":"off",
    "@typescript-eslint/ban-ts-comment": "off",
    "@typescript-eslint/no-empty-interface": ["error", {
        "allowSingleExtends": true
      }
    ],
    "@typescript-eslint/no-explicit-any": "off",
    "comma-dangle": "off",
    "global-require": "off",
    "import-helpers/order-imports": ["error", {
      "alphabetize": {
        "ignoreCase": true,
        "order": "asc"
      },
      "groups": [
        "/^react/",
        "module",
        ["parent", "sibling", "index"]
      ],
      "newlinesBetween": "always"
    }],
    "max-len": ["error", {
      "code": 130
    }],
    "no-multiple-empty-lines": ["error", {
      "max": 1
    }],
    "react/destructuring-assignment": ["warn", "always", {
      "ignoreClassFields": true
    }],
    "react/jsx-max-props-per-line": ["error", {
      "maximum": 3
    }],
    "react/jsx-props-no-spreading": ["error", {
      "custom": "ignore"
    }],
    "react/jsx-sort-props": ["error", {
      "ignoreCase": true
    }],
    "react/jsx-uses-react": "off",
    "react/prop-types": "off",
    "react/react-in-jsx-scope": "off",
    "react/state-in-constructor": ["error", "never"],
    "semi": "error",
    "sort-imports": ["error", {
      "ignoreCase": true,
      "ignoreDeclarationSort": true
    }]
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  }
}
