diff options
author | MCMXC <16797721+mcmxcdev@users.noreply.github.com> | 2024-04-18 08:18:36 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 08:18:36 -0600 |
commit | c49723056acec489765acb54bae3889ac07f25af (patch) | |
tree | 58bea705d61a728b060e615ce514b8d4a7936c9e /.eslintrc.js | |
parent | feat: hide all services workspace (#1713) (diff) | |
download | ferdium-app-c49723056acec489765acb54bae3889ac07f25af.tar.gz ferdium-app-c49723056acec489765acb54bae3889ac07f25af.tar.zst ferdium-app-c49723056acec489765acb54bae3889ac07f25af.zip |
refactor: bring down eslint warnings to zero (#1714)
- install `@eslint-react/eslint-plugin` dependency
- configure `@eslint-react/eslint-plugin` in eslint config
- modernize `lint` command in `package.json`
- disable or fix various reported lint issues
- fix `div` being nested in `p` for settings
- replace deprecated `event.keyCode` with `event.key`
- update isEscKeyPress method and unit tests which used deprecated `event.keyCode`
- allow `eslint` v8 as peer dependency for `@eslint-react/eslint-plugin`
Diffstat (limited to '.eslintrc.js')
-rw-r--r-- | .eslintrc.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/.eslintrc.js b/.eslintrc.js index ed473c21b..f95bbbd9f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js | |||
@@ -17,8 +17,9 @@ module.exports = { | |||
17 | 'plugin:unicorn/recommended', | 17 | 'plugin:unicorn/recommended', |
18 | 'plugin:sonar/recommended', | 18 | 'plugin:sonar/recommended', |
19 | 'plugin:prettier/recommended', | 19 | 'plugin:prettier/recommended', |
20 | 'plugin:@eslint-react/recommended-legacy', | ||
20 | ], | 21 | ], |
21 | plugins: ['jest'], | 22 | plugins: ['@eslint-react', 'jest'], |
22 | settings: { | 23 | settings: { |
23 | react: { | 24 | react: { |
24 | pragma: 'React', // Pragma to use, default to "React" | 25 | pragma: 'React', // Pragma to use, default to "React" |
@@ -45,6 +46,7 @@ module.exports = { | |||
45 | // TODO: Opt-in to a stricter ruleset in the future | 46 | // TODO: Opt-in to a stricter ruleset in the future |
46 | // 'plugin:@typescript-eslint/strict-type-checked', | 47 | // 'plugin:@typescript-eslint/strict-type-checked', |
47 | 'plugin:@typescript-eslint/stylistic-type-checked', | 48 | 'plugin:@typescript-eslint/stylistic-type-checked', |
49 | 'plugin:@eslint-react/recommended-type-checked-legacy', | ||
48 | ], | 50 | ], |
49 | parser: '@typescript-eslint/parser', | 51 | parser: '@typescript-eslint/parser', |
50 | plugins: [], | 52 | plugins: [], |
@@ -71,6 +73,12 @@ module.exports = { | |||
71 | // eslint-plugin-import | 73 | // eslint-plugin-import |
72 | 'import/no-extraneous-dependencies': 0, | 74 | 'import/no-extraneous-dependencies': 0, |
73 | 75 | ||
76 | // @eslint-react | ||
77 | '@eslint-react/no-class-component': 0, | ||
78 | '@eslint-react/no-complicated-conditional-rendering': 0, | ||
79 | '@eslint-react/no-leaked-conditional-rendering': 0, | ||
80 | '@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks': 0, | ||
81 | |||
74 | // sonar | 82 | // sonar |
75 | 'sonar/no-try-promise': 0, | 83 | 'sonar/no-try-promise': 0, |
76 | }, | 84 | }, |
@@ -105,7 +113,7 @@ module.exports = { | |||
105 | 'react/jsx-filename-extension': 1, | 113 | 'react/jsx-filename-extension': 1, |
106 | 'react/jsx-no-bind': 1, | 114 | 'react/jsx-no-bind': 1, |
107 | 'react/jsx-props-no-spreading': 0, | 115 | 'react/jsx-props-no-spreading': 0, |
108 | 'react/prefer-stateless-function': 1, | 116 | 'react/prefer-stateless-function': 0, |
109 | 'react/static-property-placement': 0, | 117 | 'react/static-property-placement': 0, |
110 | 'react/state-in-constructor': 1, | 118 | 'react/state-in-constructor': 1, |
111 | 'react/sort-comp': 0, | 119 | 'react/sort-comp': 0, |
@@ -137,6 +145,7 @@ module.exports = { | |||
137 | 'unicorn/import-style': 0, | 145 | 'unicorn/import-style': 0, |
138 | 'unicorn/consistent-destructuring': 0, | 146 | 'unicorn/consistent-destructuring': 0, |
139 | 'unicorn/no-anonymous-default-export': 0, | 147 | 'unicorn/no-anonymous-default-export': 0, |
148 | 'unicorn/no-array-for-each': 0, | ||
140 | // eslint-plugin-sonar | 149 | // eslint-plugin-sonar |
141 | 'sonar/function-name': 0, | 150 | 'sonar/function-name': 0, |
142 | }, | 151 | }, |