{ "env": { "browser": true }, "globals": { "Mousetrap": "readonly" }, "parser": "@typescript-eslint/parser", "parserOptions": { "project": "./tsconfig.json" }, "plugins": ["@typescript-eslint", "jsx-a11y"], "extends": [ "airbnb-typescript", "plugin:import/recommended", "plugin:react/recommended", "plugin:react/jsx-runtime", "airbnb/hooks", "prettier" ], "settings": { "react": { "version": "detect" } }, "ignorePatterns": ["node_modules/", "src/core/generated-graphql.tsx"], "rules": { "@typescript-eslint/no-explicit-any": 2, "@typescript-eslint/naming-convention": [ "error", { "selector": "interface", "format": ["PascalCase"], "custom": { "regex": "^I[A-Z]", "match": true } } ], "lines-between-class-members": "off", "@typescript-eslint/lines-between-class-members": "off", "import/extensions": [ "error", "ignorePackages", { "js": "never", "jsx": "never", "ts": "never", "tsx": "never" } ], "import/named": "off", "import/namespace": "off", "import/no-unresolved": "off", "react/display-name": "off", "react-hooks/exhaustive-deps": [ "error", { "additionalHooks": "^(useDebounce)$" } ], "react/prop-types": "off", "react/style-prop-object": [ "error", { "allow": ["FormattedNumber"] } ], "spaced-comment": [ "error", "always", { "markers": ["/"] } ], "prefer-destructuring": ["error", { "object": true, "array": false }], "@typescript-eslint/no-use-before-define": [ "error", { "functions": false, "classes": true } ], "no-nested-ternary": "off" } }