{ "extends": [ "plugin:mattermost/react", "plugin:cypress/recommended", "plugin:jquery/deprecated" ], "plugins": [ "babel", "mattermost", "import", "cypress", "jquery", "no-only-tests" ], "parser": "@typescript-eslint/parser", "env": { "jest": true, "cypress/globals": true }, "settings": { "import/resolver": "webpack", "react": { "pragma": "React", "version": "detect" } }, "rules": { "no-unused-expressions": 0, "babel/no-unused-expressions": 2, "eol-last": ["error", "always"], "import/no-unresolved": 2, "import/order": [ 2, { "newlines-between": "always-and-inside-groups", "groups": [ "builtin", "external", [ "internal", "parent" ], "sibling", "index" ] } ], "no-undefined": 0, "react/jsx-filename-extension": 0, "react/prop-types": [ 2, { "ignore": [ "location", "history", "component" ] } ], "react/no-string-refs": 2, "no-only-tests/no-only-tests": ["error", {"focus": ["only", "skip"]}] }, "overrides": [ { "files": ["**/*.tsx", "**/*.ts"], "extends": [ "plugin:@typescript-eslint/recommended" ], "rules": { "import/no-unresolved": 0, // ts handles this better "camelcase": 0, "@typescript-eslint/naming-convention": [ 2, { "selector": "function", "format": ["camelCase", "PascalCase"] }, { "selector": "variable", "format": ["camelCase", "PascalCase", "UPPER_CASE"] }, { "selector": "parameter", "format": ["camelCase", "PascalCase"], "leadingUnderscore": "allow" }, { "selector": "typeLike", "format": ["PascalCase"] } ], "@typescript-eslint/no-non-null-assertion": 0, "@typescript-eslint/no-unused-vars": [ 2, { "vars": "all", "args": "after-used" } ], "@typescript-eslint/no-var-requires": 0, "@typescript-eslint/no-empty-function": 0, "@typescript-eslint/prefer-interface": 0, "@typescript-eslint/explicit-function-return-type": 0, "@typescript-eslint/indent": [ 2, 4, { "SwitchCase": 0 } ], "@typescript-eslint/no-use-before-define": [ 2, { "classes": false, "functions": false, "variables": false } ], "react/jsx-filename-extension": 0 } }, { "files": ["tests/**", "**/*.test.*"], "env": { "jest": true }, "rules": { "func-names": 0, "global-require": 0, "new-cap": 0, "prefer-arrow-callback": 0, "no-import-assign": 0 } }, { "files": ["e2e/**"], "rules": { "func-names": 0, "import/no-unresolved": 0, "max-nested-callbacks": 0, "no-process-env": 0, "babel/no-unused-expressions": 0, "no-unused-expressions": 0, "jquery/no-ajax": 0, "jquery/no-ajax-events": 0, "jquery/no-animate": 0, "jquery/no-attr": 0, "jquery/no-bind": 0, "jquery/no-class": 0, "jquery/no-clone": 0, "jquery/no-closest": 0, "jquery/no-css": 0, "jquery/no-data": 0, "jquery/no-deferred": 0, "jquery/no-delegate": 0, "jquery/no-each": 0, "jquery/no-extend": 0, "jquery/no-fade": 0, "jquery/no-filter": 0, "jquery/no-find": 0, "jquery/no-global-eval": 0, "jquery/no-grep": 0, "jquery/no-has": 0, "jquery/no-hide": 0, "jquery/no-html": 0, "jquery/no-in-array": 0, "jquery/no-is-array": 0, "jquery/no-is-function": 0, "jquery/no-is": 0, "jquery/no-load": 0, "jquery/no-map": 0, "jquery/no-merge": 0, "jquery/no-param": 0, "jquery/no-parent": 0, "jquery/no-parents": 0, "jquery/no-parse-html": 0, "jquery/no-prop": 0, "jquery/no-proxy": 0, "jquery/no-ready": 0, "jquery/no-serialize": 0, "jquery/no-show": 0, "jquery/no-size": 0, "jquery/no-sizzle": 0, "jquery/no-slide": 0, "jquery/no-submit": 0, "jquery/no-text": 0, "jquery/no-toggle": 0, "jquery/no-trigger": 0, "jquery/no-trim": 0, "jquery/no-val": 0, "jquery/no-when": 0, "jquery/no-wrap": 0 } } ] }