* replace inside of comp/withtooltip * remove overlay trigger eslint rl * update location of prev migrated new tooltips * copy button * shared_channel_indicator, shared_user_indicator.tsx, size_aware_image * actions_menu, old_admin_settings, schema_admin_settings, admin_settings * billing_summary, brand_image_setting, edit_section_edit_table_row, elapsed_duration_cell * permissions_scheme_summary,secure_connections/controls,system_users_column_toggler_menu,system_users_export,group/group_users/users_to_remove_groups * team_profile,user_grid_role_dropdown,priority_labels,toggle_formatting_bar,use_emoji_picker,formatting_icon * show_formatting,alert_banner others * more * snap fix * add disabled prop to menu * test fix for avatar feat: Add id to WithTooltip in Avatars component to fix test failures * combine refs in withtooltip * channel header title favorite test fix * priority label comp changes * types check for children * Update avatar.tsx * e2e fixes * fix E2E tests * Remove memo from WithTooltip I found that the web app leaks a fair bit less memory when this is removed. See https://community.mattermost.com/core/pl/gwyyoww9gtbg8fddoic9meq84y for more information * e2e lint fixes * e2e fixes * Fix test style issue --------- Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com> Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com> Co-authored-by: Mattermost Build <build@mattermost.com>
602 строки
12 KiB
JSON
602 строки
12 KiB
JSON
{
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended"
|
|
],
|
|
"parserOptions": {
|
|
"ecmaVersion": 8,
|
|
"sourceType": "module",
|
|
"ecmaFeatures": {
|
|
"jsx": true,
|
|
"impliedStrict": true,
|
|
"modules": true
|
|
}
|
|
},
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": [
|
|
"@mattermost",
|
|
"@typescript-eslint",
|
|
"header",
|
|
"import"
|
|
],
|
|
"env": {
|
|
"browser": true,
|
|
"node": true,
|
|
"jquery": true,
|
|
"es6": true
|
|
},
|
|
"rules": {
|
|
"@mattermost/no-dispatch-getstate": 2,
|
|
"@mattermost/use-external-link": 2,
|
|
"@typescript-eslint/array-type": [2, {"default": "array-simple"}],
|
|
"@typescript-eslint/consistent-type-imports": ["error", {"disallowTypeAnnotations": false}],
|
|
"@typescript-eslint/explicit-function-return-type": 0,
|
|
"@typescript-eslint/explicit-module-boundary-types": 0,
|
|
"@typescript-eslint/indent": [
|
|
2,
|
|
4,
|
|
{
|
|
"SwitchCase": 0
|
|
}
|
|
],
|
|
"@typescript-eslint/member-delimiter-style": 2,
|
|
"@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-dupe-class-members": 2,
|
|
"@typescript-eslint/no-empty-function": 0,
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
2,
|
|
{
|
|
"vars": "all",
|
|
"args": "after-used"
|
|
}
|
|
],
|
|
"@typescript-eslint/no-use-before-define": [
|
|
2,
|
|
{
|
|
"classes": false,
|
|
"functions": false,
|
|
"variables": false
|
|
}
|
|
],
|
|
"@typescript-eslint/no-var-requires": 0,
|
|
"@typescript-eslint/type-annotation-spacing": 2,
|
|
"array-bracket-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"array-callback-return": 2,
|
|
"arrow-body-style": 0,
|
|
"arrow-parens": [
|
|
2,
|
|
"always"
|
|
],
|
|
"arrow-spacing": [
|
|
2,
|
|
{
|
|
"before": true,
|
|
"after": true
|
|
}
|
|
],
|
|
"block-scoped-var": 2,
|
|
"brace-style": [
|
|
2,
|
|
"1tbs",
|
|
{
|
|
"allowSingleLine": false
|
|
}
|
|
],
|
|
"camelcase": 0, // Handled by @typescript-eslint/naming-convention
|
|
"capitalized-comments": 0,
|
|
"class-methods-use-this": 0,
|
|
"comma-dangle": [
|
|
2,
|
|
"always-multiline"
|
|
],
|
|
"comma-spacing": [
|
|
2,
|
|
{
|
|
"before": false,
|
|
"after": true
|
|
}
|
|
],
|
|
"comma-style": [
|
|
2,
|
|
"last"
|
|
],
|
|
"complexity": [
|
|
0,
|
|
10
|
|
],
|
|
"computed-property-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"consistent-return": 2,
|
|
"consistent-this": [
|
|
2,
|
|
"self"
|
|
],
|
|
"constructor-super": 2,
|
|
"curly": [
|
|
2,
|
|
"all"
|
|
],
|
|
"dot-location": [
|
|
2,
|
|
"object"
|
|
],
|
|
"dot-notation": 2,
|
|
"eol-last": ["error", "always"],
|
|
"eqeqeq": [
|
|
2,
|
|
"smart"
|
|
],
|
|
"func-call-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"func-name-matching": 0,
|
|
"func-names": 2,
|
|
"func-style": [
|
|
2,
|
|
"declaration",
|
|
{
|
|
"allowArrowFunctions": true
|
|
}
|
|
],
|
|
"generator-star-spacing": [
|
|
2,
|
|
{
|
|
"before": false,
|
|
"after": true
|
|
}
|
|
],
|
|
"global-require": 2,
|
|
"guard-for-in": 2,
|
|
"header/header": [
|
|
2,
|
|
"line",
|
|
" Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information.",
|
|
2
|
|
],
|
|
"id-blacklist": 0,
|
|
"import/no-duplicates": 2,
|
|
"import/no-unresolved": 0, // Handled better by TS
|
|
"import/order": [
|
|
2,
|
|
{
|
|
"newlines-between": "always",
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
"sibling",
|
|
"parent",
|
|
"index"
|
|
],
|
|
"pathGroups": [
|
|
{
|
|
"pattern": "@mattermost/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "mattermost-redux/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "@(selectors|actions|stores|store|reducers){,/**}",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "components/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "types{,/**}",
|
|
"group": "internal",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"alphabetize": {
|
|
"order": "asc",
|
|
"caseInsensitive": true
|
|
},
|
|
"distinctGroup": true,
|
|
"pathGroupsExcludedImportTypes": ["builtin"]
|
|
}
|
|
],
|
|
"indent": 0, // Handled by @typescript-eslint/indent
|
|
"jsx-quotes": [
|
|
2,
|
|
"prefer-single"
|
|
],
|
|
"key-spacing": [
|
|
2,
|
|
{
|
|
"beforeColon": false,
|
|
"afterColon": true,
|
|
"mode": "strict"
|
|
}
|
|
],
|
|
"keyword-spacing": [
|
|
2,
|
|
{
|
|
"before": true,
|
|
"after": true,
|
|
"overrides": {}
|
|
}
|
|
],
|
|
"line-comment-position": 0,
|
|
"linebreak-style": 2,
|
|
"lines-around-comment": [
|
|
2,
|
|
{
|
|
"beforeBlockComment": true,
|
|
"beforeLineComment": true,
|
|
"allowBlockStart": true,
|
|
"allowBlockEnd": true
|
|
}
|
|
],
|
|
"max-lines": [
|
|
"warn",
|
|
{
|
|
"max": 800,
|
|
"skipBlankLines": true,
|
|
"skipComments": false
|
|
}
|
|
],
|
|
"max-nested-callbacks": ["error", 10],
|
|
"max-statements-per-line": [
|
|
2,
|
|
{
|
|
"max": 1
|
|
}
|
|
],
|
|
"multiline-ternary": [
|
|
1,
|
|
"never"
|
|
],
|
|
"new-cap": 2,
|
|
"new-parens": 2,
|
|
"newline-before-return": 0,
|
|
"newline-per-chained-call": 0,
|
|
"no-alert": 2,
|
|
"no-array-constructor": 2,
|
|
"no-await-in-loop": 2,
|
|
"no-caller": 2,
|
|
"no-case-declarations": 2,
|
|
"no-class-assign": 2,
|
|
"no-compare-neg-zero": 2,
|
|
"no-cond-assign": [
|
|
2,
|
|
"except-parens"
|
|
],
|
|
"no-confusing-arrow": 2,
|
|
"no-console": 2,
|
|
"no-const-assign": 2,
|
|
"no-constant-binary-expression": 2,
|
|
"no-constant-condition": 2,
|
|
"no-debugger": 2,
|
|
"no-div-regex": 2,
|
|
"no-dupe-args": 2,
|
|
"no-dupe-class-members": 0, // Handled by @typescript-eslint/no-dupe-class-members
|
|
"no-dupe-keys": 2,
|
|
"no-duplicate-case": 2,
|
|
"no-duplicate-imports": 0, // Handled by import/no-duplicates
|
|
"no-else-return": 2,
|
|
"no-empty": 2,
|
|
"no-empty-function": 0,
|
|
"no-empty-pattern": 2,
|
|
"no-eval": 2,
|
|
"no-ex-assign": 2,
|
|
"no-extend-native": 2,
|
|
"no-extra-bind": 2,
|
|
"no-extra-label": 2,
|
|
"no-extra-parens": 0,
|
|
"no-extra-semi": 2,
|
|
"no-fallthrough": 2,
|
|
"no-floating-decimal": 2,
|
|
"no-func-assign": 2,
|
|
"no-global-assign": 2,
|
|
"no-implicit-coercion": 2,
|
|
"no-implicit-globals": 0,
|
|
"no-implied-eval": 2,
|
|
"no-inner-declarations": 0,
|
|
"no-invalid-regexp": 2,
|
|
"no-irregular-whitespace": 2,
|
|
"no-iterator": 2,
|
|
"no-labels": 2,
|
|
"no-lone-blocks": 2,
|
|
"no-lonely-if": 2,
|
|
"no-loop-func": 2,
|
|
"no-magic-numbers": 0,
|
|
"no-mixed-operators": [
|
|
2,
|
|
{
|
|
"allowSamePrecedence": false
|
|
}
|
|
],
|
|
"no-mixed-spaces-and-tabs": 2,
|
|
"no-multi-assign": 2,
|
|
"no-multi-spaces": [
|
|
2,
|
|
{
|
|
"exceptions": {
|
|
"Property": false
|
|
}
|
|
}
|
|
],
|
|
"no-multi-str": 0,
|
|
"no-multiple-empty-lines": [
|
|
2,
|
|
{
|
|
"max": 1
|
|
}
|
|
],
|
|
"no-native-reassign": 2,
|
|
"no-negated-condition": 2,
|
|
"no-nested-ternary": 2,
|
|
"no-new": 2,
|
|
"no-new-func": 2,
|
|
"no-new-object": 2,
|
|
"no-new-symbol": 2,
|
|
"no-new-wrappers": 2,
|
|
"no-octal-escape": 2,
|
|
"no-param-reassign": 2,
|
|
"no-process-env": 2,
|
|
"no-process-exit": 2,
|
|
"no-proto": 2,
|
|
"no-prototype-builtins": 2,
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
"patterns": [
|
|
{
|
|
"group": ["@mattermost/compass-components/*"],
|
|
"message": "compass-components is now archived."
|
|
}
|
|
],
|
|
"paths": [
|
|
{
|
|
"name": "redux",
|
|
"importNames": ["DeepPartial"],
|
|
"message": "Use DeepPartial from '@mattermost/types/utilities instead."
|
|
},
|
|
{
|
|
"name": "lodash",
|
|
"message": "Import individual functions from lodash/<function> instead."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"no-return-assign": [
|
|
2,
|
|
"always"
|
|
],
|
|
"no-return-await": 2,
|
|
"no-script-url": 2,
|
|
"no-self-assign": [
|
|
2,
|
|
{
|
|
"props": true
|
|
}
|
|
],
|
|
"no-self-compare": 2,
|
|
"no-sequences": 2,
|
|
"no-shadow": 0, // This isn't currently enabled, but it probably should be
|
|
"no-shadow-restricted-names": 2,
|
|
"no-spaced-func": 2,
|
|
"no-tabs": 0,
|
|
"no-template-curly-in-string": 2,
|
|
"no-ternary": 0,
|
|
"no-this-before-super": 2,
|
|
"no-throw-literal": 2,
|
|
"no-trailing-spaces": [
|
|
2,
|
|
{
|
|
"skipBlankLines": false
|
|
}
|
|
],
|
|
"no-undef-init": 2,
|
|
"no-undefined": 0,
|
|
"no-underscore-dangle": 2,
|
|
"no-unexpected-multiline": 2,
|
|
"no-unmodified-loop-condition": 2,
|
|
"no-unneeded-ternary": [
|
|
2,
|
|
{
|
|
"defaultAssignment": false
|
|
}
|
|
],
|
|
"no-unreachable": 2,
|
|
"no-unsafe-finally": 2,
|
|
"no-unsafe-negation": 2,
|
|
"no-unused-expressions": 2,
|
|
"no-unused-vars": 0, // Handled by @typescript-eslint/no-unused-vars
|
|
"no-use-before-define": 0, // Handled by @typescript-eslint/no-use-before-define
|
|
"no-useless-computed-key": 2,
|
|
"no-useless-concat": 2,
|
|
"no-useless-constructor": 2,
|
|
"no-useless-escape": 2,
|
|
"no-useless-rename": 2,
|
|
"no-useless-return": 2,
|
|
"no-var": 0,
|
|
"no-void": 2,
|
|
"no-warning-comments": 1,
|
|
"no-whitespace-before-property": 2,
|
|
"no-with": 2,
|
|
"object-curly-newline": 0,
|
|
"object-curly-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"object-property-newline": [
|
|
2,
|
|
{
|
|
"allowMultiplePropertiesPerLine": true
|
|
}
|
|
],
|
|
"object-shorthand": [
|
|
2,
|
|
"always"
|
|
],
|
|
"one-var": [
|
|
2,
|
|
"never"
|
|
],
|
|
"one-var-declaration-per-line": 0,
|
|
"operator-assignment": [
|
|
2,
|
|
"always"
|
|
],
|
|
"operator-linebreak": [
|
|
2,
|
|
"after"
|
|
],
|
|
"padded-blocks": [
|
|
2,
|
|
"never"
|
|
],
|
|
"prefer-arrow-callback": 2,
|
|
"prefer-const": 2,
|
|
"prefer-destructuring": 0,
|
|
"prefer-numeric-literals": 2,
|
|
"prefer-promise-reject-errors": 2,
|
|
"prefer-rest-params": 2,
|
|
"prefer-spread": 2,
|
|
"prefer-template": 0,
|
|
"quote-props": [
|
|
2,
|
|
"as-needed"
|
|
],
|
|
"quotes": [
|
|
2,
|
|
"single",
|
|
"avoid-escape"
|
|
],
|
|
"radix": 2,
|
|
"require-yield": 2,
|
|
"rest-spread-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"semi": [
|
|
2,
|
|
"always"
|
|
],
|
|
"semi-spacing": [
|
|
2,
|
|
{
|
|
"before": false,
|
|
"after": true
|
|
}
|
|
],
|
|
"sort-imports": 0,
|
|
"sort-keys": 0,
|
|
"space-before-blocks": [
|
|
2,
|
|
"always"
|
|
],
|
|
"space-before-function-paren": [
|
|
2,
|
|
{
|
|
"anonymous": "never",
|
|
"named": "never",
|
|
"asyncArrow": "always"
|
|
}
|
|
],
|
|
"space-in-parens": [
|
|
2,
|
|
"never"
|
|
],
|
|
"space-infix-ops": 2,
|
|
"space-unary-ops": [
|
|
2,
|
|
{
|
|
"words": true,
|
|
"nonwords": false
|
|
}
|
|
],
|
|
"symbol-description": 2,
|
|
"template-curly-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"valid-typeof": [
|
|
2,
|
|
{
|
|
"requireStringLiterals": false
|
|
}
|
|
],
|
|
"vars-on-top": 0,
|
|
"wrap-iife": [
|
|
2,
|
|
"outside"
|
|
],
|
|
"wrap-regex": 2,
|
|
"yoda": [
|
|
2,
|
|
"never",
|
|
{
|
|
"exceptRange": false,
|
|
"onlyEquality": false
|
|
}
|
|
]
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["*.test.*", "src/tests/**"],
|
|
"env": {
|
|
"jest": true
|
|
},
|
|
"globals": {
|
|
"after": true,
|
|
"afterAll": true,
|
|
"afterEach": true,
|
|
"before": true,
|
|
"beforeAll": true,
|
|
"beforeEach": true,
|
|
"describe": true,
|
|
"expect": true,
|
|
"it": true,
|
|
"jest": true,
|
|
"test": true
|
|
},
|
|
"rules": {
|
|
"func-names": 0,
|
|
"global-require": 0,
|
|
"no-console": 0,
|
|
"no-import-assign": 0,
|
|
"max-lines": 0,
|
|
"max-nested-callbacks": 0,
|
|
"new-cap": 0,
|
|
"prefer-arrow-callback": 0
|
|
}
|
|
}
|
|
]
|
|
}
|