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.
@@ -172,12 +172,43 @@ export default [
172
172
  ],
173
173
  "@typescript-eslint/naming-convention": [
174
174
  "error",
175
+ {
176
+ "selector": "variable",
177
+ "format": [
178
+ "strictCamelCase",
179
+ "UPPER_CASE"
180
+ ],
181
+ "leadingUnderscore": "allowSingleOrDouble",
182
+ "trailingUnderscore": "allow",
183
+ "filter": {
184
+ "regex": "[- ]",
185
+ "match": false
186
+ }
187
+ },
188
+ {
189
+ "selector": "function",
190
+ "format": [
191
+ "strictCamelCase"
192
+ ]
193
+ },
194
+ {
195
+ "selector": "parameter",
196
+ "format": [
197
+ "strictCamelCase"
198
+ ],
199
+ "leadingUnderscore": "allow"
200
+ },
201
+ {
202
+ "selector": "import",
203
+ "format": [
204
+ "strictCamelCase",
205
+ "StrictPascalCase",
206
+ "UPPER_CASE"
207
+ ]
208
+ },
175
209
  {
176
210
  "selector": [
177
- "variable",
178
- "function",
179
211
  "classProperty",
180
- "objectLiteralProperty",
181
212
  "parameterProperty",
182
213
  "classMethod",
183
214
  "objectLiteralMethod",
@@ -194,6 +225,13 @@ export default [
194
225
  "match": false
195
226
  }
196
227
  },
228
+ {
229
+ "selector": [
230
+ "objectLiteralProperty",
231
+ "typeProperty"
232
+ ],
233
+ "format": null
234
+ },
197
235
  {
198
236
  "selector": "typeLike",
199
237
  "format": [
@@ -824,7 +862,6 @@ export default [
824
862
  "sonarjs/public-static-readonly": "error",
825
863
  "sonarjs/reduce-initial-value": "error",
826
864
  "symbol-description": "error",
827
- "unicorn/better-regex": "error",
828
865
  "unicorn/catch-error-name": [
829
866
  "error",
830
867
  {
@@ -628,7 +628,6 @@ export default [
628
628
  "sonarjs/prefer-single-boolean-return": "error",
629
629
  "sonarjs/reduce-initial-value": "error",
630
630
  "symbol-description": "error",
631
- "unicorn/better-regex": "error",
632
631
  "unicorn/catch-error-name": [
633
632
  "error",
634
633
  {
@@ -9,14 +9,12 @@ import globals from "globals"
9
9
  import importXPlugin from "eslint-plugin-import-x"
10
10
  import jsdocPlugin from "eslint-plugin-jsdoc"
11
11
  import jsonPlugin from "@eslint/json"
12
- import jsxA11yPlugin from "eslint-plugin-jsx-a11y"
13
12
  import oxlintPlugin from "eslint-plugin-oxlint"
14
13
  import packageJsonPlugin from "eslint-plugin-package-json"
15
14
  import perfectionistPlugin from "eslint-plugin-perfectionist"
16
15
  import playwrightPlugin from "eslint-plugin-playwright"
17
16
  import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
18
17
  import reactHooksPlugin from "eslint-plugin-react-hooks"
19
- import reactRefreshPlugin from "eslint-plugin-react-refresh"
20
18
  import regexpPlugin from "eslint-plugin-regexp"
21
19
  import securityPlugin from "eslint-plugin-security"
22
20
  import sonarjsPlugin from "eslint-plugin-sonarjs"
@@ -43,12 +41,10 @@ export default [
43
41
  "de-morgan": deMorganPlugin,
44
42
  "import": importXPlugin,
45
43
  "jsdoc": jsdocPlugin,
46
- "jsx-a11y": jsxA11yPlugin,
47
44
  "perfectionist": perfectionistPlugin,
48
45
  "react": eslintReactPlugin,
49
46
  "react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
50
47
  "react-hooks": reactHooksPlugin,
51
- "react-refresh": reactRefreshPlugin,
52
48
  "react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
53
49
  "react-you-might-not-need-an-effect": reactEffectPlugin,
54
50
  "regexp": regexpPlugin,
@@ -85,131 +81,47 @@ export default [
85
81
  }
86
82
  ],
87
83
  "@stylistic/jsx-self-closing-comp": "error",
88
- "@typescript-eslint/adjacent-overload-signatures": "error",
89
- "@typescript-eslint/array-type": [
90
- "error",
91
- {
92
- "default": "array-simple"
93
- }
94
- ],
95
84
  "@typescript-eslint/await-thenable": "error",
96
- "@typescript-eslint/ban-ts-comment": [
97
- "error",
98
- {
99
- "minimumDescriptionLength": 10
100
- }
101
- ],
102
- "@typescript-eslint/ban-tslint-comment": "error",
103
- "@typescript-eslint/class-literal-property-style": "error",
104
- "@typescript-eslint/consistent-generic-constructors": "error",
105
- "@typescript-eslint/consistent-indexed-object-style": "error",
106
- "@typescript-eslint/consistent-type-assertions": "error",
107
- "@typescript-eslint/consistent-type-definitions": "error",
108
85
  "@typescript-eslint/consistent-type-exports": [
109
86
  "error",
110
87
  {
111
88
  "fixMixedExportsWithInlineTypeSpecifier": true
112
89
  }
113
90
  ],
114
- "@typescript-eslint/consistent-type-imports": [
115
- "error",
116
- {
117
- "fixStyle": "inline-type-imports"
118
- }
119
- ],
120
91
  "@typescript-eslint/dot-notation": "error",
121
- "@typescript-eslint/no-array-constructor": "error",
122
92
  "@typescript-eslint/no-array-delete": "error",
123
93
  "@typescript-eslint/no-base-to-string": "error",
124
- "@typescript-eslint/no-confusing-non-null-assertion": "error",
125
94
  "@typescript-eslint/no-confusing-void-expression": "error",
126
95
  "@typescript-eslint/no-deprecated": "warn",
127
- "@typescript-eslint/no-duplicate-enum-values": "error",
128
96
  "@typescript-eslint/no-duplicate-type-constituents": "error",
129
- "@typescript-eslint/no-dynamic-delete": "error",
130
- "@typescript-eslint/no-empty-function": "error",
131
- "@typescript-eslint/no-empty-object-type": "error",
132
- "@typescript-eslint/no-explicit-any": "error",
133
- "@typescript-eslint/no-extra-non-null-assertion": "error",
134
- "@typescript-eslint/no-extraneous-class": "error",
135
97
  "@typescript-eslint/no-floating-promises": "error",
136
98
  "@typescript-eslint/no-for-in-array": "error",
137
99
  "@typescript-eslint/no-implied-eval": "error",
138
- "@typescript-eslint/no-import-type-side-effects": "error",
139
- "@typescript-eslint/no-inferrable-types": "error",
140
- "@typescript-eslint/no-invalid-void-type": "error",
141
100
  "@typescript-eslint/no-meaningless-void-operator": "error",
142
- "@typescript-eslint/no-misused-new": "error",
143
101
  "@typescript-eslint/no-misused-promises": "error",
144
102
  "@typescript-eslint/no-misused-spread": "error",
145
103
  "@typescript-eslint/no-mixed-enums": "error",
146
- "@typescript-eslint/no-namespace": "error",
147
- "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
148
- "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
149
- "@typescript-eslint/no-non-null-assertion": "error",
150
104
  "@typescript-eslint/no-redundant-type-constituents": "error",
151
- "@typescript-eslint/no-require-imports": "error",
152
- "@typescript-eslint/no-shadow": [
153
- "error",
154
- {
155
- "hoist": "all",
156
- "allow": [
157
- "resolve",
158
- "reject",
159
- "done",
160
- "next",
161
- "error"
162
- ],
163
- "ignoreTypeValueShadow": true,
164
- "ignoreFunctionTypeParameterNameValueShadow": true
165
- }
166
- ],
167
- "@typescript-eslint/no-this-alias": "error",
168
105
  "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
169
106
  "@typescript-eslint/no-unnecessary-condition": "error",
170
- "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
171
107
  "@typescript-eslint/no-unnecessary-qualifier": "error",
172
108
  "@typescript-eslint/no-unnecessary-template-expression": "error",
173
109
  "@typescript-eslint/no-unnecessary-type-arguments": "error",
174
110
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
175
- "@typescript-eslint/no-unnecessary-type-constraint": "error",
176
111
  "@typescript-eslint/no-unnecessary-type-conversion": "error",
177
112
  "@typescript-eslint/no-unnecessary-type-parameters": "error",
178
113
  "@typescript-eslint/no-unsafe-argument": "error",
179
114
  "@typescript-eslint/no-unsafe-assignment": "error",
180
115
  "@typescript-eslint/no-unsafe-call": "error",
181
- "@typescript-eslint/no-unsafe-declaration-merging": "error",
182
116
  "@typescript-eslint/no-unsafe-enum-comparison": "error",
183
- "@typescript-eslint/no-unsafe-function-type": "error",
184
117
  "@typescript-eslint/no-unsafe-member-access": "error",
185
118
  "@typescript-eslint/no-unsafe-return": "error",
186
119
  "@typescript-eslint/no-unsafe-unary-minus": "error",
187
- "@typescript-eslint/no-unused-expressions": "error",
188
- "@typescript-eslint/no-unused-vars": [
189
- "error",
190
- {
191
- "args": "all",
192
- "argsIgnorePattern": "^_",
193
- "caughtErrors": "all",
194
- "caughtErrorsIgnorePattern": "^_",
195
- "destructuredArrayIgnorePattern": "^_",
196
- "varsIgnorePattern": "^_",
197
- "ignoreRestSiblings": true
198
- }
199
- ],
200
- "@typescript-eslint/no-useless-constructor": "error",
201
120
  "@typescript-eslint/no-useless-default-assignment": "error",
202
- "@typescript-eslint/no-useless-empty-export": "error",
203
- "@typescript-eslint/no-wrapper-object-types": "error",
204
121
  "@typescript-eslint/non-nullable-type-assertion-style": "error",
205
122
  "@typescript-eslint/only-throw-error": "error",
206
- "@typescript-eslint/prefer-as-const": "error",
207
123
  "@typescript-eslint/prefer-find": "error",
208
- "@typescript-eslint/prefer-for-of": "error",
209
- "@typescript-eslint/prefer-function-type": "error",
210
124
  "@typescript-eslint/prefer-includes": "error",
211
- "@typescript-eslint/prefer-literal-enum-member": "error",
212
- "@typescript-eslint/prefer-namespace-keyword": "error",
213
125
  "@typescript-eslint/prefer-nullish-coalescing": "error",
214
126
  "@typescript-eslint/prefer-optional-chain": "error",
215
127
  "@typescript-eslint/prefer-promise-reject-errors": "error",
@@ -247,9 +159,7 @@ export default [
247
159
  }
248
160
  ],
249
161
  "@typescript-eslint/strict-void-return": "error",
250
- "@typescript-eslint/triple-slash-reference": "error",
251
162
  "@typescript-eslint/unbound-method": "error",
252
- "@typescript-eslint/unified-signatures": "error",
253
163
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "error",
254
164
  "accessor-pairs": [
255
165
  "error",
@@ -275,92 +185,31 @@ export default [
275
185
  "error",
276
186
  "smart"
277
187
  ],
278
- "for-direction": "error",
279
188
  "grouped-accessor-pairs": [
280
189
  "error",
281
190
  "getBeforeSet"
282
191
  ],
283
192
  "guard-for-in": "error",
284
- "import/first": "error",
285
193
  "import/newline-after-import": "error",
286
- "import/no-absolute-path": "error",
287
- "import/no-cycle": [
288
- "error",
289
- {
290
- "maxDepth": 3
291
- }
292
- ],
293
- "import/no-duplicates": [
294
- "error",
295
- {
296
- "prefer-inline": true
297
- }
298
- ],
299
- "import/no-empty-named-blocks": "error",
300
- "import/no-mutable-exports": "error",
301
- "import/no-named-as-default": "error",
302
- "import/no-named-as-default-member": "error",
303
- "import/no-self-import": "error",
304
194
  "import/no-useless-path-segments": "error",
305
- "jsdoc/check-access": "error",
306
195
  "jsdoc/check-alignment": "error",
307
196
  "jsdoc/check-param-names": "error",
308
- "jsdoc/check-property-names": "error",
309
- "jsdoc/check-tag-names": "error",
310
197
  "jsdoc/check-types": "error",
311
198
  "jsdoc/check-values": "error",
312
- "jsdoc/empty-tags": "error",
313
199
  "jsdoc/escape-inline-tags": "error",
314
- "jsdoc/implements-on-classes": "error",
315
200
  "jsdoc/multiline-blocks": "error",
316
- "jsdoc/no-defaults": "error",
317
201
  "jsdoc/no-multi-asterisks": "error",
318
202
  "jsdoc/no-types": "error",
319
203
  "jsdoc/no-undefined-types": "error",
320
204
  "jsdoc/reject-any-type": "error",
321
205
  "jsdoc/reject-function-type": "error",
322
206
  "jsdoc/require-next-type": "error",
323
- "jsdoc/require-param-description": "warn",
324
- "jsdoc/require-param-name": "error",
325
- "jsdoc/require-property": "error",
326
- "jsdoc/require-property-description": "error",
327
- "jsdoc/require-property-name": "error",
328
207
  "jsdoc/require-returns-check": "error",
329
- "jsdoc/require-returns-description": "warn",
330
208
  "jsdoc/require-throws-type": "error",
331
209
  "jsdoc/require-yields-check": "error",
332
210
  "jsdoc/require-yields-type": "error",
333
211
  "jsdoc/ts-no-empty-object-type": "error",
334
212
  "jsdoc/valid-types": "error",
335
- "jsx-a11y/alt-text": "error",
336
- "jsx-a11y/anchor-has-content": "error",
337
- "jsx-a11y/anchor-is-valid": "error",
338
- "jsx-a11y/aria-activedescendant-has-tabindex": "error",
339
- "jsx-a11y/aria-props": "error",
340
- "jsx-a11y/aria-proptypes": "error",
341
- "jsx-a11y/aria-role": "error",
342
- "jsx-a11y/aria-unsupported-elements": "error",
343
- "jsx-a11y/autocomplete-valid": "error",
344
- "jsx-a11y/click-events-have-key-events": "error",
345
- "jsx-a11y/heading-has-content": "error",
346
- "jsx-a11y/html-has-lang": "error",
347
- "jsx-a11y/img-redundant-alt": "error",
348
- "jsx-a11y/label-has-associated-control": "error",
349
- "jsx-a11y/lang": "error",
350
- "jsx-a11y/mouse-events-have-key-events": "error",
351
- "jsx-a11y/no-access-key": "error",
352
- "jsx-a11y/no-autofocus": [
353
- "error",
354
- {
355
- "ignoreNonDOM": true
356
- }
357
- ],
358
- "jsx-a11y/no-distracting-elements": "error",
359
- "jsx-a11y/no-redundant-roles": "error",
360
- "jsx-a11y/role-has-required-aria-props": "error",
361
- "jsx-a11y/role-supports-aria-props": "error",
362
- "jsx-a11y/scope": "error",
363
- "jsx-a11y/tabindex-no-positive": "error",
364
213
  "max-depth": [
365
214
  "error",
366
215
  3
@@ -394,40 +243,18 @@ export default [
394
243
  15
395
244
  ],
396
245
  "no-alert": "error",
397
- "no-async-promise-executor": "error",
398
- "no-caller": "error",
399
246
  "no-case-declarations": "error",
400
- "no-compare-neg-zero": "error",
401
- "no-cond-assign": "error",
402
- "no-constant-binary-expression": "error",
403
- "no-constant-condition": "error",
404
247
  "no-constructor-return": "error",
405
- "no-control-regex": "error",
406
- "no-debugger": "error",
407
- "no-delete-var": "error",
408
- "no-dupe-else-if": "error",
409
- "no-duplicate-case": "error",
410
248
  "no-empty": "error",
411
- "no-empty-pattern": "error",
412
- "no-empty-static-block": "error",
413
- "no-eval": "error",
414
- "no-ex-assign": "error",
415
249
  "no-extend-native": "error",
416
250
  "no-extra-bind": "error",
417
- "no-extra-boolean-cast": "error",
418
251
  "no-fallthrough": "error",
419
- "no-global-assign": "error",
420
- "no-irregular-whitespace": "error",
421
- "no-iterator": "error",
422
252
  "no-labels": "error",
423
253
  "no-lone-blocks": "error",
424
- "no-loss-of-precision": "error",
425
- "no-misleading-character-class": "error",
426
254
  "no-multi-str": "error",
427
255
  "no-new": "error",
428
256
  "no-new-func": "error",
429
257
  "no-new-wrappers": "error",
430
- "no-nonoctal-decimal-escape": "error",
431
258
  "no-object-constructor": "error",
432
259
  "no-octal": "error",
433
260
  "no-octal-escape": "error",
@@ -436,26 +263,15 @@ export default [
436
263
  "no-prototype-builtins": "error",
437
264
  "no-regex-spaces": "error",
438
265
  "no-script-url": "error",
439
- "no-self-assign": "error",
440
266
  "no-self-compare": "error",
441
267
  "no-sequences": "error",
442
- "no-shadow-restricted-names": "error",
443
- "no-sparse-arrays": "error",
444
268
  "no-template-curly-in-string": "error",
445
- "no-unassigned-vars": "error",
446
269
  "no-unmodified-loop-condition": "error",
447
270
  "no-unreachable-loop": "error",
448
- "no-unsafe-finally": "error",
449
- "no-unsafe-optional-chaining": "error",
450
- "no-unused-labels": "error",
451
- "no-unused-private-class-members": "error",
452
271
  "no-useless-assignment": "error",
453
272
  "no-useless-call": "error",
454
- "no-useless-catch": "error",
455
273
  "no-useless-computed-key": "error",
456
274
  "no-useless-concat": "error",
457
- "no-useless-escape": "error",
458
- "no-useless-rename": "error",
459
275
  "no-useless-return": "error",
460
276
  "no-var": "error",
461
277
  "perfectionist/sort-exports": "error",
@@ -486,14 +302,7 @@ export default [
486
302
  "react-dom/no-unknown-property": "error",
487
303
  "react-dom/no-unsafe-target-blank": "error",
488
304
  "react-dom/no-void-elements-with-children": "error",
489
- "react-hooks/exhaustive-deps": "error",
490
305
  "react-hooks/rules-of-hooks": "error",
491
- "react-refresh/only-export-components": [
492
- "warn",
493
- {
494
- "allowConstantExport": true
495
- }
496
- ],
497
306
  "react-web-api/no-leaked-event-listener": "error",
498
307
  "react-web-api/no-leaked-interval": "error",
499
308
  "react-web-api/no-leaked-resize-observer": "error",
@@ -507,13 +316,9 @@ export default [
507
316
  "react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
508
317
  "react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
509
318
  "react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
510
- "react/jsx-no-comment-textnodes": "error",
511
319
  "react/jsx-shorthand-boolean": "error",
512
320
  "react/no-access-state-in-setstate": "error",
513
- "react/no-array-index-key": "error",
514
- "react/no-children-prop": "error",
515
321
  "react/no-context-provider": "error",
516
- "react/no-direct-mutation-state": "error",
517
322
  "react/no-duplicate-key": "error",
518
323
  "react/no-forward-ref": "error",
519
324
  "react/no-leaked-conditional-rendering": "error",
@@ -590,7 +395,6 @@ export default [
590
395
  "regexp/strict": "error",
591
396
  "regexp/use-ignore-case": "error",
592
397
  "require-atomic-updates": "error",
593
- "require-yield": "error",
594
398
  "security/detect-bidi-characters": "error",
595
399
  "security/detect-buffer-noassert": "error",
596
400
  "security/detect-child-process": "error",
@@ -629,85 +433,14 @@ export default [
629
433
  "sonarjs/prefer-single-boolean-return": "error",
630
434
  "sonarjs/reduce-initial-value": "error",
631
435
  "symbol-description": "error",
632
- "unicorn/better-regex": "error",
633
- "unicorn/catch-error-name": [
634
- "error",
635
- {
636
- "name": "error"
637
- }
638
- ],
639
- "unicorn/consistent-date-clone": "error",
640
- "unicorn/consistent-empty-array-spread": "error",
641
- "unicorn/consistent-existence-index-check": "error",
642
- "unicorn/error-message": "error",
643
- "unicorn/new-for-builtins": "error",
644
- "unicorn/no-abusive-eslint-disable": "error",
645
- "unicorn/no-accessor-recursion": "error",
646
- "unicorn/no-anonymous-default-export": "error",
647
- "unicorn/no-array-callback-reference": "error",
648
- "unicorn/no-array-method-this-argument": "error",
649
- "unicorn/no-await-expression-member": "error",
650
- "unicorn/no-await-in-promise-methods": "error",
651
- "unicorn/no-instanceof-builtins": "error",
652
- "unicorn/no-invalid-fetch-options": "error",
653
- "unicorn/no-invalid-remove-event-listener": "error",
654
- "unicorn/no-negation-in-equality-check": "error",
655
- "unicorn/no-new-array": "error",
656
- "unicorn/no-new-buffer": "error",
657
- "unicorn/no-thenable": "error",
658
- "unicorn/no-this-assignment": "error",
659
- "unicorn/no-typeof-undefined": "error",
660
- "unicorn/no-unnecessary-await": "error",
661
- "unicorn/no-unnecessary-slice-end": "error",
662
- "unicorn/no-unreadable-array-destructuring": "error",
663
- "unicorn/no-unreadable-iife": "error",
664
- "unicorn/no-useless-fallback-in-spread": "error",
665
- "unicorn/no-useless-length-check": "error",
666
- "unicorn/no-useless-promise-resolve-reject": "error",
667
- "unicorn/no-useless-spread": "error",
668
- "unicorn/no-useless-undefined": "error",
669
- "unicorn/no-zero-fractions": "error",
670
- "unicorn/numeric-separators-style": "error",
671
- "unicorn/prefer-array-find": "error",
672
- "unicorn/prefer-array-flat": "error",
673
- "unicorn/prefer-array-flat-map": "error",
674
- "unicorn/prefer-array-index-of": "error",
675
- "unicorn/prefer-array-some": "error",
676
- "unicorn/prefer-at": "error",
677
- "unicorn/prefer-date-now": "error",
678
436
  "unicorn/prefer-export-from": [
679
437
  "error",
680
438
  {
681
439
  "ignoreUsedVariables": true
682
440
  }
683
441
  ],
684
- "unicorn/prefer-global-this": "error",
685
442
  "unicorn/prefer-import-meta-properties": "error",
686
- "unicorn/prefer-includes": "error",
687
- "unicorn/prefer-modern-dom-apis": "error",
688
- "unicorn/prefer-modern-math-apis": "error",
689
- "unicorn/prefer-native-coercion-functions": "error",
690
- "unicorn/prefer-negative-index": "error",
691
- "unicorn/prefer-node-protocol": "error",
692
- "unicorn/prefer-number-properties": "error",
693
- "unicorn/prefer-object-from-entries": "error",
694
- "unicorn/prefer-optional-catch-binding": "error",
695
- "unicorn/prefer-regexp-test": "error",
696
- "unicorn/prefer-set-has": "error",
697
- "unicorn/prefer-spread": "error",
698
- "unicorn/prefer-string-replace-all": "error",
699
- "unicorn/prefer-string-slice": "error",
700
- "unicorn/prefer-string-starts-ends-with": "error",
701
- "unicorn/prefer-string-trim-start-end": "error",
702
- "unicorn/prefer-structured-clone": "error",
703
- "unicorn/prefer-top-level-await": "error",
704
- "unicorn/prefer-type-error": "error",
705
- "unicorn/relative-url-style": "error",
706
- "unicorn/text-encoding-identifier-case": "error",
707
- "unicorn/throw-new-error": "error",
708
443
  "unused-imports/no-unused-imports": "error",
709
- "use-isnan": "error",
710
- "valid-typeof": "error",
711
444
  "yoda": "error"
712
445
  },
713
446
  },
@@ -778,25 +511,12 @@ export default [
778
511
  "@typescript-eslint/switch-exhaustiveness-check": "off",
779
512
  "@typescript-eslint/unbound-method": "off",
780
513
  "@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
781
- "constructor-super": "error",
782
514
  "getter-return": "error",
783
- "no-class-assign": "error",
784
- "no-const-assign": "error",
785
515
  "no-dupe-args": "error",
786
- "no-dupe-class-members": "error",
787
- "no-dupe-keys": "error",
788
- "no-func-assign": "error",
789
- "no-import-assign": "error",
790
- "no-new-native-nonconstructor": "error",
791
516
  "no-new-symbol": "off",
792
- "no-obj-calls": "error",
793
517
  "no-redeclare": "error",
794
- "no-setter-return": "error",
795
- "no-this-before-super": "error",
796
518
  "no-undef": "error",
797
519
  "no-unreachable": "error",
798
- "no-unsafe-negation": "error",
799
- "no-with": "error",
800
520
  "prefer-const": [
801
521
  "error",
802
522
  {
@@ -815,8 +535,6 @@ export default [
815
535
  "testing-library": testingLibraryPlugin,
816
536
  },
817
537
  rules: {
818
- "@typescript-eslint/no-explicit-any": "off",
819
- "@typescript-eslint/no-non-null-assertion": "off",
820
538
  "@typescript-eslint/no-unsafe-assignment": "off",
821
539
  "@typescript-eslint/no-unsafe-member-access": "off",
822
540
  "max-lines": "off",
@@ -840,20 +558,13 @@ export default [
840
558
  "testing-library/prefer-query-by-disappearance": "error",
841
559
  "testing-library/prefer-screen-queries": "error",
842
560
  "testing-library/render-result-naming-convention": "error",
843
- "vitest/expect-expect": "error",
844
- "vitest/no-conditional-expect": "error",
845
561
  "vitest/no-conditional-in-test": "error",
846
- "vitest/no-disabled-tests": "warn",
847
562
  "vitest/no-duplicate-hooks": "error",
848
- "vitest/no-focused-tests": "error",
849
563
  "vitest/no-identical-title": "error",
850
- "vitest/no-standalone-expect": "error",
851
564
  "vitest/prefer-spy-on": "error",
852
565
  "vitest/prefer-strict-equal": "error",
853
566
  "vitest/prefer-to-be": "error",
854
567
  "vitest/prefer-to-have-length": "error",
855
- "vitest/require-to-throw-message": "error",
856
- "vitest/valid-expect": "error",
857
568
  "vitest/valid-title": "error"
858
569
  },
859
570
  },
@@ -932,7 +643,6 @@ export default [
932
643
  "storybook": storybookPlugin,
933
644
  },
934
645
  rules: {
935
- "import/no-default-export": "off",
936
646
  "max-lines": "off",
937
647
  "max-lines-per-function": "off",
938
648
  "storybook/await-interactions": "error",
@@ -954,10 +664,7 @@ export default [
954
664
  name: "eslint-config-setup/config-files",
955
665
  files: ["**/*.config.{ts,mts,cts,js,mjs,cjs}","**/vite.config.*","**/vitest.config.*","**/next.config.*","**/tailwind.config.*","**/postcss.config.*"],
956
666
  rules: {
957
- "@typescript-eslint/no-magic-numbers": "off",
958
- "@typescript-eslint/no-require-imports": "off",
959
667
  "complexity": "off",
960
- "import/no-default-export": "off",
961
668
  "max-lines": "off",
962
669
  "max-lines-per-function": "off",
963
670
  "max-statements": "off",
@@ -971,16 +678,7 @@ export default [
971
678
  name: "eslint-config-setup/declarations",
972
679
  files: ["**/*.d.ts"],
973
680
  rules: {
974
- "@typescript-eslint/consistent-type-definitions": "off",
975
- "@typescript-eslint/explicit-function-return-type": "off",
976
681
  "@typescript-eslint/naming-convention": "off",
977
- "@typescript-eslint/no-empty-interface": "off",
978
- "@typescript-eslint/no-empty-object-type": "off",
979
- "@typescript-eslint/no-explicit-any": "off",
980
- "@typescript-eslint/no-namespace": "off",
981
- "@typescript-eslint/no-unused-vars": "off",
982
- "import/no-duplicates": "off",
983
- "unicorn/filename-case": "off",
984
682
  "unicorn/prevent-abbreviations": "off",
985
683
  "unused-imports/no-unused-imports": "off"
986
684
  },
@@ -991,12 +689,10 @@ export default [
991
689
  name: "eslint-config-setup/scripts",
992
690
  files: ["**/scripts/**/*.{ts,mts,js,mjs}"],
993
691
  rules: {
994
- "@typescript-eslint/explicit-function-return-type": "off",
995
692
  "max-lines": "off",
996
693
  "max-lines-per-function": "off",
997
694
  "no-console": "off",
998
- "node/no-process-exit": "off",
999
- "unicorn/no-process-exit": "off"
695
+ "node/no-process-exit": "off"
1000
696
  },
1001
697
  },
1002
698
 
@@ -1053,12 +749,12 @@ export default [
1053
749
  },
1054
750
 
1055
751
  // OxLint integration — disables rules already covered by OxLint
1056
- { name: "eslint-config-setup/oxlint", ...oxlintPlugin.configs["flat/recommended"] },
1057
- { name: "eslint-config-setup/oxlint-react", ...oxlintPlugin.configs["flat/react"] },
1058
- { name: "eslint-config-setup/oxlint-jsx-a11y", ...oxlintPlugin.configs["flat/jsx-a11y"] },
1059
- { name: "eslint-config-setup/oxlint-typescript", ...oxlintPlugin.configs["flat/typescript"] },
1060
- { name: "eslint-config-setup/oxlint-unicorn", ...oxlintPlugin.configs["flat/unicorn"] },
1061
- { name: "eslint-config-setup/oxlint-import", ...oxlintPlugin.configs["flat/import"] },
1062
- { name: "eslint-config-setup/oxlint-jsdoc", ...oxlintPlugin.configs["flat/jsdoc"] },
752
+ ...[oxlintPlugin.configs["flat/recommended"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint", ...c })),
753
+ ...[oxlintPlugin.configs["flat/react"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-react", ...c })),
754
+ ...[oxlintPlugin.configs["flat/jsx-a11y"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsx-a11y", ...c })),
755
+ ...[oxlintPlugin.configs["flat/typescript"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-typescript", ...c })),
756
+ ...[oxlintPlugin.configs["flat/unicorn"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-unicorn", ...c })),
757
+ ...[oxlintPlugin.configs["flat/import"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-import", ...c })),
758
+ ...[oxlintPlugin.configs["flat/jsdoc"]].flat().map((c) => ({ name: "eslint-config-setup/oxlint-jsdoc", ...c })),
1063
759
 
1064
760
  ]