{ "env": { "browser": true, "es2021": true }, "extends": [ "plugin:react/recommended", "airbnb", "plugin:@typescript-eslint/recommended", "prettier", "plugin:prettier/recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 12, "sourceType": "module" }, "plugins": ["react", "@typescript-eslint", "react-hooks"], "rules": { "class-methods-use-this": "off", "no-use-before-define": "off", "no-restricted-syntax": "off", "no-warning-comments": 1, "semi": [2, "always"], "@typescript-eslint/no-use-before-define": ["error"], "react/jsx-filename-extension": [ "warn", { "extensions": [".tsx"] } ], "import/extensions": [ "error", "ignorePackages", { "ts": "never", "tsx": "never" } ], "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"], "@typescript-eslint/explicit-function-return-type": [ "error", { "allowExpressions": true } ], "max-len": [ "warn", { "code": 80 } ], "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "import/prefer-default-export": "off", "react/prop-types": "off" }, "settings": { "import/resolver": { "typescript": {} } } }