Skip to content

Commit 5e5a7ea

Browse files
artemrutsumpox
andauthored
feat: add jsx-a11y plugin (#170)
* feat: add jsx-a11y plugin * fix: disable initial rules Co-authored-by: Tom Ross <[email protected]>
1 parent 2184027 commit 5e5a7ea

File tree

3 files changed

+79
-1
lines changed

3 files changed

+79
-1
lines changed

.eslintrc.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ module.exports = {
1414
'plugin:import/typescript',
1515
'plugin:unicorn/recommended',
1616
'plugin:jest-dom/recommended',
17+
'plugin:jsx-a11y/recommended',
1718
],
1819
globals: {
1920
globalThis: false, // false means not writable
2021
},
21-
plugins: ['ban', 'jsdoc', 'react', 'react-hooks', 'etc', 'rxjs', 'jest-dom'],
22+
plugins: ['ban', 'jsdoc', 'react', 'react-hooks', 'etc', 'rxjs', 'jest-dom', 'jsx-a11y'],
2223
settings: {
2324
react: {
2425
version: 'detect',
@@ -406,13 +407,20 @@ module.exports = {
406407
'jsdoc/require-param-type': 'off',
407408
'jsdoc/require-returns-type': 'off',
408409
'jsdoc/valid-types': 'off',
410+
409411
'import/no-unresolved': 'off',
410412
'import/default': 'off',
411413
'import/named': 'off',
412414
'import/namespace': 'off',
413415
'import/no-deprecated': 'off',
416+
414417
'react/no-direct-mutation-state': 'off',
415418
'react/jsx-no-undef': 'off',
419+
420+
'jsx-a11y/no-onchange': 'off', // Deprecated due to better browser support
421+
'jsx-a11y/no-autofocus': 'off', // Rule can't account for cases where autofocus can be expected
422+
'jsx-a11y/accessible-emoji': 'off', // Deprecated due to better browser support
423+
416424
'no-undef': 'off',
417425
'no-dupe-class-members': 'off',
418426
'require-await': 'off',

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"eslint-plugin-import": "^2.22.1",
4444
"eslint-plugin-jest-dom": "^3.6.5",
4545
"eslint-plugin-jsdoc": "^30.7.8",
46+
"eslint-plugin-jsx-a11y": "^6.4.1",
4647
"eslint-plugin-react": "^7.21.4",
4748
"eslint-plugin-react-hooks": "^4.2.0",
4849
"eslint-plugin-rxjs": "^2.1.5",

yarn.lock

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@
7676
dependencies:
7777
regenerator-runtime "^0.13.4"
7878

79+
"@babel/runtime@^7.11.2":
80+
version "7.11.2"
81+
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
82+
integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
83+
dependencies:
84+
regenerator-runtime "^0.13.4"
85+
7986
"@babel/template@^7.10.4":
8087
version "7.10.4"
8188
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
@@ -835,6 +842,11 @@ [email protected], assert-plus@^1.0.0:
835842
resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
836843
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
837844

845+
ast-types-flow@^0.0.7:
846+
version "0.0.7"
847+
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
848+
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
849+
838850
asynckit@^0.4.0:
839851
version "0.4.0"
840852
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -860,6 +872,16 @@ aws4@^1.8.0:
860872
resolved "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
861873
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
862874

875+
axe-core@^4.0.2:
876+
version "4.1.1"
877+
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.1.tgz#70a7855888e287f7add66002211a423937063eaf"
878+
integrity sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==
879+
880+
axobject-query@^2.2.0:
881+
version "2.2.0"
882+
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
883+
integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
884+
863885
balanced-match@^1.0.0:
864886
version "1.0.0"
865887
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -1449,6 +1471,11 @@ cyclist@~0.2.2:
14491471
resolved "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
14501472
integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
14511473

1474+
damerau-levenshtein@^1.0.6:
1475+
version "1.0.6"
1476+
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
1477+
integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==
1478+
14521479
dargs@^4.0.1:
14531480
version "4.1.0"
14541481
resolved "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
@@ -1662,6 +1689,11 @@ emoji-regex@^8.0.0:
16621689
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
16631690
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
16641691

1692+
emoji-regex@^9.0.0:
1693+
version "9.2.0"
1694+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.0.tgz#a26da8e832b16a9753309f25e35e3c0efb9a066a"
1695+
integrity sha512-DNc3KFPK18bPdElMJnf/Pkv5TXhxFU3YFDEuGLDRtPmV4rkmCjBkCSEp22u6rBHdSN9Vlp/GK7k98prmE1Jgug==
1696+
16651697
encoding@^0.1.11:
16661698
version "0.1.12"
16671699
resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
@@ -1874,6 +1906,23 @@ eslint-plugin-jsdoc@^30.7.8:
18741906
semver "^7.3.2"
18751907
spdx-expression-parse "^3.0.1"
18761908

1909+
eslint-plugin-jsx-a11y@^6.4.1:
1910+
version "6.4.1"
1911+
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd"
1912+
integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==
1913+
dependencies:
1914+
"@babel/runtime" "^7.11.2"
1915+
aria-query "^4.2.2"
1916+
array-includes "^3.1.1"
1917+
ast-types-flow "^0.0.7"
1918+
axe-core "^4.0.2"
1919+
axobject-query "^2.2.0"
1920+
damerau-levenshtein "^1.0.6"
1921+
emoji-regex "^9.0.0"
1922+
has "^1.0.3"
1923+
jsx-ast-utils "^3.1.0"
1924+
language-tags "^1.0.5"
1925+
18771926
eslint-plugin-react-hooks@^4.2.0:
18781927
version "4.2.0"
18791928
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556"
@@ -2985,11 +3034,31 @@ jsprim@^1.2.2:
29853034
array-includes "^3.1.1"
29863035
object.assign "^4.1.1"
29873036

3037+
jsx-ast-utils@^3.1.0:
3038+
version "3.1.0"
3039+
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891"
3040+
integrity sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==
3041+
dependencies:
3042+
array-includes "^3.1.1"
3043+
object.assign "^4.1.1"
3044+
29883045
kleur@^3.0.3:
29893046
version "3.0.3"
29903047
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
29913048
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
29923049

3050+
language-subtag-registry@~0.3.2:
3051+
version "0.3.21"
3052+
resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a"
3053+
integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==
3054+
3055+
language-tags@^1.0.5:
3056+
version "1.0.5"
3057+
resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
3058+
integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
3059+
dependencies:
3060+
language-subtag-registry "~0.3.2"
3061+
29933062
latest-version@^3.0.0:
29943063
version "3.1.0"
29953064
resolved "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"

0 commit comments

Comments
 (0)