{ "env": { "browser": true, "shared-node-browser": true, "es6": true, "node": true }, "extends": [ "prettier", "prettier/react", "prettier/@typescript-eslint", "plugin:prettier/recommended", "plugin:react-hooks/recommended", "plugin:import/errors", "plugin:import/warnings", "prettier", "prettier/react", "prettier/@typescript-eslint", "plugin:storybook/recommended" ], "plugins": ["@typescript-eslint", "react", "prettier", "react-hooks", "import"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "ecmaVersion": 2018, "jsx": true }, "sourceType": "module" }, "rules": { "curly": ["error", "multi-line", "consistent"], "no-console": "off", "no-empty-pattern": "error", "no-duplicate-imports": "error", "prefer-const": "error", "import/no-unresolved": ["error", { "commonjs": true, "amd": true }], "import/export": "error", // https://github.com/typescript-eslint/typescript-eslint/blob/master/docs/getting-started/linting/FAQ.md#eslint-plugin-import // We recommend you do not use the following import/* rules, as TypeScript provides the same checks as part of standard type checking: "import/named": "off", "import/no-named-as-default": "off", "import/no-named-as-default-member": "off", "import/namespace": "off", "import/default": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "no-unused-vars": ["off"], "react/jsx-uses-react": "error", "react/jsx-uses-vars": "error", "react-hooks/exhaustive-deps": "off", "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }], "@typescript-eslint/no-use-before-define": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-interface": "off", "@typescript-eslint/no-explicit-any": "off" }, "settings": { "react": { "version": "detect" }, "import/extensions": [".js", ".jsx", ".ts", ".tsx"], "import/parsers": { "@typescript-eslint/parser": [".js", ".jsx", ".ts", ".tsx"] }, "import/resolver": { "node": { "extensions": [".js", ".jsx", ".ts", ".tsx", ".json"], "paths": ["src"] } } }, "overrides": [ { "files": ["src"], "parserOptions": { "project": ["./tsconfig.json", "./storybook/tsconfig.json"] } } ] }