{ "root": true, "env": { "browser": true, "es2020": true }, "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "plugin:react/jsx-runtime", "plugin:import/recommended", "plugin:jsx-a11y/recommended", "prettier" ], "settings": { "ecmaVersion": "latest", "react": { "version": "detect" }, "import/resolver": { "typescript": true } }, "plugins": ["react", "react-hooks", "import", "jsx-a11y", "react-refresh"], "overrides": [ { "files": ["*.ts", "*.tsx"], "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["./tsconfig.json"] }, "extends": [ "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:import/typescript" ], "plugins": ["@typescript-eslint/eslint-plugin"], "rules": { // temporary disable to migrate from airbnb cfg "@typescript-eslint/no-unsafe-enum-comparison": "off", "@typescript-eslint/no-floating-promises": "off", "react/display-name": "off", "import/no-named-as-default": "off", "@typescript-eslint/no-misused-promises": "off", "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-unsafe-assignment": "off", // airbnb cfg "no-shadow": "error", "no-shadow-restricted-names": "error", // dx "@typescript-eslint/no-unused-vars": "warn" } } ] }