f1b8d88d6b
* Improving mattermost auth implementation * Making mattermost-auth based on shared database access * Reverting unneeded changes in the config.json file * Fixing tiny problems * Removing the need of using the mattermost session token * Fixing some bugs and allowing to not-bind the server to any port * Small fix to correctly get the templates * Adding the mattermost-plugin code inside focalboard repo * Adding a not working code part of the cluster websocket communication * Updating the mattermost version * Adding the cluster messages for the websockets * Updating to the new node version * Making it compatible with S3 * Addressing some tiny problems * Fixing server tests * Adds support for MySQL migrations and initialization Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
669 lines
13 KiB
JSON
669 lines
13 KiB
JSON
{
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:react-hooks/recommended"
|
|
],
|
|
"parserOptions": {
|
|
"ecmaVersion": 8,
|
|
"sourceType": "module",
|
|
"ecmaFeatures": {
|
|
"jsx": true,
|
|
"impliedStrict": true,
|
|
"modules": true,
|
|
"experimentalObjectRestSpread": true
|
|
}
|
|
},
|
|
"parser": "babel-eslint",
|
|
"plugins": [
|
|
"react",
|
|
"import"
|
|
],
|
|
"env": {
|
|
"browser": true,
|
|
"node": true,
|
|
"jquery": true,
|
|
"es6": true,
|
|
"jest": true
|
|
},
|
|
"globals": {
|
|
"jest": true,
|
|
"describe": true,
|
|
"it": true,
|
|
"expect": true,
|
|
"before": true,
|
|
"after": true,
|
|
"beforeEach": true
|
|
},
|
|
"settings": {
|
|
"import/resolver": "webpack"
|
|
},
|
|
"rules": {
|
|
"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
|
|
}
|
|
],
|
|
"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,
|
|
"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,
|
|
"id-blacklist": 0,
|
|
"import/no-unresolved": 2,
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"newlines-between": "always-and-inside-groups",
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
[
|
|
"internal",
|
|
"parent"
|
|
],
|
|
"sibling",
|
|
"index"
|
|
]
|
|
}
|
|
],
|
|
"indent": [
|
|
2,
|
|
4,
|
|
{
|
|
"SwitchCase": 0
|
|
}
|
|
],
|
|
"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": [
|
|
1,
|
|
{
|
|
"max": 450,
|
|
"skipBlankLines": true,
|
|
"skipComments": false
|
|
}
|
|
],
|
|
"max-nested-callbacks": [
|
|
2,
|
|
{
|
|
"max": 2
|
|
}
|
|
],
|
|
"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-condition": 2,
|
|
"no-debugger": 2,
|
|
"no-div-regex": 2,
|
|
"no-dupe-args": 2,
|
|
"no-dupe-class-members": 2,
|
|
"no-dupe-keys": 2,
|
|
"no-duplicate-case": 2,
|
|
"no-duplicate-imports": [
|
|
2,
|
|
{
|
|
"includeExports": true
|
|
}
|
|
],
|
|
"no-else-return": 2,
|
|
"no-empty": 2,
|
|
"no-empty-function": 2,
|
|
"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,
|
|
{
|
|
"ignore": [
|
|
-1,
|
|
0,
|
|
1,
|
|
2
|
|
],
|
|
"enforceConst": true,
|
|
"detectObjects": true
|
|
}
|
|
],
|
|
"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-redeclare": 2,
|
|
"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": [
|
|
2,
|
|
{
|
|
"hoist": "functions"
|
|
}
|
|
],
|
|
"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": 2,
|
|
"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": [
|
|
2,
|
|
{
|
|
"vars": "all",
|
|
"args": "after-used"
|
|
}
|
|
],
|
|
"no-use-before-define": [
|
|
2,
|
|
{
|
|
"classes": false,
|
|
"functions": false,
|
|
"variables": false
|
|
}
|
|
],
|
|
"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,
|
|
"react/display-name": [
|
|
0,
|
|
{
|
|
"ignoreTranspilerName": false
|
|
}
|
|
],
|
|
"react/forbid-component-props": 0,
|
|
"react/forbid-elements": [
|
|
2,
|
|
{
|
|
"forbid": [
|
|
"embed"
|
|
]
|
|
}
|
|
],
|
|
"react/jsx-boolean-value": [
|
|
2,
|
|
"always"
|
|
],
|
|
"react/jsx-closing-bracket-location": [
|
|
2,
|
|
{
|
|
"location": "tag-aligned"
|
|
}
|
|
],
|
|
"react/jsx-curly-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"react/jsx-equals-spacing": [
|
|
2,
|
|
"never"
|
|
],
|
|
"react/jsx-filename-extension": 2,
|
|
"react/jsx-first-prop-new-line": [
|
|
2,
|
|
"multiline"
|
|
],
|
|
"react/jsx-handler-names": 0,
|
|
"react/jsx-indent": [
|
|
2,
|
|
4
|
|
],
|
|
"react/jsx-indent-props": [
|
|
2,
|
|
4
|
|
],
|
|
"react/jsx-key": 2,
|
|
"react/jsx-max-props-per-line": [
|
|
2,
|
|
{
|
|
"maximum": 1
|
|
}
|
|
],
|
|
"react/jsx-no-bind": 0,
|
|
"react/jsx-no-comment-textnodes": 2,
|
|
"react/jsx-no-duplicate-props": [
|
|
2,
|
|
{
|
|
"ignoreCase": false
|
|
}
|
|
],
|
|
"react/jsx-no-literals": 2,
|
|
"react/jsx-no-target-blank": 2,
|
|
"react/jsx-no-undef": 2,
|
|
"react/jsx-pascal-case": 2,
|
|
"react/jsx-tag-spacing": [
|
|
2,
|
|
{
|
|
"closingSlash": "never",
|
|
"beforeSelfClosing": "never",
|
|
"afterOpening": "never"
|
|
}
|
|
],
|
|
"react/jsx-uses-react": 2,
|
|
"react/jsx-uses-vars": 2,
|
|
"react/jsx-wrap-multilines": 2,
|
|
"react/no-array-index-key": 1,
|
|
"react/no-children-prop": 2,
|
|
"react/no-danger": 0,
|
|
"react/no-danger-with-children": 2,
|
|
"react/no-deprecated": 1,
|
|
"react/no-did-mount-set-state": 2,
|
|
"react/no-did-update-set-state": 2,
|
|
"react/no-direct-mutation-state": 2,
|
|
"react/no-find-dom-node": 1,
|
|
"react/no-is-mounted": 2,
|
|
"react/no-multi-comp": [
|
|
2,
|
|
{
|
|
"ignoreStateless": true
|
|
}
|
|
],
|
|
"react/no-render-return-value": 2,
|
|
"react/no-set-state": 0,
|
|
"react/no-string-refs": 0,
|
|
"react/no-unescaped-entities": 2,
|
|
"react/no-unknown-property": 2,
|
|
"react/no-unused-prop-types": [
|
|
1,
|
|
{
|
|
"skipShapeProps": true
|
|
}
|
|
],
|
|
"react/prefer-es6-class": 2,
|
|
"react/prefer-stateless-function": 2,
|
|
"react/prop-types": [
|
|
2,
|
|
{
|
|
"ignore": [
|
|
"location",
|
|
"history",
|
|
"component"
|
|
]
|
|
}
|
|
],
|
|
"react/require-default-props": 0,
|
|
"react/require-optimization": 1,
|
|
"react/require-render-return": 2,
|
|
"react/self-closing-comp": 2,
|
|
"react/sort-comp": 0,
|
|
"react/style-prop-object": 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": ["**/*.tsx", "**/*.ts"],
|
|
"extends": "plugin:@typescript-eslint/recommended",
|
|
"rules": {
|
|
"@typescript-eslint/ban-ts-ignore": 0,
|
|
"@typescript-eslint/ban-types": 1,
|
|
"@typescript-eslint/ban-ts-comment": 0,
|
|
"@typescript-eslint/no-var-requires": 0,
|
|
"@typescript-eslint/prefer-interface": 0,
|
|
"@typescript-eslint/explicit-function-return-type": 0,
|
|
"@typescript-eslint/explicit-module-boundary-types": 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": [
|
|
1,
|
|
{
|
|
"extensions": [".jsx", ".tsx"]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|