* eslintrc: adapt changes in eslint-plugin-jsx-a11y * Replace 'jsx-a11y/img-has-alt' with 'jsx-a11y/alt-text'. Reference: evcohen/eslint-plugin-jsx-a11y@24b6193 * Replace 'jsx-a11y/onclick-has-focus' with 'jsx-a11y/interactive-supports-focus' Reference: evcohen/eslint-plugin-jsx-a11y@cbdfeb8 * Replace 'jsx-a11y/onclick-has-role' with 'jsx-a11y/no-noninteractive-element-interactions' Reference: evcohen/eslint-plugin-jsx-a11y@18c9b71 * Update eslint-plugin-jsx-a11y to 5.0.0 Follow the change in Code Climate. Make sure the same eslintrc can be executed locally and in Code Climate. * Convert .eslintrc.json to equivlant .eslintrc.yml * Less quotes and commas, more readability, allow comment.closed-social-glitch-2
@ -1,79 +0,0 @@ | |||
{ | |||
"env": { | |||
"browser": true, | |||
"node": false, | |||
"es6": true | |||
}, | |||
"parser": "babel-eslint", | |||
"plugins": [ | |||
"react", | |||
"jsx-a11y" | |||
], | |||
"parserOptions": { | |||
"sourceType": "module", | |||
"ecmaFeatures": { | |||
"arrowFunctions": true, | |||
"jsx": true, | |||
"destructuring": true, | |||
"modules": true, | |||
"spread": true | |||
} | |||
}, | |||
"rules": { | |||
"no-cond-assign": 2, | |||
"no-console": 1, | |||
"no-irregular-whitespace": 2, | |||
"no-unreachable": 2, | |||
"valid-typeof": 2, | |||
"consistent-return": 2, | |||
"dot-notation": 2, | |||
"eqeqeq": 2, | |||
"no-fallthrough": 2, | |||
"no-unused-expressions": 2, | |||
"strict": 0, | |||
"no-catch-shadow": 2, | |||
"indent": [1, 2], | |||
"brace-style": 1, | |||
"comma-spacing": [1, {"before": false, "after": true}], | |||
"comma-style": [1, "last"], | |||
"no-mixed-spaces-and-tabs": 1, | |||
"no-nested-ternary": 1, | |||
"no-trailing-spaces": 1, | |||
"react/jsx-wrap-multilines": 2, | |||
"react/self-closing-comp": 2, | |||
"react/prop-types": 2, | |||
"react/no-multi-comp": 0, | |||
"jsx-a11y/accessible-emoji": 1, | |||
"jsx-a11y/anchor-has-content": 1, | |||
"jsx-a11y/aria-activedescendant-has-tabindex": 1, | |||
"jsx-a11y/aria-props": 1, | |||
"jsx-a11y/aria-proptypes": 1, | |||
"jsx-a11y/aria-role": 1, | |||
"jsx-a11y/aria-unsupported-elements": 1, | |||
"jsx-a11y/heading-has-content": 1, | |||
"jsx-a11y/href-no-hash": 1, | |||
"jsx-a11y/html-has-lang": 1, | |||
"jsx-a11y/iframe-has-title": 1, | |||
"jsx-a11y/img-has-alt": 1, | |||
"jsx-a11y/img-redundant-alt": 1, | |||
"jsx-a11y/label-has-for": 1, | |||
"jsx-a11y/mouse-events-have-key-events": 1, | |||
"jsx-a11y/no-access-key": 1, | |||
"jsx-a11y/no-distracting-elements": 1, | |||
"jsx-a11y/no-onchange": 1, | |||
"jsx-a11y/no-redundant-roles": 1, | |||
"jsx-a11y/onclick-has-focus": 1, | |||
"jsx-a11y/onclick-has-role": 1, | |||
"jsx-a11y/role-has-required-aria-props": 1, | |||
"jsx-a11y/role-supports-aria-props": 1, | |||
"jsx-a11y/scope": 1, | |||
"jsx-a11y/tabindex-no-positive": 1 | |||
} | |||
} |
@ -0,0 +1,80 @@ | |||
--- | |||
env: | |||
browser: true | |||
node: false | |||
es6: true | |||
parser: babel-eslint | |||
plugins: | |||
- react | |||
- jsx-a11y | |||
parserOptions: | |||
sourceType: module | |||
ecmaFeatures: | |||
arrowFunctions: true | |||
jsx: true | |||
destructuring: true | |||
modules: true | |||
spread: true | |||
rules: | |||
no-cond-assign: error | |||
no-console: warn | |||
no-irregular-whitespace: error | |||
no-unreachable: error | |||
valid-typeof: error | |||
consistent-return: error | |||
dot-notation: error | |||
eqeqeq: error | |||
no-fallthrough: error | |||
no-unused-expressions: error | |||
strict: off | |||
no-catch-shadow: error | |||
indent: | |||
- warn | |||
- 2 | |||
brace-style: warn | |||
comma-spacing: | |||
- warn | |||
- before: false | |||
after: true | |||
comma-style: | |||
- warn | |||
- last | |||
no-mixed-spaces-and-tabs: warn | |||
no-nested-ternary: warn | |||
no-trailing-spaces: warn | |||
react/jsx-wrap-multilines: error | |||
react/self-closing-comp: error | |||
react/prop-types: error | |||
react/no-multi-comp: off | |||
jsx-a11y/accessible-emoji: warn | |||
jsx-a11y/anchor-has-content: warn | |||
jsx-a11y/alt-text: warn | |||
jsx-a11y/aria-activedescendant-has-tabindex: warn | |||
jsx-a11y/aria-props: warn | |||
jsx-a11y/aria-proptypes: warn | |||
jsx-a11y/aria-role: warn | |||
jsx-a11y/aria-unsupported-elements: warn | |||
jsx-a11y/heading-has-content: warn | |||
jsx-a11y/href-no-hash: warn | |||
jsx-a11y/html-has-lang: warn | |||
jsx-a11y/iframe-has-title: warn | |||
jsx-a11y/img-redundant-alt: warn | |||
jsx-a11y/interactive-supports-focus: warn | |||
jsx-a11y/label-has-for: warn | |||
jsx-a11y/mouse-events-have-key-events: warn | |||
jsx-a11y/no-access-key: warn | |||
jsx-a11y/no-distracting-elements: warn | |||
jsx-a11y/no-noninteractive-element-interactions: warn | |||
jsx-a11y/no-onchange: warn | |||
jsx-a11y/no-redundant-roles: warn | |||
jsx-a11y/role-has-required-aria-props: warn | |||
jsx-a11y/role-supports-aria-props: warn | |||
jsx-a11y/scope: warn | |||
jsx-a11y/tabindex-no-positive: warn |