eslint-config-setup 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,6 @@ import perfectionistPlugin from "eslint-plugin-perfectionist"
17
17
  import playwrightPlugin from "eslint-plugin-playwright"
18
18
  import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
19
19
  import reactHooksPlugin from "eslint-plugin-react-hooks"
20
- import reactRefreshPlugin from "eslint-plugin-react-refresh"
21
20
  import regexpPlugin from "eslint-plugin-regexp"
22
21
  import securityPlugin from "eslint-plugin-security"
23
22
  import sonarjsPlugin from "eslint-plugin-sonarjs"
@@ -50,7 +49,6 @@ export default [
50
49
  "react": eslintReactPlugin,
51
50
  "react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
52
51
  "react-hooks": reactHooksPlugin,
53
- "react-refresh": reactRefreshPlugin,
54
52
  "react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
55
53
  "react-you-might-not-need-an-effect": reactEffectPlugin,
56
54
  "regexp": regexpPlugin,
@@ -87,51 +85,14 @@ export default [
87
85
  }
88
86
  ],
89
87
  "@stylistic/jsx-self-closing-comp": "error",
90
- "@typescript-eslint/adjacent-overload-signatures": "error",
91
- "@typescript-eslint/array-type": [
92
- "error",
93
- {
94
- "default": "array-simple"
95
- }
96
- ],
97
88
  "@typescript-eslint/await-thenable": "error",
98
- "@typescript-eslint/ban-ts-comment": [
99
- "error",
100
- {
101
- "minimumDescriptionLength": 10
102
- }
103
- ],
104
- "@typescript-eslint/ban-tslint-comment": "error",
105
- "@typescript-eslint/class-literal-property-style": "error",
106
- "@typescript-eslint/consistent-generic-constructors": "error",
107
- "@typescript-eslint/consistent-indexed-object-style": "error",
108
- "@typescript-eslint/consistent-type-assertions": "error",
109
- "@typescript-eslint/consistent-type-definitions": [
110
- "error",
111
- "type"
112
- ],
113
89
  "@typescript-eslint/consistent-type-exports": [
114
90
  "error",
115
91
  {
116
92
  "fixMixedExportsWithInlineTypeSpecifier": true
117
93
  }
118
94
  ],
119
- "@typescript-eslint/consistent-type-imports": [
120
- "error",
121
- {
122
- "fixStyle": "inline-type-imports"
123
- }
124
- ],
125
95
  "@typescript-eslint/dot-notation": "error",
126
- "@typescript-eslint/explicit-function-return-type": [
127
- "error",
128
- {
129
- "allowExpressions": true,
130
- "allowTypedFunctionExpressions": true,
131
- "allowHigherOrderFunctions": true,
132
- "allowIIFEs": true
133
- }
134
- ],
135
96
  "@typescript-eslint/explicit-member-accessibility": "error",
136
97
  "@typescript-eslint/member-ordering": [
137
98
  "warn",
@@ -198,12 +159,45 @@ export default [
198
159
  ],
199
160
  "@typescript-eslint/naming-convention": [
200
161
  "error",
162
+ {
163
+ "selector": "variable",
164
+ "format": [
165
+ "strictCamelCase",
166
+ "UPPER_CASE",
167
+ "StrictPascalCase"
168
+ ],
169
+ "leadingUnderscore": "allowSingleOrDouble",
170
+ "trailingUnderscore": "allow",
171
+ "filter": {
172
+ "regex": "[- ]",
173
+ "match": false
174
+ }
175
+ },
176
+ {
177
+ "selector": "function",
178
+ "format": [
179
+ "strictCamelCase",
180
+ "StrictPascalCase"
181
+ ]
182
+ },
183
+ {
184
+ "selector": "parameter",
185
+ "format": [
186
+ "strictCamelCase"
187
+ ],
188
+ "leadingUnderscore": "allow"
189
+ },
190
+ {
191
+ "selector": "import",
192
+ "format": [
193
+ "strictCamelCase",
194
+ "StrictPascalCase",
195
+ "UPPER_CASE"
196
+ ]
197
+ },
201
198
  {
202
199
  "selector": [
203
- "variable",
204
- "function",
205
200
  "classProperty",
206
- "objectLiteralProperty",
207
201
  "parameterProperty",
208
202
  "classMethod",
209
203
  "objectLiteralMethod",
@@ -220,6 +214,13 @@ export default [
220
214
  "match": false
221
215
  }
222
216
  },
217
+ {
218
+ "selector": [
219
+ "objectLiteralProperty",
220
+ "typeProperty"
221
+ ],
222
+ "format": null
223
+ },
223
224
  {
224
225
  "selector": "typeLike",
225
226
  "format": [
@@ -274,25 +275,11 @@ export default [
274
275
  ]
275
276
  }
276
277
  ],
277
- "@typescript-eslint/no-array-constructor": "error",
278
278
  "@typescript-eslint/no-array-delete": "error",
279
279
  "@typescript-eslint/no-base-to-string": "error",
280
- "@typescript-eslint/no-confusing-non-null-assertion": "error",
281
280
  "@typescript-eslint/no-confusing-void-expression": "error",
282
281
  "@typescript-eslint/no-deprecated": "warn",
283
- "@typescript-eslint/no-duplicate-enum-values": "error",
284
282
  "@typescript-eslint/no-duplicate-type-constituents": "error",
285
- "@typescript-eslint/no-dynamic-delete": "error",
286
- "@typescript-eslint/no-empty-function": "error",
287
- "@typescript-eslint/no-empty-object-type": "error",
288
- "@typescript-eslint/no-explicit-any": [
289
- "error",
290
- {
291
- "fixToUnknown": true
292
- }
293
- ],
294
- "@typescript-eslint/no-extra-non-null-assertion": "error",
295
- "@typescript-eslint/no-extraneous-class": "error",
296
283
  "@typescript-eslint/no-floating-promises": [
297
284
  "error",
298
285
  {
@@ -302,102 +289,32 @@ export default [
302
289
  ],
303
290
  "@typescript-eslint/no-for-in-array": "error",
304
291
  "@typescript-eslint/no-implied-eval": "error",
305
- "@typescript-eslint/no-import-type-side-effects": "error",
306
- "@typescript-eslint/no-inferrable-types": "error",
307
- "@typescript-eslint/no-invalid-void-type": "error",
308
- "@typescript-eslint/no-magic-numbers": [
309
- "error",
310
- {
311
- "ignore": [
312
- -1,
313
- 0,
314
- 1,
315
- 2
316
- ],
317
- "ignoreArrayIndexes": true,
318
- "ignoreDefaultValues": true,
319
- "enforceConst": true,
320
- "ignoreClassFieldInitialValues": true,
321
- "ignoreEnums": true,
322
- "ignoreNumericLiteralTypes": true,
323
- "ignoreReadonlyClassProperties": true,
324
- "ignoreTypeIndexes": true
325
- }
326
- ],
327
292
  "@typescript-eslint/no-meaningless-void-operator": "error",
328
- "@typescript-eslint/no-misused-new": "error",
329
293
  "@typescript-eslint/no-misused-promises": "error",
330
294
  "@typescript-eslint/no-misused-spread": "error",
331
295
  "@typescript-eslint/no-mixed-enums": "error",
332
- "@typescript-eslint/no-namespace": "error",
333
- "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
334
- "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
335
- "@typescript-eslint/no-non-null-assertion": "error",
336
296
  "@typescript-eslint/no-redundant-type-constituents": "error",
337
- "@typescript-eslint/no-require-imports": "error",
338
- "@typescript-eslint/no-shadow": [
339
- "error",
340
- {
341
- "hoist": "all",
342
- "allow": [
343
- "resolve",
344
- "reject",
345
- "done",
346
- "next",
347
- "error"
348
- ],
349
- "ignoreTypeValueShadow": true,
350
- "ignoreFunctionTypeParameterNameValueShadow": true
351
- }
352
- ],
353
- "@typescript-eslint/no-this-alias": "error",
354
297
  "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
355
298
  "@typescript-eslint/no-unnecessary-condition": "error",
356
- "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
357
299
  "@typescript-eslint/no-unnecessary-qualifier": "error",
358
300
  "@typescript-eslint/no-unnecessary-template-expression": "error",
359
301
  "@typescript-eslint/no-unnecessary-type-arguments": "error",
360
302
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
361
- "@typescript-eslint/no-unnecessary-type-constraint": "error",
362
303
  "@typescript-eslint/no-unnecessary-type-conversion": "error",
363
304
  "@typescript-eslint/no-unnecessary-type-parameters": "error",
364
305
  "@typescript-eslint/no-unsafe-argument": "error",
365
306
  "@typescript-eslint/no-unsafe-assignment": "error",
366
307
  "@typescript-eslint/no-unsafe-call": "error",
367
- "@typescript-eslint/no-unsafe-declaration-merging": "error",
368
308
  "@typescript-eslint/no-unsafe-enum-comparison": "error",
369
- "@typescript-eslint/no-unsafe-function-type": "error",
370
309
  "@typescript-eslint/no-unsafe-member-access": "error",
371
310
  "@typescript-eslint/no-unsafe-return": "error",
372
311
  "@typescript-eslint/no-unsafe-type-assertion": "error",
373
312
  "@typescript-eslint/no-unsafe-unary-minus": "error",
374
- "@typescript-eslint/no-unused-expressions": "error",
375
- "@typescript-eslint/no-unused-vars": [
376
- "error",
377
- {
378
- "args": "all",
379
- "argsIgnorePattern": "^_",
380
- "caughtErrors": "all",
381
- "caughtErrorsIgnorePattern": "^_",
382
- "destructuredArrayIgnorePattern": "^_",
383
- "varsIgnorePattern": "^_",
384
- "ignoreRestSiblings": true
385
- }
386
- ],
387
- "@typescript-eslint/no-useless-constructor": "error",
388
313
  "@typescript-eslint/no-useless-default-assignment": "error",
389
- "@typescript-eslint/no-useless-empty-export": "error",
390
- "@typescript-eslint/no-wrapper-object-types": "error",
391
314
  "@typescript-eslint/non-nullable-type-assertion-style": "error",
392
315
  "@typescript-eslint/only-throw-error": "error",
393
- "@typescript-eslint/prefer-as-const": "error",
394
- "@typescript-eslint/prefer-enum-initializers": "error",
395
316
  "@typescript-eslint/prefer-find": "error",
396
- "@typescript-eslint/prefer-for-of": "error",
397
- "@typescript-eslint/prefer-function-type": "error",
398
317
  "@typescript-eslint/prefer-includes": "error",
399
- "@typescript-eslint/prefer-literal-enum-member": "error",
400
- "@typescript-eslint/prefer-namespace-keyword": "error",
401
318
  "@typescript-eslint/prefer-nullish-coalescing": "error",
402
319
  "@typescript-eslint/prefer-optional-chain": "error",
403
320
  "@typescript-eslint/prefer-promise-reject-errors": "error",
@@ -450,9 +367,7 @@ export default [
450
367
  "requireDefaultForNonUnion": true
451
368
  }
452
369
  ],
453
- "@typescript-eslint/triple-slash-reference": "error",
454
370
  "@typescript-eslint/unbound-method": "error",
455
- "@typescript-eslint/unified-signatures": "error",
456
371
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "error",
457
372
  "accessor-pairs": [
458
373
  "error",
@@ -476,98 +391,34 @@ export default [
476
391
  "de-morgan/no-negated-disjunction": "error",
477
392
  "default-case-last": "error",
478
393
  "eqeqeq": "error",
479
- "for-direction": "error",
480
394
  "grouped-accessor-pairs": [
481
395
  "error",
482
396
  "getBeforeSet"
483
397
  ],
484
398
  "guard-for-in": "error",
485
- "import/first": "error",
486
399
  "import/newline-after-import": "error",
487
- "import/no-absolute-path": "error",
488
- "import/no-cycle": [
489
- "error",
490
- {
491
- "maxDepth": 3
492
- }
493
- ],
494
- "import/no-duplicates": [
495
- "error",
496
- {
497
- "prefer-inline": true
498
- }
499
- ],
500
- "import/no-empty-named-blocks": "error",
501
- "import/no-mutable-exports": "error",
502
- "import/no-named-as-default": "error",
503
- "import/no-named-as-default-member": "error",
504
- "import/no-self-import": "error",
505
400
  "import/no-useless-path-segments": "error",
506
- "jsdoc/check-access": "error",
507
401
  "jsdoc/check-alignment": "error",
508
402
  "jsdoc/check-param-names": "error",
509
- "jsdoc/check-property-names": "error",
510
- "jsdoc/check-tag-names": "error",
511
403
  "jsdoc/check-types": "error",
512
404
  "jsdoc/check-values": "error",
513
- "jsdoc/empty-tags": "error",
514
405
  "jsdoc/escape-inline-tags": "error",
515
- "jsdoc/implements-on-classes": "error",
516
406
  "jsdoc/informative-docs": "error",
517
407
  "jsdoc/multiline-blocks": "error",
518
- "jsdoc/no-defaults": "error",
519
408
  "jsdoc/no-multi-asterisks": "error",
520
409
  "jsdoc/no-types": "error",
521
410
  "jsdoc/no-undefined-types": "error",
522
411
  "jsdoc/reject-any-type": "error",
523
412
  "jsdoc/reject-function-type": "error",
524
413
  "jsdoc/require-next-type": "error",
525
- "jsdoc/require-param": "error",
526
- "jsdoc/require-param-description": "warn",
527
- "jsdoc/require-param-name": "error",
528
- "jsdoc/require-property": "error",
529
- "jsdoc/require-property-description": "error",
530
- "jsdoc/require-property-name": "error",
531
- "jsdoc/require-returns": "error",
532
414
  "jsdoc/require-returns-check": "error",
533
- "jsdoc/require-returns-description": "warn",
534
415
  "jsdoc/require-throws-type": "error",
535
416
  "jsdoc/require-yields-check": "error",
536
417
  "jsdoc/require-yields-type": "error",
537
418
  "jsdoc/ts-no-empty-object-type": "error",
538
419
  "jsdoc/valid-types": "error",
539
- "jsx-a11y/alt-text": "error",
540
- "jsx-a11y/anchor-has-content": "error",
541
- "jsx-a11y/anchor-is-valid": "error",
542
- "jsx-a11y/aria-activedescendant-has-tabindex": "error",
543
- "jsx-a11y/aria-props": "error",
544
- "jsx-a11y/aria-proptypes": "error",
545
- "jsx-a11y/aria-role": "error",
546
- "jsx-a11y/aria-unsupported-elements": "error",
547
- "jsx-a11y/autocomplete-valid": "error",
548
- "jsx-a11y/click-events-have-key-events": "error",
549
- "jsx-a11y/heading-has-content": "error",
550
- "jsx-a11y/html-has-lang": "error",
551
- "jsx-a11y/img-redundant-alt": "error",
552
420
  "jsx-a11y/interactive-supports-focus": "error",
553
- "jsx-a11y/label-has-associated-control": "error",
554
- "jsx-a11y/lang": "error",
555
- "jsx-a11y/mouse-events-have-key-events": "error",
556
- "jsx-a11y/no-access-key": "error",
557
- "jsx-a11y/no-autofocus": [
558
- "error",
559
- {
560
- "ignoreNonDOM": true
561
- }
562
- ],
563
- "jsx-a11y/no-distracting-elements": "error",
564
421
  "jsx-a11y/no-noninteractive-element-interactions": "error",
565
- "jsx-a11y/no-redundant-roles": "error",
566
- "jsx-a11y/no-static-element-interactions": "error",
567
- "jsx-a11y/role-has-required-aria-props": "error",
568
- "jsx-a11y/role-supports-aria-props": "error",
569
- "jsx-a11y/scope": "error",
570
- "jsx-a11y/tabindex-no-positive": "error",
571
422
  "logical-assignment-operators": [
572
423
  "error",
573
424
  "always",
@@ -608,20 +459,9 @@ export default [
608
459
  15
609
460
  ],
610
461
  "no-alert": "error",
611
- "no-async-promise-executor": "error",
612
462
  "no-await-in-loop": "error",
613
- "no-caller": "error",
614
463
  "no-case-declarations": "error",
615
- "no-compare-neg-zero": "error",
616
- "no-cond-assign": "error",
617
- "no-constant-binary-expression": "error",
618
- "no-constant-condition": "error",
619
464
  "no-constructor-return": "error",
620
- "no-control-regex": "error",
621
- "no-debugger": "error",
622
- "no-delete-var": "error",
623
- "no-dupe-else-if": "error",
624
- "no-duplicate-case": "error",
625
465
  "no-else-return": [
626
466
  "error",
627
467
  {
@@ -629,23 +469,13 @@ export default [
629
469
  }
630
470
  ],
631
471
  "no-empty": "error",
632
- "no-empty-pattern": "error",
633
- "no-empty-static-block": "error",
634
- "no-eval": "error",
635
- "no-ex-assign": "error",
636
472
  "no-extend-native": "error",
637
473
  "no-extra-bind": "error",
638
- "no-extra-boolean-cast": "error",
639
474
  "no-fallthrough": "error",
640
- "no-global-assign": "error",
641
475
  "no-implicit-coercion": "error",
642
- "no-irregular-whitespace": "error",
643
- "no-iterator": "error",
644
476
  "no-labels": "error",
645
477
  "no-lone-blocks": "error",
646
478
  "no-lonely-if": "error",
647
- "no-loss-of-precision": "error",
648
- "no-misleading-character-class": "error",
649
479
  "no-multi-assign": "error",
650
480
  "no-multi-str": "error",
651
481
  "no-negated-condition": "error",
@@ -653,7 +483,6 @@ export default [
653
483
  "no-new": "error",
654
484
  "no-new-func": "error",
655
485
  "no-new-wrappers": "error",
656
- "no-nonoctal-decimal-escape": "error",
657
486
  "no-object-constructor": "error",
658
487
  "no-octal": "error",
659
488
  "no-octal-escape": "error",
@@ -672,27 +501,16 @@ export default [
672
501
  "always"
673
502
  ],
674
503
  "no-script-url": "error",
675
- "no-self-assign": "error",
676
504
  "no-self-compare": "error",
677
505
  "no-sequences": "error",
678
- "no-shadow-restricted-names": "error",
679
- "no-sparse-arrays": "error",
680
506
  "no-template-curly-in-string": "error",
681
- "no-unassigned-vars": "error",
682
507
  "no-unmodified-loop-condition": "error",
683
508
  "no-unneeded-ternary": "error",
684
509
  "no-unreachable-loop": "error",
685
- "no-unsafe-finally": "error",
686
- "no-unsafe-optional-chaining": "error",
687
- "no-unused-labels": "error",
688
- "no-unused-private-class-members": "error",
689
510
  "no-useless-assignment": "error",
690
511
  "no-useless-call": "error",
691
- "no-useless-catch": "error",
692
512
  "no-useless-computed-key": "error",
693
513
  "no-useless-concat": "error",
694
- "no-useless-escape": "error",
695
- "no-useless-rename": "error",
696
514
  "no-useless-return": "error",
697
515
  "no-var": "error",
698
516
  "no-warning-comments": "warn",
@@ -759,14 +577,7 @@ export default [
759
577
  "react-dom/no-unknown-property": "error",
760
578
  "react-dom/no-unsafe-target-blank": "error",
761
579
  "react-dom/no-void-elements-with-children": "error",
762
- "react-hooks/exhaustive-deps": "error",
763
580
  "react-hooks/rules-of-hooks": "error",
764
- "react-refresh/only-export-components": [
765
- "warn",
766
- {
767
- "allowConstantExport": true
768
- }
769
- ],
770
581
  "react-web-api/no-leaked-event-listener": "error",
771
582
  "react-web-api/no-leaked-interval": "error",
772
583
  "react-web-api/no-leaked-resize-observer": "error",
@@ -780,13 +591,9 @@ export default [
780
591
  "react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
781
592
  "react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
782
593
  "react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
783
- "react/jsx-no-comment-textnodes": "error",
784
594
  "react/jsx-shorthand-boolean": "error",
785
595
  "react/no-access-state-in-setstate": "error",
786
- "react/no-array-index-key": "error",
787
- "react/no-children-prop": "error",
788
596
  "react/no-context-provider": "error",
789
- "react/no-direct-mutation-state": "error",
790
597
  "react/no-duplicate-key": "error",
791
598
  "react/no-forward-ref": "error",
792
599
  "react/no-leaked-conditional-rendering": "error",
@@ -870,7 +677,6 @@ export default [
870
677
  "regexp/use-ignore-case": "error",
871
678
  "require-atomic-updates": "error",
872
679
  "require-unicode-regexp": "error",
873
- "require-yield": "error",
874
680
  "security/detect-bidi-characters": "error",
875
681
  "security/detect-buffer-noassert": "error",
876
682
  "security/detect-child-process": "error",
@@ -925,118 +731,24 @@ export default [
925
731
  "sonarjs/public-static-readonly": "error",
926
732
  "sonarjs/reduce-initial-value": "error",
927
733
  "symbol-description": "error",
928
- "unicorn/better-regex": "error",
929
- "unicorn/catch-error-name": [
930
- "error",
931
- {
932
- "name": "error"
933
- }
934
- ],
935
- "unicorn/consistent-date-clone": "error",
936
- "unicorn/consistent-empty-array-spread": "error",
937
- "unicorn/consistent-existence-index-check": "error",
938
- "unicorn/consistent-function-scoping": "error",
939
734
  "unicorn/custom-error-definition": "error",
940
- "unicorn/error-message": "error",
941
- "unicorn/explicit-length-check": "error",
942
- "unicorn/filename-case": [
943
- "error",
944
- {
945
- "cases": {
946
- "camelCase": true,
947
- "pascalCase": true
948
- }
949
- }
950
- ],
951
- "unicorn/new-for-builtins": "error",
952
- "unicorn/no-abusive-eslint-disable": "error",
953
- "unicorn/no-accessor-recursion": "error",
954
- "unicorn/no-anonymous-default-export": "error",
955
- "unicorn/no-array-callback-reference": "error",
956
- "unicorn/no-array-for-each": "error",
957
- "unicorn/no-array-method-this-argument": "error",
958
735
  "unicorn/no-array-push-push": "error",
959
- "unicorn/no-array-reduce": "error",
960
- "unicorn/no-await-expression-member": "error",
961
- "unicorn/no-await-in-promise-methods": "error",
962
736
  "unicorn/no-for-loop": "error",
963
- "unicorn/no-instanceof-builtins": "error",
964
- "unicorn/no-invalid-fetch-options": "error",
965
- "unicorn/no-invalid-remove-event-listener": "error",
966
- "unicorn/no-negation-in-equality-check": "error",
967
- "unicorn/no-new-array": "error",
968
- "unicorn/no-new-buffer": "error",
969
- "unicorn/no-thenable": "error",
970
- "unicorn/no-this-assignment": "error",
971
- "unicorn/no-typeof-undefined": "error",
972
- "unicorn/no-unnecessary-await": "error",
973
- "unicorn/no-unnecessary-slice-end": "error",
974
- "unicorn/no-unreadable-array-destructuring": "error",
975
- "unicorn/no-unreadable-iife": "error",
976
- "unicorn/no-useless-fallback-in-spread": "error",
977
- "unicorn/no-useless-length-check": "error",
978
- "unicorn/no-useless-promise-resolve-reject": "error",
979
- "unicorn/no-useless-spread": "error",
980
- "unicorn/no-useless-switch-case": "error",
981
- "unicorn/no-useless-undefined": "error",
982
- "unicorn/no-zero-fractions": "error",
983
- "unicorn/numeric-separators-style": "error",
984
- "unicorn/prefer-array-find": "error",
985
- "unicorn/prefer-array-flat": "error",
986
- "unicorn/prefer-array-flat-map": "error",
987
- "unicorn/prefer-array-index-of": "error",
988
- "unicorn/prefer-array-some": "error",
989
- "unicorn/prefer-at": "error",
990
- "unicorn/prefer-date-now": "error",
991
- "unicorn/prefer-default-parameters": "error",
992
737
  "unicorn/prefer-export-from": [
993
738
  "error",
994
739
  {
995
740
  "ignoreUsedVariables": true
996
741
  }
997
742
  ],
998
- "unicorn/prefer-global-this": "error",
999
743
  "unicorn/prefer-import-meta-properties": "error",
1000
- "unicorn/prefer-includes": "error",
1001
- "unicorn/prefer-logical-operator-over-ternary": "error",
1002
- "unicorn/prefer-math-min-max": "error",
1003
- "unicorn/prefer-modern-dom-apis": "error",
1004
- "unicorn/prefer-modern-math-apis": "error",
1005
- "unicorn/prefer-native-coercion-functions": "error",
1006
- "unicorn/prefer-negative-index": "error",
1007
- "unicorn/prefer-node-protocol": "error",
1008
- "unicorn/prefer-number-properties": "error",
1009
- "unicorn/prefer-object-from-entries": "error",
1010
- "unicorn/prefer-optional-catch-binding": "error",
1011
- "unicorn/prefer-regexp-test": "error",
1012
- "unicorn/prefer-set-has": "error",
1013
- "unicorn/prefer-set-size": "error",
1014
- "unicorn/prefer-spread": "error",
1015
- "unicorn/prefer-string-replace-all": "error",
1016
- "unicorn/prefer-string-slice": "error",
1017
- "unicorn/prefer-string-starts-ends-with": "error",
1018
- "unicorn/prefer-string-trim-start-end": "error",
1019
- "unicorn/prefer-structured-clone": "error",
1020
744
  "unicorn/prefer-switch": [
1021
745
  "error",
1022
746
  {
1023
747
  "minimumCases": 3
1024
748
  }
1025
749
  ],
1026
- "unicorn/prefer-ternary": [
1027
- "error",
1028
- "only-single-line"
1029
- ],
1030
- "unicorn/prefer-top-level-await": "error",
1031
- "unicorn/prefer-type-error": "error",
1032
750
  "unicorn/prevent-abbreviations": "error",
1033
- "unicorn/relative-url-style": "error",
1034
- "unicorn/switch-case-braces": "error",
1035
- "unicorn/text-encoding-identifier-case": "error",
1036
- "unicorn/throw-new-error": "error",
1037
751
  "unused-imports/no-unused-imports": "error",
1038
- "use-isnan": "error",
1039
- "valid-typeof": "error",
1040
752
  "yoda": "error"
1041
753
  },
1042
754
  },
@@ -1099,25 +811,12 @@ export default [
1099
811
  "@typescript-eslint/strict-void-return": "off",
1100
812
  "@typescript-eslint/unbound-method": "off",
1101
813
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
1102
- "constructor-super": "error",
1103
814
  "getter-return": "error",
1104
- "no-class-assign": "error",
1105
- "no-const-assign": "error",
1106
815
  "no-dupe-args": "error",
1107
- "no-dupe-class-members": "error",
1108
- "no-dupe-keys": "error",
1109
- "no-func-assign": "error",
1110
- "no-import-assign": "error",
1111
- "no-new-native-nonconstructor": "error",
1112
816
  "no-new-symbol": "off",
1113
- "no-obj-calls": "error",
1114
817
  "no-redeclare": "error",
1115
- "no-setter-return": "error",
1116
- "no-this-before-super": "error",
1117
818
  "no-undef": "error",
1118
- "no-unreachable": "error",
1119
- "no-unsafe-negation": "error",
1120
- "no-with": "error"
819
+ "no-unreachable": "error"
1121
820
  },
1122
821
  },
1123
822
 
@@ -1130,11 +829,7 @@ export default [
1130
829
  "testing-library": testingLibraryPlugin,
1131
830
  },
1132
831
  rules: {
1133
- "@typescript-eslint/explicit-function-return-type": "off",
1134
832
  "@typescript-eslint/naming-convention": "off",
1135
- "@typescript-eslint/no-explicit-any": "off",
1136
- "@typescript-eslint/no-magic-numbers": "off",
1137
- "@typescript-eslint/no-non-null-assertion": "off",
1138
833
  "@typescript-eslint/no-unsafe-assignment": "off",
1139
834
  "@typescript-eslint/no-unsafe-member-access": "off",
1140
835
  "max-lines": "off",
@@ -1160,22 +855,15 @@ export default [
1160
855
  "testing-library/prefer-screen-queries": "error",
1161
856
  "testing-library/render-result-naming-convention": "error",
1162
857
  "unicorn/prevent-abbreviations": "off",
1163
- "vitest/expect-expect": "error",
1164
- "vitest/no-conditional-expect": "error",
1165
858
  "vitest/no-conditional-in-test": "error",
1166
- "vitest/no-disabled-tests": "warn",
1167
859
  "vitest/no-duplicate-hooks": "error",
1168
- "vitest/no-focused-tests": "error",
1169
860
  "vitest/no-identical-title": "error",
1170
- "vitest/no-standalone-expect": "error",
1171
861
  "vitest/prefer-hooks-on-top": "error",
1172
862
  "vitest/prefer-spy-on": "error",
1173
863
  "vitest/prefer-strict-equal": "error",
1174
864
  "vitest/prefer-to-be": "error",
1175
865
  "vitest/prefer-to-have-length": "error",
1176
- "vitest/require-to-throw-message": "error",
1177
866
  "vitest/require-top-level-describe": "error",
1178
- "vitest/valid-expect": "error",
1179
867
  "vitest/valid-title": "error"
1180
868
  },
1181
869
  },
@@ -1216,8 +904,6 @@ export default [
1216
904
  "playwright": playwrightPlugin,
1217
905
  },
1218
906
  rules: {
1219
- "@typescript-eslint/explicit-function-return-type": "off",
1220
- "@typescript-eslint/no-magic-numbers": "off",
1221
907
  "max-lines": "off",
1222
908
  "max-lines-per-function": "off",
1223
909
  "max-statements": "off",
@@ -1255,7 +941,6 @@ export default [
1255
941
  "storybook": storybookPlugin,
1256
942
  },
1257
943
  rules: {
1258
- "import/no-default-export": "off",
1259
944
  "max-lines": "off",
1260
945
  "max-lines-per-function": "off",
1261
946
  "storybook/await-interactions": "error",
@@ -1277,12 +962,8 @@ export default [
1277
962
  name: "eslint-config-setup/config-files",
1278
963
  files: ["**/*.config.{ts,mts,cts,js,mjs,cjs}","**/vite.config.*","**/vitest.config.*","**/next.config.*","**/tailwind.config.*","**/postcss.config.*"],
1279
964
  rules: {
1280
- "@typescript-eslint/explicit-function-return-type": "off",
1281
965
  "@typescript-eslint/naming-convention": "off",
1282
- "@typescript-eslint/no-magic-numbers": "off",
1283
- "@typescript-eslint/no-require-imports": "off",
1284
966
  "complexity": "off",
1285
- "import/no-default-export": "off",
1286
967
  "max-lines": "off",
1287
968
  "max-lines-per-function": "off",
1288
969
  "max-statements": "off",
@@ -1296,17 +977,7 @@ export default [
1296
977
  name: "eslint-config-setup/declarations",
1297
978
  files: ["**/*.d.ts"],
1298
979
  rules: {
1299
- "@typescript-eslint/consistent-type-definitions": "off",
1300
- "@typescript-eslint/explicit-function-return-type": "off",
1301
980
  "@typescript-eslint/naming-convention": "off",
1302
- "@typescript-eslint/no-empty-interface": "off",
1303
- "@typescript-eslint/no-empty-object-type": "off",
1304
- "@typescript-eslint/no-explicit-any": "off",
1305
- "@typescript-eslint/no-magic-numbers": "off",
1306
- "@typescript-eslint/no-namespace": "off",
1307
- "@typescript-eslint/no-unused-vars": "off",
1308
- "import/no-duplicates": "off",
1309
- "unicorn/filename-case": "off",
1310
981
  "unicorn/prevent-abbreviations": "off",
1311
982
  "unused-imports/no-unused-imports": "off"
1312
983
  },
@@ -1317,12 +988,10 @@ export default [
1317
988
  name: "eslint-config-setup/scripts",
1318
989
  files: ["**/scripts/**/*.{ts,mts,js,mjs}"],
1319
990
  rules: {
1320
- "@typescript-eslint/explicit-function-return-type": "off",
1321
991
  "max-lines": "off",
1322
992
  "max-lines-per-function": "off",
1323
993
  "no-console": "off",
1324
- "node/no-process-exit": "off",
1325
- "unicorn/no-process-exit": "off"
994
+ "node/no-process-exit": "off"
1326
995
  },
1327
996
  },
1328
997
 
@@ -1389,12 +1058,12 @@ export default [
1389
1058
  },
1390
1059
 
1391
1060
  // OxLint integration — disables rules already covered by OxLint
1392
- { name: "eslint-config-setup/oxlint", ...oxlintPlugin.configs["flat/recommended"] },
1393
- { name: "eslint-config-setup/oxlint-react", ...oxlintPlugin.configs["flat/react"] },
1394
- { name: "eslint-config-setup/oxlint-jsx-a11y", ...oxlintPlugin.configs["flat/jsx-a11y"] },
1395
- { name: "eslint-config-setup/oxlint-typescript", ...oxlintPlugin.configs["flat/typescript"] },
1396
- { name: "eslint-config-setup/oxlint-unicorn", ...oxlintPlugin.configs["flat/unicorn"] },
1397
- { name: "eslint-config-setup/oxlint-import", ...oxlintPlugin.configs["flat/import"] },
1398
- { name: "eslint-config-setup/oxlint-jsdoc", ...oxlintPlugin.configs["flat/jsdoc"] },
1061
+ ...[oxlintPlugin.configs["flat/recommended"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint", ...c })),
1062
+ ...[oxlintPlugin.configs["flat/react"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-react", ...c })),
1063
+ ...[oxlintPlugin.configs["flat/jsx-a11y"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsx-a11y", ...c })),
1064
+ ...[oxlintPlugin.configs["flat/typescript"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-typescript", ...c })),
1065
+ ...[oxlintPlugin.configs["flat/unicorn"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-unicorn", ...c })),
1066
+ ...[oxlintPlugin.configs["flat/import"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-import", ...c })),
1067
+ ...[oxlintPlugin.configs["flat/jsdoc"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsdoc", ...c })),
1399
1068
 
1400
1069
  ]