{ "env": { "browser": true, "es2021": true }, "settings": { "react": { "version": "detect" }, "import/resolver": { "alias": { "map": [["~", "./src"]], "extensions": [".js",".ts",".tsx", ".d.ts", ".json"] } } }, "extends": [ "airbnb", "eslint:recommended", "plugin:react/recommended", "plugin:react/recommended", "plugin:jest/recommended", "plugin:prettier/recommended", "plugin:@typescript-eslint/recommended" ], "overrides": [], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "plugins": ["react", "@typescript-eslint", "jest", "prettier"], "rules": { "object-curly-spacing": ["error", "always"], "import/extensions": [ "error", "ignorePackages", { "js": "never", "jsx": "never", "ts": "never", "tsx": "never" } ], "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], "class-methods-use-this": "off", "import/no-import-module-exports": "off", "react/require-default-props": "off", "import/prefer-default-export": "off", "jsx-a11y/click-events-have-key-events": "off", "jsx-a11y/no-static-element-interactions": "off", "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/no-shadow": "error", "no-shadow": "off", "no-return-await": "off", "import/order": [ "error", { "pathGroups": [ { "pattern": "~/**", "group": "external" } ] } ], "prettier/prettier": [ "error", { "usePrettierrc": true, "jsxSingleQuote": true, "singleQuote": true, "endOfLine": "auto" } ], "jest/valid-title": "off", "react/button-has-type": "off", "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }], "react/react-in-jsx-scope": "off", "@typescript-eslint/no-namespace": "off" } }