{ "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 2020, "sourceType": "module", "ecmaFeatures": { // Allows for the parsing of JSX "jsx": true } }, "settings": { "react": { "version": "detect" }, "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": { "typescript": { "alwaysTryTypes": true } } }, "ignorePatterns": [ "src/types/v3", "src/abis/types", "src/locales/**/*.js", "src/locales/**/en-US.po", "node_modules", "coverage", "build", "dist", ".DS_Store", ".env.local", ".env.development.local", ".env.test.local", ".env.production.local", ".idea/", ".vscode/", "package-lock.json", "yarn.lock" ], "extends": [ "react-app", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended", "prettier/@typescript-eslint", "plugin:prettier/recommended", "plugin:import/typescript" ], "plugins": ["import", "simple-import-sort", "unused-imports"], "rules": { "import/no-unused-modules": [2, { "unusedExports": true }], "unused-imports/no-unused-imports": "error", "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", "@typescript-eslint/explicit-function-return-type": "off", "prettier/prettier": "error", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/ban-ts-ignore": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "react/react-in-jsx-scope": "off", "react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }], "object-shorthand": ["error", "always"], "no-restricted-imports": [ "error", { "paths": [ { "name": "ethers", "message": "Please import from '@ethersproject/module' directly to support tree-shaking." }, { "name": "styled-components", "message": "Please import from styled-components/macro." }, { "name": "@lingui/macro", "importNames": ["t"], "message": "Please use instead of t." } ], "patterns": [ { "group": ["**/dist"], "message": "Do not import from dist/ - this is an implementation detail, and breaks tree-shaking." }, { "group": ["!styled-components/macro"] } ] } ], "@typescript-eslint/no-restricted-imports": [ "error", { "paths": [ { "name": "@ethersproject/providers", "message": "Please only use Providers instantiated in constants/providers to improve traceability.", "allowTypeImports": true } ] } ] } }