aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/.eslintrc
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2016-12-22 17:11:21 +0100
committerGitHub <noreply@github.com>2016-12-22 17:11:21 +0100
commitbc07b29494abd5dff7875175df91df38d0b908ac (patch)
tree05f82f8ca3787011e2a0810e7d85c9d81e4b222f /server/sonar-web/.eslintrc
parente52ca10a4a1b07d05c894e0d8564ffa1b5af3e47 (diff)
downloadsonarqube-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/.eslintrc144
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": {