@@ -4,7 +4,6 @@ import typescriptEslint from '@typescript-eslint/eslint-plugin';
44import tsParser from '@typescript-eslint/parser' ;
55import vitest from '@vitest/eslint-plugin' ;
66import jestDom from 'eslint-plugin-jest-dom' ;
7- import react from 'eslint-plugin-react' ;
87import reactHooks from 'eslint-plugin-react-hooks' ;
98import sonarjs from 'eslint-plugin-sonarjs' ;
109import testingLibrary from 'eslint-plugin-testing-library' ;
@@ -24,7 +23,6 @@ export default defineConfig([
2423 files : [ '**/*.{js,ts,tsx}' ] ,
2524
2625 plugins : {
27- react,
2826 // @ts -expect-error
2927 'react-hooks' : reactHooks ,
3028 'react-x' : reactX ,
@@ -44,12 +42,6 @@ export default defineConfig([
4442 }
4543 } ,
4644
47- settings : {
48- react : {
49- version : 'detect'
50- }
51- } ,
52-
5345 rules : {
5446 // Possible Problems
5547 // https://eslint.org/docs/latest/rules/#possible-problems
@@ -266,123 +258,6 @@ export default defineConfig([
266258 // https://eslint.org/docs/latest/rules/#layout--formatting
267259 'unicode-bom' : 1 ,
268260
269- // React rules
270- // https://github.com/jsx-eslint/eslint-plugin-react#list-of-supported-rules
271- 'react/boolean-prop-naming' : 0 ,
272- 'react/button-has-type' : 0 ,
273- 'react/checked-requires-onchange-or-readonly' : 1 ,
274- 'react/default-props-match-prop-types' : 0 ,
275- 'react/destructuring-assignment' : 0 ,
276- 'react/display-name' : 0 ,
277- 'react/forbid-component-props' : 0 ,
278- 'react/forbid-dom-props' : 0 ,
279- 'react/forbid-elements' : 0 ,
280- 'react/forbid-foreign-prop-types' : 0 ,
281- 'react/forbid-prop-types' : 0 ,
282- 'react/forward-ref-uses-ref' : 1 ,
283- 'react/function-component-definition' : [
284- 1 ,
285- {
286- namedComponents : 'function-declaration' ,
287- unnamedComponents : 'function-expression'
288- }
289- ] ,
290- 'react/hook-use-state' : 0 ,
291- 'react/iframe-missing-sandbox' : 1 ,
292- 'react/jsx-boolean-value' : 1 ,
293- 'react/jsx-child-element-spacing' : 0 ,
294- 'react/jsx-closing-bracket-location' : 0 ,
295- 'react/jsx-closing-tag-location' : 0 ,
296- 'react/jsx-curly-brace-presence' : 1 ,
297- 'react/jsx-curly-newline' : 0 ,
298- 'react/jsx-curly-spacing' : 0 ,
299- 'react/jsx-equals-spacing' : 0 ,
300- 'react/jsx-filename-extension' : [ 1 , { extensions : [ '.tsx' ] } ] ,
301- 'react/jsx-first-prop-new-line' : 0 ,
302- 'react/jsx-fragments' : 1 ,
303- 'react/jsx-handler-names' : 0 ,
304- 'react/jsx-indent' : 0 ,
305- 'react/jsx-indent-props' : 0 ,
306- 'react/jsx-key' : [
307- 1 ,
308- {
309- checkFragmentShorthand : true ,
310- checkKeyMustBeforeSpread : true ,
311- warnOnDuplicates : true
312- }
313- ] ,
314- 'react/jsx-max-depth' : 0 ,
315- 'react/jsx-max-props-per-line' : 0 ,
316- 'react/jsx-newline' : 0 ,
317- 'react/jsx-no-bind' : 0 ,
318- 'react/jsx-no-comment-textnodes' : 1 ,
319- 'react/jsx-no-constructed-context-values' : 1 ,
320- 'react/jsx-no-duplicate-props' : 0 ,
321- 'react/jsx-no-leaked-render' : 0 ,
322- 'react/jsx-no-literals' : 0 ,
323- 'react/jsx-no-script-url' : 1 ,
324- 'react/jsx-no-target-blank' : 1 ,
325- 'react/jsx-no-undef' : 0 ,
326- 'react/jsx-no-useless-fragment' : 1 ,
327- 'react/jsx-one-expression-per-line' : 0 ,
328- 'react/jsx-pascal-case' : 1 ,
329- 'react/jsx-props-no-multi-spaces' : 0 ,
330- 'react/jsx-props-no-spread-multi' : 1 ,
331- 'react/jsx-props-no-spreading' : 0 ,
332- 'react/jsx-sort-props' : 0 ,
333- 'react/jsx-tag-spacing' : 0 ,
334- 'react/jsx-uses-react' : 0 ,
335- 'react/jsx-uses-vars' : 1 ,
336- 'react/jsx-wrap-multilines' : 0 ,
337- 'react/no-access-state-in-setstate' : 1 ,
338- 'react/no-adjacent-inline-elements' : 0 ,
339- 'react/no-array-index-key' : 0 ,
340- 'react/no-arrow-function-lifecycle' : 0 ,
341- 'react/no-children-prop' : 0 ,
342- 'react/no-danger' : 1 ,
343- 'react/no-danger-with-children' : 1 ,
344- 'react/no-deprecated' : 1 ,
345- 'react/no-did-mount-set-state' : 1 ,
346- 'react/no-did-update-set-state' : 1 ,
347- 'react/no-direct-mutation-state' : 1 ,
348- 'react/no-find-dom-node' : 0 ,
349- 'react/no-invalid-html-attribute' : 1 ,
350- 'react/no-is-mounted' : 1 ,
351- 'react/no-multi-comp' : 0 ,
352- 'react/no-namespace' : 0 ,
353- 'react/no-object-type-as-default-prop' : 1 ,
354- 'react/no-redundant-should-component-update' : 1 ,
355- 'react/no-render-return-value' : 0 ,
356- 'react/no-set-state' : 0 ,
357- 'react/no-string-refs' : [ 1 , { noTemplateLiterals : true } ] ,
358- 'react/no-this-in-sfc' : 0 ,
359- 'react/no-typos' : 1 ,
360- 'react/no-unescaped-entities' : 0 ,
361- 'react/no-unknown-property' : 0 ,
362- 'react/no-unsafe' : 1 ,
363- 'react/no-unstable-nested-components' : [ 1 , { allowAsProps : true } ] ,
364- 'react/no-unused-class-component-methods' : 0 ,
365- 'react/no-unused-prop-types' : 0 ,
366- 'react/no-unused-state' : 0 ,
367- 'react/no-will-update-set-state' : 1 ,
368- 'react/prefer-es6-class' : 1 ,
369- 'react/prefer-exact-props' : 0 ,
370- 'react/prefer-read-only-props' : 0 ,
371- 'react/prefer-stateless-function' : 0 ,
372- 'react/prop-types' : 0 ,
373- 'react/react-in-jsx-scope' : 0 ,
374- 'react/require-default-props' : 0 ,
375- 'react/require-optimization' : 0 ,
376- 'react/require-render-return' : 1 ,
377- 'react/self-closing-comp' : 1 ,
378- 'react/sort-comp' : 0 ,
379- 'react/sort-default-props' : 0 ,
380- 'react/sort-prop-types' : 0 ,
381- 'react/state-in-constructor' : 0 ,
382- 'react/static-property-placement' : 1 ,
383- 'react/style-prop-object' : 0 ,
384- 'react/void-dom-elements-no-children' : 1 ,
385-
386261 // React Hooks
387262 // https://www.npmjs.com/package/eslint-plugin-react-hooks
388263 'react-hooks/rules-of-hooks' : 1 ,
0 commit comments