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.
@@ -16,7 +16,6 @@ import perfectionistPlugin from "eslint-plugin-perfectionist"
16
16
  import playwrightPlugin from "eslint-plugin-playwright"
17
17
  import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
18
18
  import reactHooksPlugin from "eslint-plugin-react-hooks"
19
- import reactRefreshPlugin from "eslint-plugin-react-refresh"
20
19
  import regexpPlugin from "eslint-plugin-regexp"
21
20
  import securityPlugin from "eslint-plugin-security"
22
21
  import sonarjsPlugin from "eslint-plugin-sonarjs"
@@ -48,7 +47,6 @@ export default [
48
47
  "react": eslintReactPlugin,
49
48
  "react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
50
49
  "react-hooks": reactHooksPlugin,
51
- "react-refresh": reactRefreshPlugin,
52
50
  "react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
53
51
  "react-you-might-not-need-an-effect": reactEffectPlugin,
54
52
  "regexp": regexpPlugin,
@@ -86,51 +84,14 @@ export default [
86
84
  }
87
85
  ],
88
86
  "@stylistic/jsx-self-closing-comp": "error",
89
- "@typescript-eslint/adjacent-overload-signatures": "error",
90
- "@typescript-eslint/array-type": [
91
- "error",
92
- {
93
- "default": "array-simple"
94
- }
95
- ],
96
87
  "@typescript-eslint/await-thenable": "error",
97
- "@typescript-eslint/ban-ts-comment": [
98
- "error",
99
- {
100
- "minimumDescriptionLength": 10
101
- }
102
- ],
103
- "@typescript-eslint/ban-tslint-comment": "error",
104
- "@typescript-eslint/class-literal-property-style": "error",
105
- "@typescript-eslint/consistent-generic-constructors": "error",
106
- "@typescript-eslint/consistent-indexed-object-style": "error",
107
- "@typescript-eslint/consistent-type-assertions": "error",
108
- "@typescript-eslint/consistent-type-definitions": [
109
- "error",
110
- "type"
111
- ],
112
88
  "@typescript-eslint/consistent-type-exports": [
113
89
  "error",
114
90
  {
115
91
  "fixMixedExportsWithInlineTypeSpecifier": true
116
92
  }
117
93
  ],
118
- "@typescript-eslint/consistent-type-imports": [
119
- "error",
120
- {
121
- "fixStyle": "inline-type-imports"
122
- }
123
- ],
124
94
  "@typescript-eslint/dot-notation": "error",
125
- "@typescript-eslint/explicit-function-return-type": [
126
- "error",
127
- {
128
- "allowExpressions": true,
129
- "allowTypedFunctionExpressions": true,
130
- "allowHigherOrderFunctions": true,
131
- "allowIIFEs": true
132
- }
133
- ],
134
95
  "@typescript-eslint/explicit-member-accessibility": "error",
135
96
  "@typescript-eslint/member-ordering": [
136
97
  "warn",
@@ -197,12 +158,45 @@ export default [
197
158
  ],
198
159
  "@typescript-eslint/naming-convention": [
199
160
  "error",
161
+ {
162
+ "selector": "variable",
163
+ "format": [
164
+ "strictCamelCase",
165
+ "UPPER_CASE",
166
+ "StrictPascalCase"
167
+ ],
168
+ "leadingUnderscore": "allowSingleOrDouble",
169
+ "trailingUnderscore": "allow",
170
+ "filter": {
171
+ "regex": "[- ]",
172
+ "match": false
173
+ }
174
+ },
175
+ {
176
+ "selector": "function",
177
+ "format": [
178
+ "strictCamelCase",
179
+ "StrictPascalCase"
180
+ ]
181
+ },
182
+ {
183
+ "selector": "parameter",
184
+ "format": [
185
+ "strictCamelCase"
186
+ ],
187
+ "leadingUnderscore": "allow"
188
+ },
189
+ {
190
+ "selector": "import",
191
+ "format": [
192
+ "strictCamelCase",
193
+ "StrictPascalCase",
194
+ "UPPER_CASE"
195
+ ]
196
+ },
200
197
  {
201
198
  "selector": [
202
- "variable",
203
- "function",
204
199
  "classProperty",
205
- "objectLiteralProperty",
206
200
  "parameterProperty",
207
201
  "classMethod",
208
202
  "objectLiteralMethod",
@@ -219,6 +213,13 @@ export default [
219
213
  "match": false
220
214
  }
221
215
  },
216
+ {
217
+ "selector": [
218
+ "objectLiteralProperty",
219
+ "typeProperty"
220
+ ],
221
+ "format": null
222
+ },
222
223
  {
223
224
  "selector": "typeLike",
224
225
  "format": [
@@ -273,25 +274,11 @@ export default [
273
274
  ]
274
275
  }
275
276
  ],
276
- "@typescript-eslint/no-array-constructor": "error",
277
277
  "@typescript-eslint/no-array-delete": "error",
278
278
  "@typescript-eslint/no-base-to-string": "error",
279
- "@typescript-eslint/no-confusing-non-null-assertion": "error",
280
279
  "@typescript-eslint/no-confusing-void-expression": "error",
281
280
  "@typescript-eslint/no-deprecated": "warn",
282
- "@typescript-eslint/no-duplicate-enum-values": "error",
283
281
  "@typescript-eslint/no-duplicate-type-constituents": "error",
284
- "@typescript-eslint/no-dynamic-delete": "error",
285
- "@typescript-eslint/no-empty-function": "error",
286
- "@typescript-eslint/no-empty-object-type": "error",
287
- "@typescript-eslint/no-explicit-any": [
288
- "error",
289
- {
290
- "fixToUnknown": true
291
- }
292
- ],
293
- "@typescript-eslint/no-extra-non-null-assertion": "error",
294
- "@typescript-eslint/no-extraneous-class": "error",
295
282
  "@typescript-eslint/no-floating-promises": [
296
283
  "error",
297
284
  {
@@ -301,102 +288,32 @@ export default [
301
288
  ],
302
289
  "@typescript-eslint/no-for-in-array": "error",
303
290
  "@typescript-eslint/no-implied-eval": "error",
304
- "@typescript-eslint/no-import-type-side-effects": "error",
305
- "@typescript-eslint/no-inferrable-types": "error",
306
- "@typescript-eslint/no-invalid-void-type": "error",
307
- "@typescript-eslint/no-magic-numbers": [
308
- "error",
309
- {
310
- "ignore": [
311
- -1,
312
- 0,
313
- 1,
314
- 2
315
- ],
316
- "ignoreArrayIndexes": true,
317
- "ignoreDefaultValues": true,
318
- "enforceConst": true,
319
- "ignoreClassFieldInitialValues": true,
320
- "ignoreEnums": true,
321
- "ignoreNumericLiteralTypes": true,
322
- "ignoreReadonlyClassProperties": true,
323
- "ignoreTypeIndexes": true
324
- }
325
- ],
326
291
  "@typescript-eslint/no-meaningless-void-operator": "error",
327
- "@typescript-eslint/no-misused-new": "error",
328
292
  "@typescript-eslint/no-misused-promises": "error",
329
293
  "@typescript-eslint/no-misused-spread": "error",
330
294
  "@typescript-eslint/no-mixed-enums": "error",
331
- "@typescript-eslint/no-namespace": "error",
332
- "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
333
- "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
334
- "@typescript-eslint/no-non-null-assertion": "error",
335
295
  "@typescript-eslint/no-redundant-type-constituents": "error",
336
- "@typescript-eslint/no-require-imports": "error",
337
- "@typescript-eslint/no-shadow": [
338
- "error",
339
- {
340
- "hoist": "all",
341
- "allow": [
342
- "resolve",
343
- "reject",
344
- "done",
345
- "next",
346
- "error"
347
- ],
348
- "ignoreTypeValueShadow": true,
349
- "ignoreFunctionTypeParameterNameValueShadow": true
350
- }
351
- ],
352
- "@typescript-eslint/no-this-alias": "error",
353
296
  "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
354
297
  "@typescript-eslint/no-unnecessary-condition": "error",
355
- "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
356
298
  "@typescript-eslint/no-unnecessary-qualifier": "error",
357
299
  "@typescript-eslint/no-unnecessary-template-expression": "error",
358
300
  "@typescript-eslint/no-unnecessary-type-arguments": "error",
359
301
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
360
- "@typescript-eslint/no-unnecessary-type-constraint": "error",
361
302
  "@typescript-eslint/no-unnecessary-type-conversion": "error",
362
303
  "@typescript-eslint/no-unnecessary-type-parameters": "error",
363
304
  "@typescript-eslint/no-unsafe-argument": "error",
364
305
  "@typescript-eslint/no-unsafe-assignment": "error",
365
306
  "@typescript-eslint/no-unsafe-call": "error",
366
- "@typescript-eslint/no-unsafe-declaration-merging": "error",
367
307
  "@typescript-eslint/no-unsafe-enum-comparison": "error",
368
- "@typescript-eslint/no-unsafe-function-type": "error",
369
308
  "@typescript-eslint/no-unsafe-member-access": "error",
370
309
  "@typescript-eslint/no-unsafe-return": "error",
371
310
  "@typescript-eslint/no-unsafe-type-assertion": "error",
372
311
  "@typescript-eslint/no-unsafe-unary-minus": "error",
373
- "@typescript-eslint/no-unused-expressions": "error",
374
- "@typescript-eslint/no-unused-vars": [
375
- "error",
376
- {
377
- "args": "all",
378
- "argsIgnorePattern": "^_",
379
- "caughtErrors": "all",
380
- "caughtErrorsIgnorePattern": "^_",
381
- "destructuredArrayIgnorePattern": "^_",
382
- "varsIgnorePattern": "^_",
383
- "ignoreRestSiblings": true
384
- }
385
- ],
386
- "@typescript-eslint/no-useless-constructor": "error",
387
312
  "@typescript-eslint/no-useless-default-assignment": "error",
388
- "@typescript-eslint/no-useless-empty-export": "error",
389
- "@typescript-eslint/no-wrapper-object-types": "error",
390
313
  "@typescript-eslint/non-nullable-type-assertion-style": "error",
391
314
  "@typescript-eslint/only-throw-error": "error",
392
- "@typescript-eslint/prefer-as-const": "error",
393
- "@typescript-eslint/prefer-enum-initializers": "error",
394
315
  "@typescript-eslint/prefer-find": "error",
395
- "@typescript-eslint/prefer-for-of": "error",
396
- "@typescript-eslint/prefer-function-type": "error",
397
316
  "@typescript-eslint/prefer-includes": "error",
398
- "@typescript-eslint/prefer-literal-enum-member": "error",
399
- "@typescript-eslint/prefer-namespace-keyword": "error",
400
317
  "@typescript-eslint/prefer-nullish-coalescing": "error",
401
318
  "@typescript-eslint/prefer-optional-chain": "error",
402
319
  "@typescript-eslint/prefer-promise-reject-errors": "error",
@@ -449,9 +366,7 @@ export default [
449
366
  "requireDefaultForNonUnion": true
450
367
  }
451
368
  ],
452
- "@typescript-eslint/triple-slash-reference": "error",
453
369
  "@typescript-eslint/unbound-method": "error",
454
- "@typescript-eslint/unified-signatures": "error",
455
370
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "error",
456
371
  "accessor-pairs": [
457
372
  "error",
@@ -474,98 +389,34 @@ export default [
474
389
  "de-morgan/no-negated-disjunction": "error",
475
390
  "default-case-last": "error",
476
391
  "eqeqeq": "error",
477
- "for-direction": "error",
478
392
  "grouped-accessor-pairs": [
479
393
  "error",
480
394
  "getBeforeSet"
481
395
  ],
482
396
  "guard-for-in": "error",
483
- "import/first": "error",
484
397
  "import/newline-after-import": "error",
485
- "import/no-absolute-path": "error",
486
- "import/no-cycle": [
487
- "error",
488
- {
489
- "maxDepth": 3
490
- }
491
- ],
492
- "import/no-duplicates": [
493
- "error",
494
- {
495
- "prefer-inline": true
496
- }
497
- ],
498
- "import/no-empty-named-blocks": "error",
499
- "import/no-mutable-exports": "error",
500
- "import/no-named-as-default": "error",
501
- "import/no-named-as-default-member": "error",
502
- "import/no-self-import": "error",
503
398
  "import/no-useless-path-segments": "error",
504
- "jsdoc/check-access": "error",
505
399
  "jsdoc/check-alignment": "error",
506
400
  "jsdoc/check-param-names": "error",
507
- "jsdoc/check-property-names": "error",
508
- "jsdoc/check-tag-names": "error",
509
401
  "jsdoc/check-types": "error",
510
402
  "jsdoc/check-values": "error",
511
- "jsdoc/empty-tags": "error",
512
403
  "jsdoc/escape-inline-tags": "error",
513
- "jsdoc/implements-on-classes": "error",
514
404
  "jsdoc/informative-docs": "error",
515
405
  "jsdoc/multiline-blocks": "error",
516
- "jsdoc/no-defaults": "error",
517
406
  "jsdoc/no-multi-asterisks": "error",
518
407
  "jsdoc/no-types": "error",
519
408
  "jsdoc/no-undefined-types": "error",
520
409
  "jsdoc/reject-any-type": "error",
521
410
  "jsdoc/reject-function-type": "error",
522
411
  "jsdoc/require-next-type": "error",
523
- "jsdoc/require-param": "error",
524
- "jsdoc/require-param-description": "warn",
525
- "jsdoc/require-param-name": "error",
526
- "jsdoc/require-property": "error",
527
- "jsdoc/require-property-description": "error",
528
- "jsdoc/require-property-name": "error",
529
- "jsdoc/require-returns": "error",
530
412
  "jsdoc/require-returns-check": "error",
531
- "jsdoc/require-returns-description": "warn",
532
413
  "jsdoc/require-throws-type": "error",
533
414
  "jsdoc/require-yields-check": "error",
534
415
  "jsdoc/require-yields-type": "error",
535
416
  "jsdoc/ts-no-empty-object-type": "error",
536
417
  "jsdoc/valid-types": "error",
537
- "jsx-a11y/alt-text": "error",
538
- "jsx-a11y/anchor-has-content": "error",
539
- "jsx-a11y/anchor-is-valid": "error",
540
- "jsx-a11y/aria-activedescendant-has-tabindex": "error",
541
- "jsx-a11y/aria-props": "error",
542
- "jsx-a11y/aria-proptypes": "error",
543
- "jsx-a11y/aria-role": "error",
544
- "jsx-a11y/aria-unsupported-elements": "error",
545
- "jsx-a11y/autocomplete-valid": "error",
546
- "jsx-a11y/click-events-have-key-events": "error",
547
- "jsx-a11y/heading-has-content": "error",
548
- "jsx-a11y/html-has-lang": "error",
549
- "jsx-a11y/img-redundant-alt": "error",
550
418
  "jsx-a11y/interactive-supports-focus": "error",
551
- "jsx-a11y/label-has-associated-control": "error",
552
- "jsx-a11y/lang": "error",
553
- "jsx-a11y/mouse-events-have-key-events": "error",
554
- "jsx-a11y/no-access-key": "error",
555
- "jsx-a11y/no-autofocus": [
556
- "error",
557
- {
558
- "ignoreNonDOM": true
559
- }
560
- ],
561
- "jsx-a11y/no-distracting-elements": "error",
562
419
  "jsx-a11y/no-noninteractive-element-interactions": "error",
563
- "jsx-a11y/no-redundant-roles": "error",
564
- "jsx-a11y/no-static-element-interactions": "error",
565
- "jsx-a11y/role-has-required-aria-props": "error",
566
- "jsx-a11y/role-supports-aria-props": "error",
567
- "jsx-a11y/scope": "error",
568
- "jsx-a11y/tabindex-no-positive": "error",
569
420
  "logical-assignment-operators": [
570
421
  "error",
571
422
  "always",
@@ -606,20 +457,9 @@ export default [
606
457
  15
607
458
  ],
608
459
  "no-alert": "error",
609
- "no-async-promise-executor": "error",
610
460
  "no-await-in-loop": "error",
611
- "no-caller": "error",
612
461
  "no-case-declarations": "error",
613
- "no-compare-neg-zero": "error",
614
- "no-cond-assign": "error",
615
- "no-constant-binary-expression": "error",
616
- "no-constant-condition": "error",
617
462
  "no-constructor-return": "error",
618
- "no-control-regex": "error",
619
- "no-debugger": "error",
620
- "no-delete-var": "error",
621
- "no-dupe-else-if": "error",
622
- "no-duplicate-case": "error",
623
463
  "no-else-return": [
624
464
  "error",
625
465
  {
@@ -627,23 +467,13 @@ export default [
627
467
  }
628
468
  ],
629
469
  "no-empty": "error",
630
- "no-empty-pattern": "error",
631
- "no-empty-static-block": "error",
632
- "no-eval": "error",
633
- "no-ex-assign": "error",
634
470
  "no-extend-native": "error",
635
471
  "no-extra-bind": "error",
636
- "no-extra-boolean-cast": "error",
637
472
  "no-fallthrough": "error",
638
- "no-global-assign": "error",
639
473
  "no-implicit-coercion": "error",
640
- "no-irregular-whitespace": "error",
641
- "no-iterator": "error",
642
474
  "no-labels": "error",
643
475
  "no-lone-blocks": "error",
644
476
  "no-lonely-if": "error",
645
- "no-loss-of-precision": "error",
646
- "no-misleading-character-class": "error",
647
477
  "no-multi-assign": "error",
648
478
  "no-multi-str": "error",
649
479
  "no-negated-condition": "error",
@@ -651,7 +481,6 @@ export default [
651
481
  "no-new": "error",
652
482
  "no-new-func": "error",
653
483
  "no-new-wrappers": "error",
654
- "no-nonoctal-decimal-escape": "error",
655
484
  "no-object-constructor": "error",
656
485
  "no-octal": "error",
657
486
  "no-octal-escape": "error",
@@ -670,27 +499,16 @@ export default [
670
499
  "always"
671
500
  ],
672
501
  "no-script-url": "error",
673
- "no-self-assign": "error",
674
502
  "no-self-compare": "error",
675
503
  "no-sequences": "error",
676
- "no-shadow-restricted-names": "error",
677
- "no-sparse-arrays": "error",
678
504
  "no-template-curly-in-string": "error",
679
- "no-unassigned-vars": "error",
680
505
  "no-unmodified-loop-condition": "error",
681
506
  "no-unneeded-ternary": "error",
682
507
  "no-unreachable-loop": "error",
683
- "no-unsafe-finally": "error",
684
- "no-unsafe-optional-chaining": "error",
685
- "no-unused-labels": "error",
686
- "no-unused-private-class-members": "error",
687
508
  "no-useless-assignment": "error",
688
509
  "no-useless-call": "error",
689
- "no-useless-catch": "error",
690
510
  "no-useless-computed-key": "error",
691
511
  "no-useless-concat": "error",
692
- "no-useless-escape": "error",
693
- "no-useless-rename": "error",
694
512
  "no-useless-return": "error",
695
513
  "no-var": "error",
696
514
  "no-warning-comments": "warn",
@@ -784,14 +602,7 @@ export default [
784
602
  "react-dom/no-unknown-property": "error",
785
603
  "react-dom/no-unsafe-target-blank": "error",
786
604
  "react-dom/no-void-elements-with-children": "error",
787
- "react-hooks/exhaustive-deps": "error",
788
605
  "react-hooks/rules-of-hooks": "error",
789
- "react-refresh/only-export-components": [
790
- "warn",
791
- {
792
- "allowConstantExport": true
793
- }
794
- ],
795
606
  "react-web-api/no-leaked-event-listener": "error",
796
607
  "react-web-api/no-leaked-interval": "error",
797
608
  "react-web-api/no-leaked-resize-observer": "error",
@@ -805,13 +616,9 @@ export default [
805
616
  "react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
806
617
  "react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
807
618
  "react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
808
- "react/jsx-no-comment-textnodes": "error",
809
619
  "react/jsx-shorthand-boolean": "error",
810
620
  "react/no-access-state-in-setstate": "error",
811
- "react/no-array-index-key": "error",
812
- "react/no-children-prop": "error",
813
621
  "react/no-context-provider": "error",
814
- "react/no-direct-mutation-state": "error",
815
622
  "react/no-duplicate-key": "error",
816
623
  "react/no-forward-ref": "error",
817
624
  "react/no-leaked-conditional-rendering": "error",
@@ -895,7 +702,6 @@ export default [
895
702
  "regexp/use-ignore-case": "error",
896
703
  "require-atomic-updates": "error",
897
704
  "require-unicode-regexp": "error",
898
- "require-yield": "error",
899
705
  "security/detect-bidi-characters": "error",
900
706
  "security/detect-buffer-noassert": "error",
901
707
  "security/detect-child-process": "error",
@@ -950,118 +756,24 @@ export default [
950
756
  "sonarjs/public-static-readonly": "error",
951
757
  "sonarjs/reduce-initial-value": "error",
952
758
  "symbol-description": "error",
953
- "unicorn/better-regex": "error",
954
- "unicorn/catch-error-name": [
955
- "error",
956
- {
957
- "name": "error"
958
- }
959
- ],
960
- "unicorn/consistent-date-clone": "error",
961
- "unicorn/consistent-empty-array-spread": "error",
962
- "unicorn/consistent-existence-index-check": "error",
963
- "unicorn/consistent-function-scoping": "error",
964
759
  "unicorn/custom-error-definition": "error",
965
- "unicorn/error-message": "error",
966
- "unicorn/explicit-length-check": "error",
967
- "unicorn/filename-case": [
968
- "error",
969
- {
970
- "cases": {
971
- "camelCase": true,
972
- "pascalCase": true
973
- }
974
- }
975
- ],
976
- "unicorn/new-for-builtins": "error",
977
- "unicorn/no-abusive-eslint-disable": "error",
978
- "unicorn/no-accessor-recursion": "error",
979
- "unicorn/no-anonymous-default-export": "error",
980
- "unicorn/no-array-callback-reference": "error",
981
- "unicorn/no-array-for-each": "error",
982
- "unicorn/no-array-method-this-argument": "error",
983
760
  "unicorn/no-array-push-push": "error",
984
- "unicorn/no-array-reduce": "error",
985
- "unicorn/no-await-expression-member": "error",
986
- "unicorn/no-await-in-promise-methods": "error",
987
761
  "unicorn/no-for-loop": "error",
988
- "unicorn/no-instanceof-builtins": "error",
989
- "unicorn/no-invalid-fetch-options": "error",
990
- "unicorn/no-invalid-remove-event-listener": "error",
991
- "unicorn/no-negation-in-equality-check": "error",
992
- "unicorn/no-new-array": "error",
993
- "unicorn/no-new-buffer": "error",
994
- "unicorn/no-thenable": "error",
995
- "unicorn/no-this-assignment": "error",
996
- "unicorn/no-typeof-undefined": "error",
997
- "unicorn/no-unnecessary-await": "error",
998
- "unicorn/no-unnecessary-slice-end": "error",
999
- "unicorn/no-unreadable-array-destructuring": "error",
1000
- "unicorn/no-unreadable-iife": "error",
1001
- "unicorn/no-useless-fallback-in-spread": "error",
1002
- "unicorn/no-useless-length-check": "error",
1003
- "unicorn/no-useless-promise-resolve-reject": "error",
1004
- "unicorn/no-useless-spread": "error",
1005
- "unicorn/no-useless-switch-case": "error",
1006
- "unicorn/no-useless-undefined": "error",
1007
- "unicorn/no-zero-fractions": "error",
1008
- "unicorn/numeric-separators-style": "error",
1009
- "unicorn/prefer-array-find": "error",
1010
- "unicorn/prefer-array-flat": "error",
1011
- "unicorn/prefer-array-flat-map": "error",
1012
- "unicorn/prefer-array-index-of": "error",
1013
- "unicorn/prefer-array-some": "error",
1014
- "unicorn/prefer-at": "error",
1015
- "unicorn/prefer-date-now": "error",
1016
- "unicorn/prefer-default-parameters": "error",
1017
762
  "unicorn/prefer-export-from": [
1018
763
  "error",
1019
764
  {
1020
765
  "ignoreUsedVariables": true
1021
766
  }
1022
767
  ],
1023
- "unicorn/prefer-global-this": "error",
1024
768
  "unicorn/prefer-import-meta-properties": "error",
1025
- "unicorn/prefer-includes": "error",
1026
- "unicorn/prefer-logical-operator-over-ternary": "error",
1027
- "unicorn/prefer-math-min-max": "error",
1028
- "unicorn/prefer-modern-dom-apis": "error",
1029
- "unicorn/prefer-modern-math-apis": "error",
1030
- "unicorn/prefer-native-coercion-functions": "error",
1031
- "unicorn/prefer-negative-index": "error",
1032
- "unicorn/prefer-node-protocol": "error",
1033
- "unicorn/prefer-number-properties": "error",
1034
- "unicorn/prefer-object-from-entries": "error",
1035
- "unicorn/prefer-optional-catch-binding": "error",
1036
- "unicorn/prefer-regexp-test": "error",
1037
- "unicorn/prefer-set-has": "error",
1038
- "unicorn/prefer-set-size": "error",
1039
- "unicorn/prefer-spread": "error",
1040
- "unicorn/prefer-string-replace-all": "error",
1041
- "unicorn/prefer-string-slice": "error",
1042
- "unicorn/prefer-string-starts-ends-with": "error",
1043
- "unicorn/prefer-string-trim-start-end": "error",
1044
- "unicorn/prefer-structured-clone": "error",
1045
769
  "unicorn/prefer-switch": [
1046
770
  "error",
1047
771
  {
1048
772
  "minimumCases": 3
1049
773
  }
1050
774
  ],
1051
- "unicorn/prefer-ternary": [
1052
- "error",
1053
- "only-single-line"
1054
- ],
1055
- "unicorn/prefer-top-level-await": "error",
1056
- "unicorn/prefer-type-error": "error",
1057
775
  "unicorn/prevent-abbreviations": "error",
1058
- "unicorn/relative-url-style": "error",
1059
- "unicorn/switch-case-braces": "error",
1060
- "unicorn/text-encoding-identifier-case": "error",
1061
- "unicorn/throw-new-error": "error",
1062
776
  "unused-imports/no-unused-imports": "error",
1063
- "use-isnan": "error",
1064
- "valid-typeof": "error",
1065
777
  "yoda": "error"
1066
778
  },
1067
779
  },
@@ -1124,25 +836,12 @@ export default [
1124
836
  "@typescript-eslint/strict-void-return": "off",
1125
837
  "@typescript-eslint/unbound-method": "off",
1126
838
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
1127
- "constructor-super": "error",
1128
839
  "getter-return": "error",
1129
- "no-class-assign": "error",
1130
- "no-const-assign": "error",
1131
840
  "no-dupe-args": "error",
1132
- "no-dupe-class-members": "error",
1133
- "no-dupe-keys": "error",
1134
- "no-func-assign": "error",
1135
- "no-import-assign": "error",
1136
- "no-new-native-nonconstructor": "error",
1137
841
  "no-new-symbol": "off",
1138
- "no-obj-calls": "error",
1139
842
  "no-redeclare": "error",
1140
- "no-setter-return": "error",
1141
- "no-this-before-super": "error",
1142
843
  "no-undef": "error",
1143
- "no-unreachable": "error",
1144
- "no-unsafe-negation": "error",
1145
- "no-with": "error"
844
+ "no-unreachable": "error"
1146
845
  },
1147
846
  },
1148
847
 
@@ -1155,11 +854,7 @@ export default [
1155
854
  "testing-library": testingLibraryPlugin,
1156
855
  },
1157
856
  rules: {
1158
- "@typescript-eslint/explicit-function-return-type": "off",
1159
857
  "@typescript-eslint/naming-convention": "off",
1160
- "@typescript-eslint/no-explicit-any": "off",
1161
- "@typescript-eslint/no-magic-numbers": "off",
1162
- "@typescript-eslint/no-non-null-assertion": "off",
1163
858
  "@typescript-eslint/no-unsafe-assignment": "off",
1164
859
  "@typescript-eslint/no-unsafe-member-access": "off",
1165
860
  "max-lines": "off",
@@ -1185,22 +880,15 @@ export default [
1185
880
  "testing-library/prefer-screen-queries": "error",
1186
881
  "testing-library/render-result-naming-convention": "error",
1187
882
  "unicorn/prevent-abbreviations": "off",
1188
- "vitest/expect-expect": "error",
1189
- "vitest/no-conditional-expect": "error",
1190
883
  "vitest/no-conditional-in-test": "error",
1191
- "vitest/no-disabled-tests": "warn",
1192
884
  "vitest/no-duplicate-hooks": "error",
1193
- "vitest/no-focused-tests": "error",
1194
885
  "vitest/no-identical-title": "error",
1195
- "vitest/no-standalone-expect": "error",
1196
886
  "vitest/prefer-hooks-on-top": "error",
1197
887
  "vitest/prefer-spy-on": "error",
1198
888
  "vitest/prefer-strict-equal": "error",
1199
889
  "vitest/prefer-to-be": "error",
1200
890
  "vitest/prefer-to-have-length": "error",
1201
- "vitest/require-to-throw-message": "error",
1202
891
  "vitest/require-top-level-describe": "error",
1203
- "vitest/valid-expect": "error",
1204
892
  "vitest/valid-title": "error"
1205
893
  },
1206
894
  },
@@ -1241,8 +929,6 @@ export default [
1241
929
  "playwright": playwrightPlugin,
1242
930
  },
1243
931
  rules: {
1244
- "@typescript-eslint/explicit-function-return-type": "off",
1245
- "@typescript-eslint/no-magic-numbers": "off",
1246
932
  "max-lines": "off",
1247
933
  "max-lines-per-function": "off",
1248
934
  "max-statements": "off",
@@ -1280,7 +966,6 @@ export default [
1280
966
  "storybook": storybookPlugin,
1281
967
  },
1282
968
  rules: {
1283
- "import/no-default-export": "off",
1284
969
  "max-lines": "off",
1285
970
  "max-lines-per-function": "off",
1286
971
  "storybook/await-interactions": "error",
@@ -1302,12 +987,8 @@ export default [
1302
987
  name: "eslint-config-setup/config-files",
1303
988
  files: ["**/*.config.{ts,mts,cts,js,mjs,cjs}","**/vite.config.*","**/vitest.config.*","**/next.config.*","**/tailwind.config.*","**/postcss.config.*"],
1304
989
  rules: {
1305
- "@typescript-eslint/explicit-function-return-type": "off",
1306
990
  "@typescript-eslint/naming-convention": "off",
1307
- "@typescript-eslint/no-magic-numbers": "off",
1308
- "@typescript-eslint/no-require-imports": "off",
1309
991
  "complexity": "off",
1310
- "import/no-default-export": "off",
1311
992
  "max-lines": "off",
1312
993
  "max-lines-per-function": "off",
1313
994
  "max-statements": "off",
@@ -1321,17 +1002,7 @@ export default [
1321
1002
  name: "eslint-config-setup/declarations",
1322
1003
  files: ["**/*.d.ts"],
1323
1004
  rules: {
1324
- "@typescript-eslint/consistent-type-definitions": "off",
1325
- "@typescript-eslint/explicit-function-return-type": "off",
1326
1005
  "@typescript-eslint/naming-convention": "off",
1327
- "@typescript-eslint/no-empty-interface": "off",
1328
- "@typescript-eslint/no-empty-object-type": "off",
1329
- "@typescript-eslint/no-explicit-any": "off",
1330
- "@typescript-eslint/no-magic-numbers": "off",
1331
- "@typescript-eslint/no-namespace": "off",
1332
- "@typescript-eslint/no-unused-vars": "off",
1333
- "import/no-duplicates": "off",
1334
- "unicorn/filename-case": "off",
1335
1006
  "unicorn/prevent-abbreviations": "off",
1336
1007
  "unused-imports/no-unused-imports": "off"
1337
1008
  },
@@ -1342,12 +1013,10 @@ export default [
1342
1013
  name: "eslint-config-setup/scripts",
1343
1014
  files: ["**/scripts/**/*.{ts,mts,js,mjs}"],
1344
1015
  rules: {
1345
- "@typescript-eslint/explicit-function-return-type": "off",
1346
1016
  "max-lines": "off",
1347
1017
  "max-lines-per-function": "off",
1348
1018
  "no-console": "off",
1349
- "node/no-process-exit": "off",
1350
- "unicorn/no-process-exit": "off"
1019
+ "node/no-process-exit": "off"
1351
1020
  },
1352
1021
  },
1353
1022
 
@@ -1414,13 +1083,13 @@ export default [
1414
1083
  },
1415
1084
 
1416
1085
  // OxLint integration — disables rules already covered by OxLint
1417
- { name: "eslint-config-setup/oxlint", ...oxlintPlugin.configs["flat/recommended"] },
1418
- { name: "eslint-config-setup/oxlint-react", ...oxlintPlugin.configs["flat/react"] },
1419
- { name: "eslint-config-setup/oxlint-jsx-a11y", ...oxlintPlugin.configs["flat/jsx-a11y"] },
1420
- { name: "eslint-config-setup/oxlint-node", ...oxlintPlugin.configs["flat/node"] },
1421
- { name: "eslint-config-setup/oxlint-typescript", ...oxlintPlugin.configs["flat/typescript"] },
1422
- { name: "eslint-config-setup/oxlint-unicorn", ...oxlintPlugin.configs["flat/unicorn"] },
1423
- { name: "eslint-config-setup/oxlint-import", ...oxlintPlugin.configs["flat/import"] },
1424
- { name: "eslint-config-setup/oxlint-jsdoc", ...oxlintPlugin.configs["flat/jsdoc"] },
1086
+ ...[oxlintPlugin.configs["flat/recommended"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint", ...c })),
1087
+ ...[oxlintPlugin.configs["flat/react"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-react", ...c })),
1088
+ ...[oxlintPlugin.configs["flat/jsx-a11y"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsx-a11y", ...c })),
1089
+ ...[oxlintPlugin.configs["flat/node"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-node", ...c })),
1090
+ ...[oxlintPlugin.configs["flat/typescript"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-typescript", ...c })),
1091
+ ...[oxlintPlugin.configs["flat/unicorn"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-unicorn", ...c })),
1092
+ ...[oxlintPlugin.configs["flat/import"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-import", ...c })),
1093
+ ...[oxlintPlugin.configs["flat/jsdoc"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsdoc", ...c })),
1425
1094
 
1426
1095
  ]