-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding jsxa11y into eslint rules #23932
Changes from 6 commits
7607089
2997dbc
8332beb
c817db0
5d66958
d5a3aab
3a47075
1eb4c0e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -288,6 +288,7 @@ | |
"eslint-plugin-babel": "^5.2.0", | ||
"eslint-plugin-import": "^2.14.0", | ||
"eslint-plugin-jest": "^21.22.1", | ||
"eslint-plugin-jsx-a11y": "^6.1.1", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. optional nit: looks like the latest version is |
||
"eslint-plugin-mocha": "^5.2.0", | ||
"eslint-plugin-no-unsanitized": "^3.0.2", | ||
"eslint-plugin-prefer-object-spread": "^1.2.1", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,8 +10,13 @@ module.exports = { | |
'import', | ||
'no-unsanitized', | ||
'prefer-object-spread', | ||
'jsx-a11y', | ||
], | ||
|
||
// "extends": [ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: please remove commented code before merging question: what is the reason why we don't want to use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @azasypkin the recommended preset has some deprecated rules which Tim and I want to rewrite. |
||
// "plugin:jsx-a11y/recommended" | ||
// ], | ||
|
||
env: { | ||
es6: true, | ||
node: true, | ||
|
@@ -116,6 +121,30 @@ module.exports = { | |
arrow: true, | ||
}], | ||
'react/jsx-first-prop-new-line': ['error', 'multiline-multiprop'], | ||
'jsx-a11y/accessible-emoji': 'error', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. note: I have no idea which rules we need, which not, so I'll leave it up to you :) The stricter we're the better for me :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ++ we have definitely gone on the stricter route :) |
||
'jsx-a11y/alt-text': 'error', | ||
'jsx-a11y/anchor-has-content': 'error', | ||
'jsx-a11y/aria-activedescendant-has-tabindex': 'error', | ||
'jsx-a11y/aria-props': 'error', | ||
'jsx-a11y/aria-proptypes': 'error', | ||
'jsx-a11y/aria-role': 'error', | ||
'jsx-a11y/aria-unsupported-elements': 'error', | ||
'jsx-a11y/heading-has-content': 'error', | ||
'jsx-a11y/html-has-lang': 'error', | ||
'jsx-a11y/iframe-has-title': 'error', | ||
'jsx-a11y/interactive-supports-focus': 'error', | ||
'jsx-a11y/media-has-caption': 'error', | ||
'jsx-a11y/mouse-events-have-key-events': 'error', | ||
'jsx-a11y/no-access-key': 'error', | ||
'jsx-a11y/no-distracting-elements': 'error', | ||
'jsx-a11y/no-interactive-element-to-noninteractive-role': 'error', | ||
'jsx-a11y/no-noninteractive-element-interactions': 'error', | ||
'jsx-a11y/no-noninteractive-element-to-interactive-role': 'error', | ||
'jsx-a11y/no-redundant-roles': 'error', | ||
'jsx-a11y/role-has-required-aria-props': 'error', | ||
'jsx-a11y/role-supports-aria-props': 'error', | ||
'jsx-a11y/scope': 'error', | ||
'jsx-a11y/tabindex-no-positive': 'error', | ||
'react/jsx-equals-spacing': ['error', 'never'], | ||
'react/jsx-indent': ['error', 2], | ||
'react/no-will-update-set-state': 'error', | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,7 @@ | |
"babel-eslint": "^9.0.0", | ||
"eslint": "^5.6.0", | ||
"eslint-plugin-babel": "^5.2.0", | ||
"eslint-plugin-jsx-a11y": "^6.1.1", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. optional nit: same optional nit about latest version. |
||
"eslint-plugin-import": "^2.14.0", | ||
"eslint-plugin-jest": "^21.22.1", | ||
"eslint-plugin-mocha": "^5.2.0", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1594,6 +1594,14 @@ argparse@~0.1.15: | |
underscore "~1.7.0" | ||
underscore.string "~2.4.0" | ||
|
||
aria-query@^3.0.0: | ||
version "3.0.0" | ||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" | ||
integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= | ||
dependencies: | ||
ast-types-flow "0.0.7" | ||
commander "^2.11.0" | ||
|
||
arr-diff@^2.0.0: | ||
version "2.0.0" | ||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" | ||
|
@@ -1756,6 +1764,11 @@ [email protected]: | |
esprima "~1.0.4" | ||
through "~2.3.4" | ||
|
||
[email protected], ast-types-flow@^0.0.7: | ||
version "0.0.7" | ||
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" | ||
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= | ||
|
||
ast-types@^0.7.0: | ||
version "0.7.8" | ||
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9" | ||
|
@@ -1896,6 +1909,13 @@ axios@^0.18.0: | |
follow-redirects "^1.3.0" | ||
is-buffer "^1.1.5" | ||
|
||
axobject-query@^2.0.1: | ||
version "2.0.1" | ||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz#05dfa705ada8ad9db993fa6896f22d395b0b0a07" | ||
integrity sha1-Bd+nBa2orZ25k/polvItOVsLCgc= | ||
dependencies: | ||
ast-types-flow "0.0.7" | ||
|
||
[email protected]: | ||
version "4.0.0" | ||
resolved "https://registry.yarnpkg.com/b64/-/b64-4.0.0.tgz#c37f587f0a383c7019e821120e8c3f58f0d22772" | ||
|
@@ -3983,6 +4003,11 @@ [email protected], commander@~2.8.1: | |
dependencies: | ||
graceful-readlink ">= 1.0.0" | ||
|
||
commander@^2.11.0: | ||
version "2.18.0" | ||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" | ||
integrity sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ== | ||
|
||
commander@~2.13.0: | ||
version "2.13.0" | ||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" | ||
|
@@ -4804,6 +4829,11 @@ d@1: | |
dependencies: | ||
es5-ext "^0.10.9" | ||
|
||
damerau-levenshtein@^1.0.4: | ||
version "1.0.4" | ||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" | ||
integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= | ||
|
||
dashdash@^1.12.0: | ||
version "1.14.1" | ||
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" | ||
|
@@ -5441,6 +5471,11 @@ elliptic@^6.0.0: | |
minimalistic-assert "^1.0.0" | ||
minimalistic-crypto-utils "^1.0.0" | ||
|
||
emoji-regex@^6.5.1: | ||
version "6.5.1" | ||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" | ||
integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ== | ||
|
||
emojis-list@^2.0.0: | ||
version "2.1.0" | ||
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" | ||
|
@@ -5859,6 +5894,20 @@ eslint-plugin-jest@^21.22.1: | |
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.22.1.tgz#bc805e9b1c75c3bc92e47c44dd41370c1af7ebcc" | ||
integrity sha512-OcVizyXljSps3nVfuPomfK8RKt7jvDsIsDrO7l1ZA4bDbiO9bEGWpsdU/x5F0pymVDG7ME88VlTboxbYJumLGQ== | ||
|
||
eslint-plugin-jsx-a11y@^6.1.1: | ||
version "6.1.1" | ||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz#7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1" | ||
integrity sha512-JsxNKqa3TwmPypeXNnI75FntkUktGzI1wSa1LgNZdSOMI+B4sxnr1lSF8m8lPiz4mKiC+14ysZQM4scewUrP7A== | ||
dependencies: | ||
aria-query "^3.0.0" | ||
array-includes "^3.0.3" | ||
ast-types-flow "^0.0.7" | ||
axobject-query "^2.0.1" | ||
damerau-levenshtein "^1.0.4" | ||
emoji-regex "^6.5.1" | ||
has "^1.0.3" | ||
jsx-ast-utils "^2.0.1" | ||
|
||
eslint-plugin-mocha@^5.2.0: | ||
version "5.2.0" | ||
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-5.2.0.tgz#d8786d9fff8cb8b5f6e4b61e40395d6568a5c4e2" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: please remove commented code.