{ "parser": "babel-eslint", "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:import/errors", "plugin:import/warnings", "plugin:react-hooks/recommended" ], "overrides": [ { "files": [ "*.ts", "*.tsx" ], // Your TypeScript files extension "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "plugin:import/errors", "plugin:import/warnings" ], "plugins": [ "deprecation", "@typescript-eslint", "jest" ], "rules": { "@typescript-eslint/explicit-module-boundary-types": "off", "import/no-named-as-default": "off", "deprecation/deprecation": "warn" }, "parserOptions": { "project": "./tsconfig.json", "ecmaVersion": 2020, "sourceType": "module" // Allows for the use of imports } } ], "plugins": [ "@typescript-eslint", "jest" ], "rules": { "strict": 0, "camelcase": 0, "no-console": "warn", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "no-trailing-spaces": [ "error", { "skipBlankLines": true } ], "no-unused-vars": "error", "no-multiple-empty-lines": [ "error", { "max": 1, "maxEOF": 1 } ], "no-param-reassign": [ "error", { "props": false } ], "one-var": [ "error", { "initialized": "never", "uninitialized": "always" } ], "space-unary-ops": "error", "import/no-extraneous-dependencies": [ 0, { "extensions": [ ".jsx" ] } ], // "import/no-useless-path-segments": "error", "import/prefer-default-export": 0, "import/order": [ "error", { "groups": [ "builtin", "external", "parent", "sibling", "index" ], "pathGroups": [ { "pattern": "features/components/templates/layout", "group": "parent", "position": "after" }, { "pattern": "features/components/quill/quill-layout", "group": "parent", "position": "after" } ], "newlines-between": "never" } ], "react/sort-prop-types": [ "error", { "ignoreCase": true, "sortShapeProp": true } ], "jest/no-disabled-tests": "warn", "jest/no-focused-tests": "error", "jest/no-identical-title": "error", "jest/prefer-to-have-length": "warn", "jest/valid-expect": "error", "react/react-in-jsx-scope": "off" }, "env": { "es6": true, "browser": true, "amd": true, "node": true, "jest": true }, "settings": { "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": { "typescript": { "project": ["tsconfig.json", "themes/gatsby-theme-deriv/tsconfig.json"] }, "node": { "project": ["tsconfig.json", "themes/gatsby-theme-deriv/tsconfig.json"] } } } }