{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint", "prettier"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "eslint-config-ali/typescript/react",
    "prettier",
    "plugin:prettier/recommended"
  ],
  "parserOptions": {
    "ecmaVersion": 8,
    "requireConfigFile": false,
    "ecmaFeatures": {
      "experimentalObjectRestSpread": true,
      "impliedStrict": true,
      "classes": true
    }
  },
  "rules": {
    "prettier/prettier": "error",
    "strict": "off",
    "no-console": "off",
    "import/no-dynamic-require": "off",
    "@typescript-eslint/no-use-before-define": "error",
    "no-useless-escape": 0,
    "no-unsafe-optional-chaining": "off",
    "no-empty-pattern": "off",
    "global-require": "off",
    "require-yield": "off",
    "no-shadow": "off",
    "react/jsx-key": "warn",
    "complexity": ["warn", { "max": 200 }],
    "no-param-reassign": "off",
    "react/prop-types": "off",
    // 'react/jsx-indent': 'off',
    "no-nested-ternary": 0,
    "@typescript-eslint/ban-ts-comment": "off",
    "generator-star-spacing": "off"
  }
}
