5df336cf46
* Most of the frontend libraries upgraded * Upgrading the dependencies in mattermost-plugin * Fixing some tiny poblems * All jest tests passing * Some other small upgrades and tests are passing * Fixing compass-icons * Fixing eslint * Fixing unit test * Fixing unit test
163 lines
3.8 KiB
JSON
163 lines
3.8 KiB
JSON
{
|
|
"extends": [
|
|
"plugin:react/recommended",
|
|
"plugin:cypress/recommended",
|
|
"plugin:jquery/deprecated"
|
|
],
|
|
"plugins": [
|
|
"react",
|
|
"babel",
|
|
"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": {
|
|
"react/display-name": [
|
|
0,
|
|
{
|
|
"ignoreTranspilerName": false
|
|
}
|
|
],
|
|
"max-lines": "off",
|
|
"no-unused-expressions": 0,
|
|
"babel/no-unused-expressions": [2, {"allowShortCircuit": true}],
|
|
"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"]}],
|
|
"max-nested-callbacks": ["error", {"max": 5}],
|
|
"no-shadow": "off",
|
|
"@typescript-eslint/no-shadow": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["**/*.tsx", "**/*.ts"],
|
|
"extends": [
|
|
"plugin:@typescript-eslint/recommended"
|
|
],
|
|
"rules": {
|
|
"mattermost/no-dispatch-getstate": 0, // Failing in eslint 8
|
|
"import/no-unresolved": 0, // ts handles this better
|
|
"camelcase": 0,
|
|
"semi": "off",
|
|
"@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/semi": [2, "never"],
|
|
"@typescript-eslint/indent": [
|
|
2,
|
|
4,
|
|
{
|
|
"SwitchCase": 0
|
|
}
|
|
],
|
|
"no-use-before-define": "off",
|
|
"@typescript-eslint/no-use-before-define": [
|
|
2,
|
|
{
|
|
"classes": false,
|
|
"functions": false,
|
|
"variables": false
|
|
}
|
|
],
|
|
"no-useless-constructor": 0,
|
|
"@typescript-eslint/no-useless-constructor": 2,
|
|
"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": ["cypress/**"],
|
|
"rules": {
|
|
"cypress/no-unnecessary-waiting": 0,
|
|
"func-names": 0,
|
|
"import/no-unresolved": 0,
|
|
"max-nested-callbacks": 0,
|
|
"no-process-env": 0,
|
|
"no-unused-expressions": 0
|
|
}
|
|
}
|
|
]
|
|
}
|