diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2016-12-22 17:11:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-22 17:11:21 +0100 |
commit | bc07b29494abd5dff7875175df91df38d0b908ac (patch) | |
tree | 05f82f8ca3787011e2a0810e7d85c9d81e4b222f /server/sonar-web/.eslintrc | |
parent | e52ca10a4a1b07d05c894e0d8564ffa1b5af3e47 (diff) | |
download | sonarqube-bc07b29494abd5dff7875175df91df38d0b908ac.tar.gz sonarqube-bc07b29494abd5dff7875175df91df38d0b908ac.zip |
upgrade eslint and its plugins, tune rules (#1481)
Diffstat (limited to 'server/sonar-web/.eslintrc')
-rw-r--r-- | server/sonar-web/.eslintrc | 144 |
1 files changed, 125 insertions, 19 deletions
diff --git a/server/sonar-web/.eslintrc b/server/sonar-web/.eslintrc index 2eede2ccbee..df5d5291501 100644 --- a/server/sonar-web/.eslintrc +++ b/server/sonar-web/.eslintrc @@ -1,9 +1,6 @@ { "extends": [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:import/errors", - "plugin:import/warnings" + "eslint:recommended" ], "env": { @@ -22,42 +19,151 @@ "parser": "babel-eslint", "plugins": [ - "react", - "import" + "import", + "jsx-a11y", + "flowtype", + "react" ], "rules": { + "array-bracket-spacing": 2, + "array-callback-return": 2, + "arrow-parens": [2, "as-needed"], "arrow-spacing": 2, + "block-scoped-var": 2, + "block-spacing": 2, + "brace-style": 2, "comma-dangle": 2, "comma-spacing": 2, + "comma-style": 2, + "computed-property-spacing": 2, + "consistent-this": [2, "that"], "curly": 2, + "dot-location": [2, "property"], "eol-last": 2, "eqeqeq": [2, "smart"], + "func-call-spacing": 2, + "func-name-matching": 2, + "func-names": [2, "never"], + "generator-star-spacing": 2, "indent": [2, 2, { "SwitchCase": 1, "VariableDeclarator": 2 }], "jsx-quotes": 2, "key-spacing": 2, + "keyword-spacing": 2, + "max-len": [2, 120], + "new-parens": 2, + "no-lonely-if": 2, "no-multi-spaces": 2, + "no-multiple-empty-lines": [2, { "max": 2 }], "no-self-compare": 2, - "no-unexpected-multiline": 2, - "max-len": [2, 120], - "no-const-assign": 2, - "no-multiple-empty-lines": [2, { "max": 3 }], - "no-spaced-func": 2, - "no-this-before-super": 2, + "no-template-curly-in-string": 2, "no-trailing-spaces": 2, "no-unneeded-ternary": 2, - "object-curly-spacing": [2, "always"], + "no-unsafe-negation": 2, + "no-useless-computed-key": 2, + "no-useless-rename": 2, "no-var": 2, + "no-whitespace-before-property": 2, + "object-curly-spacing": [2, "always"], "object-shorthand": 2, - "one-var": [2, { "let": "never", "const": "never" }], - "quotes": [2, "single", "avoid-escape"], + "one-var": [2, "never"], + "operator-assignment": 2, + "padded-blocks": [2, "never"], + "prefer-arrow-callback": 2, "prefer-const": 2, + "prefer-spread": 2, + "quote-props": [2, "consistent"], + "quotes": [2, "single"], + "rest-spread-spacing": 2, "semi": [2, "always"], - "keyword-spacing": 2, + "semi-spacing": 2, + "space-before-blocks": 2, + "space-before-function-paren": 2, + "space-in-parens": 2, + "space-unary-ops": 2, + "template-curly-spacing": 2, + "yield-star-spacing": 2, + + "flowtype/boolean-style": 2, + "flowtype/generic-spacing": 2, + "flowtype/no-dupe-keys": 2, + "flowtype/no-primitive-constructor-types": 2, + "flowtype/no-weak-types": [2, { + "any": true, + "Object": false, + "Function": false + }], + "flowtype/object-type-delimiter": 2, + "flowtype/semi": 2, + "flowtype/space-after-type-colon": 2, + "flowtype/space-before-generic-bracket": 2, + "flowtype/space-before-type-colon": 2, + "flowtype/union-intersection-spacing": 2, + + "import/no-unresolved": 2, + "import/named": 2, + "import/default": 2, + "import/namespace": 2, + "import/no-named-as-default": 2, + "import/no-named-as-default-member": 2, + "import/no-amd": 2, + "import/first": 2, + "import/no-duplicates": 2, + "import/extensions": 2, + "import/order": [2, { + "groups": ["builtin", "external"], + "newlines-between": "never" + }], + "import/newline-after-import": 2, + "import/no-named-default": 2, + + "jsx-a11y/aria-props": 2, + "jsx-a11y/aria-proptypes": 2, + "jsx-a11y/aria-role": 2, + "jsx-a11y/aria-unsupported-elements": 2, + "jsx-a11y/heading-has-content": 2, + "jsx-a11y/html-has-lang": 2, + "jsx-a11y/img-has-alt": 2, + "jsx-a11y/img-redundant-alt": 2, + "jsx-a11y/lang": 2, + "jsx-a11y/mouse-events-have-key-events": 2, + "jsx-a11y/no-access-key": 2, + "jsx-a11y/no-marquee": 2, + "jsx-a11y/onclick-has-focus": 2, + "jsx-a11y/onclick-has-role": 2, + "jsx-a11y/role-has-required-aria-props": 2, + "jsx-a11y/role-supports-aria-props": 2, + "jsx-a11y/tabindex-no-positive": 2, - "react/display-name": 0, - "react/no-find-dom-node": 0, - "react/prop-types": 0 + "react/jsx-boolean-value": [2, "always"], + "react/jsx-closing-bracket-location": [2, "after-props"], + "react/jsx-curly-spacing": [2, "never"], + "react/jsx-equals-spacing": [2, "never"], + "react/jsx-key": 2, + "react/jsx-no-duplicate-props": 2, + "react/jsx-no-undef": 2, + "react/jsx-pascal-case": 2, + "react/jsx-space-before-closing": [2, "never"], + "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-children-prop": 2, + "react/no-danger-with-children": 2, + "react/no-deprecated": 2, + "react/no-direct-mutation-state": 2, + "react/no-is-mounted": 2, + "react/no-render-return-value": 2, + "react/no-unescaped-entities": 2, + "react/no-unknown-property": 2, + "react/no-unused-prop-types": 2, + "react/react-in-jsx-scope": 2, + "react/require-render-return": 2, + "react/self-closing-comp": 2 }, "settings": { |