@lincy/eslint-config 5.3.2 → 5.4.0

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.
package/dist/index.d.cts CHANGED
@@ -203,7 +203,7 @@ interface RuleOptions {
203
203
  */
204
204
  'default-case'?: Linter.RuleEntry<DefaultCase>
205
205
  /**
206
- * Enforce `default` clauses in switch statements to be last
206
+ * Enforce `default` clauses in `switch` statements to be last
207
207
  * @see https://eslint.org/docs/latest/rules/default-case-last
208
208
  */
209
209
  'default-case-last'?: Linter.RuleEntry<[]>
@@ -387,233 +387,233 @@ interface RuleOptions {
387
387
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
388
388
  /**
389
389
  * Enforce or ban the use of inline type-only markers for named imports.
390
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/consistent-type-specifier-style.md
390
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/consistent-type-specifier-style.md
391
391
  */
392
392
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
393
393
  /**
394
394
  * Ensure a default export is present, given a default import.
395
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/default.md
395
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/default.md
396
396
  */
397
397
  'import/default'?: Linter.RuleEntry<[]>
398
398
  /**
399
399
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
400
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/dynamic-import-chunkname.md
400
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/dynamic-import-chunkname.md
401
401
  */
402
402
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
403
403
  /**
404
404
  * Forbid any invalid exports, i.e. re-export of the same name.
405
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/export.md
405
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/export.md
406
406
  */
407
407
  'import/export'?: Linter.RuleEntry<[]>
408
408
  /**
409
409
  * Ensure all exports appear after other statements.
410
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/exports-last.md
410
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/exports-last.md
411
411
  */
412
412
  'import/exports-last'?: Linter.RuleEntry<[]>
413
413
  /**
414
414
  * Ensure consistent use of file extension within the import path.
415
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/extensions.md
415
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/extensions.md
416
416
  */
417
417
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
418
418
  /**
419
419
  * Ensure all imports appear before other statements.
420
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/first.md
420
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/first.md
421
421
  */
422
422
  'import/first'?: Linter.RuleEntry<ImportFirst>
423
423
  /**
424
424
  * Prefer named exports to be grouped together in a single export declaration.
425
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/group-exports.md
425
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/group-exports.md
426
426
  */
427
427
  'import/group-exports'?: Linter.RuleEntry<[]>
428
428
  /**
429
429
  * Replaced by `import-x/first`.
430
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/imports-first.md
430
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/imports-first.md
431
431
  * @deprecated
432
432
  */
433
433
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
434
434
  /**
435
435
  * Enforce the maximum number of dependencies a module can have.
436
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/max-dependencies.md
436
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/max-dependencies.md
437
437
  */
438
438
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
439
439
  /**
440
440
  * Ensure named imports correspond to a named export in the remote file.
441
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/named.md
441
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/named.md
442
442
  */
443
443
  'import/named'?: Linter.RuleEntry<ImportNamed>
444
444
  /**
445
445
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
446
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/namespace.md
446
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/namespace.md
447
447
  */
448
448
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
449
449
  /**
450
450
  * Enforce a newline after import statements.
451
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/newline-after-import.md
451
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/newline-after-import.md
452
452
  */
453
453
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
454
454
  /**
455
455
  * Forbid import of modules using absolute paths.
456
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-absolute-path.md
456
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-absolute-path.md
457
457
  */
458
458
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
459
459
  /**
460
460
  * Forbid AMD `require` and `define` calls.
461
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-amd.md
461
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-amd.md
462
462
  */
463
463
  'import/no-amd'?: Linter.RuleEntry<[]>
464
464
  /**
465
465
  * Forbid anonymous values as default exports.
466
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-anonymous-default-export.md
466
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-anonymous-default-export.md
467
467
  */
468
468
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
469
469
  /**
470
470
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
471
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-commonjs.md
471
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-commonjs.md
472
472
  */
473
473
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
474
474
  /**
475
475
  * Forbid a module from importing a module with a dependency path back to itself.
476
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-cycle.md
476
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-cycle.md
477
477
  */
478
478
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
479
479
  /**
480
480
  * Forbid default exports.
481
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-default-export.md
481
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-default-export.md
482
482
  */
483
483
  'import/no-default-export'?: Linter.RuleEntry<[]>
484
484
  /**
485
485
  * Forbid imported names marked with `@deprecated` documentation tag.
486
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-deprecated.md
486
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-deprecated.md
487
487
  */
488
488
  'import/no-deprecated'?: Linter.RuleEntry<[]>
489
489
  /**
490
490
  * Forbid repeated import of the same module in multiple places.
491
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-duplicates.md
491
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-duplicates.md
492
492
  */
493
493
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
494
494
  /**
495
495
  * Forbid `require()` calls with expressions.
496
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-dynamic-require.md
496
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-dynamic-require.md
497
497
  */
498
498
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
499
499
  /**
500
500
  * Forbid empty named import blocks.
501
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-empty-named-blocks.md
501
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-empty-named-blocks.md
502
502
  */
503
503
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
504
504
  /**
505
505
  * Forbid the use of extraneous packages.
506
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-extraneous-dependencies.md
506
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-extraneous-dependencies.md
507
507
  */
508
508
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
509
509
  /**
510
510
  * Forbid import statements with CommonJS module.exports.
511
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-import-module-exports.md
511
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-import-module-exports.md
512
512
  */
513
513
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
514
514
  /**
515
515
  * Forbid importing the submodules of other modules.
516
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-internal-modules.md
516
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-internal-modules.md
517
517
  */
518
518
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
519
519
  /**
520
520
  * Forbid the use of mutable exports with `var` or `let`.
521
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-mutable-exports.md
521
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-mutable-exports.md
522
522
  */
523
523
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
524
524
  /**
525
525
  * Forbid use of exported name as identifier of default export.
526
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default.md
526
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default.md
527
527
  */
528
528
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
529
529
  /**
530
530
  * Forbid use of exported name as property of default export.
531
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-as-default-member.md
531
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-as-default-member.md
532
532
  */
533
533
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
534
534
  /**
535
535
  * Forbid named default exports.
536
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-default.md
536
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-default.md
537
537
  */
538
538
  'import/no-named-default'?: Linter.RuleEntry<[]>
539
539
  /**
540
540
  * Forbid named exports.
541
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-named-export.md
541
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-export.md
542
542
  */
543
543
  'import/no-named-export'?: Linter.RuleEntry<[]>
544
544
  /**
545
545
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
546
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-namespace.md
546
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-namespace.md
547
547
  */
548
548
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
549
549
  /**
550
550
  * Forbid Node.js builtin modules.
551
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-nodejs-modules.md
551
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-nodejs-modules.md
552
552
  */
553
553
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
554
554
  /**
555
555
  * Forbid importing packages through relative paths.
556
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-packages.md
556
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-packages.md
557
557
  */
558
558
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
559
559
  /**
560
560
  * Forbid importing modules from parent directories.
561
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-relative-parent-imports.md
561
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-parent-imports.md
562
562
  */
563
563
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
564
564
  /**
565
565
  * Forbid importing a default export by a different name.
566
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-rename-default.md
566
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-rename-default.md
567
567
  */
568
568
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
569
569
  /**
570
570
  * Enforce which files can be imported in a given folder.
571
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-restricted-paths.md
571
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-restricted-paths.md
572
572
  */
573
573
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
574
574
  /**
575
575
  * Forbid a module from importing itself.
576
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-self-import.md
576
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-self-import.md
577
577
  */
578
578
  'import/no-self-import'?: Linter.RuleEntry<[]>
579
579
  /**
580
580
  * Forbid unassigned imports.
581
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unassigned-import.md
581
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unassigned-import.md
582
582
  */
583
583
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
584
584
  /**
585
585
  * Ensure imports point to a file/module that can be resolved.
586
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unresolved.md
586
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unresolved.md
587
587
  */
588
588
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
589
589
  /**
590
590
  * Forbid modules without exports, or exports without matching import in another module.
591
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-unused-modules.md
591
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unused-modules.md
592
592
  */
593
593
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
594
594
  /**
595
595
  * Forbid unnecessary path segments in import and require statements.
596
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-useless-path-segments.md
596
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-useless-path-segments.md
597
597
  */
598
598
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
599
599
  /**
600
600
  * Forbid webpack loader syntax in imports.
601
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/no-webpack-loader-syntax.md
601
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-webpack-loader-syntax.md
602
602
  */
603
603
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
604
604
  /**
605
605
  * Enforce a convention in module import order.
606
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/order.md
606
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/order.md
607
607
  */
608
608
  'import/order'?: Linter.RuleEntry<ImportOrder>
609
609
  /**
610
610
  * Prefer a default export if module exports a single name or multiple names.
611
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/prefer-default-export.md
611
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/prefer-default-export.md
612
612
  */
613
613
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
614
614
  /**
615
615
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
616
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.5.0/docs/rules/unambiguous.md
616
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/unambiguous.md
617
617
  */
618
618
  'import/unambiguous'?: Linter.RuleEntry<[]>
619
619
  /**
@@ -2562,8 +2562,8 @@ interface RuleOptions {
2562
2562
  */
2563
2563
  'radix'?: Linter.RuleEntry<Radix>
2564
2564
  /**
2565
- * disallow passing 'children' to void DOM elements
2566
- * @see https://eslint-react.xyz/docs/rules/dom-no-children-in-void-dom-elements
2565
+ * disallow void elements (AKA self-closing elements) from having children
2566
+ * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2567
2567
  */
2568
2568
  'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
2569
2569
  /**
@@ -2622,10 +2622,20 @@ interface RuleOptions {
2622
2622
  */
2623
2623
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2624
2624
  /**
2625
- * enforce custom hooks to use at least one other hook inside
2626
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-redundant-custom-hook
2625
+ * disallow void elements (AKA self-closing elements) from having children
2626
+ * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2627
+ */
2628
+ 'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
2629
+ /**
2630
+ * enforce custom Hooks to use at least one other hook inside
2631
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
2627
2632
  */
2628
2633
  'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
2634
+ /**
2635
+ * disallow unnecessary usage of 'useCallback'
2636
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
2637
+ */
2638
+ 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
2629
2639
  /**
2630
2640
  * disallow unnecessary usage of 'useMemo'
2631
2641
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
@@ -2642,8 +2652,8 @@ interface RuleOptions {
2642
2652
  */
2643
2653
  'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
2644
2654
  /**
2645
- * enforce custom hooks to use at least one other hook inside
2646
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-redundant-custom-hook
2655
+ * enforce custom Hooks to use at least one other hook inside
2656
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
2647
2657
  */
2648
2658
  'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
2649
2659
  /**
@@ -2656,6 +2666,11 @@ interface RuleOptions {
2656
2666
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
2657
2667
  */
2658
2668
  'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
2669
+ /**
2670
+ * enforce custom Hooks to use at least one other hook inside
2671
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
2672
+ */
2673
+ 'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
2659
2674
  /**
2660
2675
  * disallow function calls in 'useState' that aren't wrapped in an initializer function
2661
2676
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
@@ -2692,6 +2707,26 @@ interface RuleOptions {
2692
2707
  */
2693
2708
  'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
2694
2709
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2710
+ /**
2711
+ * enforce that every 'addEventListener' in a component or custom Hook has a corresponding 'removeEventListener'.
2712
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
2713
+ */
2714
+ 'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
2715
+ /**
2716
+ * enforce that every 'setInterval' in a component or custom Hook has a corresponding 'clearInterval'.
2717
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
2718
+ */
2719
+ 'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
2720
+ /**
2721
+ * enforce cleanup of 'ResizeObserver' instances in components and custom Hooks.
2722
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
2723
+ */
2724
+ 'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
2725
+ /**
2726
+ * enforce that every 'setTimeout' in a component or custom Hook has a corresponding 'clearTimeout'.
2727
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
2728
+ */
2729
+ 'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
2695
2730
  /**
2696
2731
  * disallow using shorthand boolean attributes
2697
2732
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
@@ -2709,12 +2744,12 @@ interface RuleOptions {
2709
2744
  'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2710
2745
  /**
2711
2746
  * disallow duplicate props
2712
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
2747
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
2713
2748
  */
2714
2749
  'react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
2715
2750
  /**
2716
- * a helper rule to mark variables as used
2717
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
2751
+ * helpes `eslint/no-unused-vars` to correctly mark JSX variables as used.
2752
+ * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
2718
2753
  */
2719
2754
  'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
2720
2755
  /**
@@ -2817,6 +2852,11 @@ interface RuleOptions {
2817
2852
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
2818
2853
  */
2819
2854
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2855
+ /**
2856
+ * disallow duplicate props
2857
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
2858
+ */
2859
+ 'react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
2820
2860
  /**
2821
2861
  * disallow duplicate keys when rendering list
2822
2862
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
@@ -2947,6 +2987,11 @@ interface RuleOptions {
2947
2987
  * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
2948
2988
  */
2949
2989
  'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
2990
+ /**
2991
+ * helpes `eslint/no-unused-vars` to correctly mark JSX variables as used.
2992
+ * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
2993
+ */
2994
+ 'react/use-jsx-vars'?: Linter.RuleEntry<[]>
2950
2995
  /**
2951
2996
  * disallow confusing quantifiers
2952
2997
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
@@ -3402,7 +3447,7 @@ interface RuleOptions {
3402
3447
  */
3403
3448
  'semi-style'?: Linter.RuleEntry<SemiStyle>
3404
3449
  /**
3405
- * Enforce sorted import declarations within modules
3450
+ * Enforce sorted `import` declarations within modules
3406
3451
  * @see https://eslint.org/docs/latest/rules/sort-imports
3407
3452
  */
3408
3453
  'sort-imports'?: Linter.RuleEntry<SortImports>
@@ -4128,7 +4173,7 @@ interface RuleOptions {
4128
4173
  */
4129
4174
  'test/padding-around-expect-groups'?: Linter.RuleEntry<[]>
4130
4175
  /**
4131
- * Enforce padding around afterAll blocks
4176
+ * Enforce padding around `test` blocks
4132
4177
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
4133
4178
  */
4134
4179
  'test/padding-around-test-blocks'?: Linter.RuleEntry<[]>
@@ -4233,7 +4278,7 @@ interface RuleOptions {
4233
4278
  */
4234
4279
  'test/prefer-todo'?: Linter.RuleEntry<[]>
4235
4280
  /**
4236
- * Prefer `vi.mocked()` over `fn as Mock`
4281
+ * require `vi.mocked()` over `fn as Mock`
4237
4282
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
4238
4283
  */
4239
4284
  'test/prefer-vi-mocked'?: Linter.RuleEntry<[]>
@@ -4268,7 +4313,7 @@ interface RuleOptions {
4268
4313
  */
4269
4314
  'test/valid-expect'?: Linter.RuleEntry<TestValidExpect>
4270
4315
  /**
4271
- * Require promises that have expectations in their chain to be valid
4316
+ * require promises that have expectations in their chain to be valid
4272
4317
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
4273
4318
  */
4274
4319
  'test/valid-expect-in-promise'?: Linter.RuleEntry<[]>
@@ -4853,7 +4898,7 @@ interface RuleOptions {
4853
4898
  */
4854
4899
  'ts/no-wrapper-object-types'?: Linter.RuleEntry<[]>
4855
4900
  /**
4856
- * Enforce non-null assertions over explicit type casts
4901
+ * Enforce non-null assertions over explicit type assertions
4857
4902
  * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
4858
4903
  */
4859
4904
  'ts/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
@@ -4938,7 +4983,7 @@ interface RuleOptions {
4938
4983
  */
4939
4984
  'ts/prefer-readonly-parameter-types'?: Linter.RuleEntry<TsPreferReadonlyParameterTypes>
4940
4985
  /**
4941
- * Enforce using type parameter when calling `Array#reduce` instead of casting
4986
+ * Enforce using type parameter when calling `Array#reduce` instead of using a type assertion
4942
4987
  * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
4943
4988
  */
4944
4989
  'ts/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
@@ -9762,12 +9807,51 @@ type PaddingLineBetweenStatements = {
9762
9807
  next: _PaddingLineBetweenStatementsStatementType
9763
9808
  }[]
9764
9809
  // ----- perfectionist/sort-array-includes -----
9765
- type PerfectionistSortArrayIncludes = []|[{
9810
+ type PerfectionistSortArrayIncludes = {
9766
9811
 
9767
- partitionByComment?: (string[] | boolean | string)
9812
+ partitionByComment?: (string[] | boolean | string | {
9813
+ block?: (string[] | boolean | string)
9814
+ line?: (string[] | boolean | string)
9815
+ [k: string]: unknown | undefined
9816
+ })
9768
9817
 
9769
9818
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
9770
9819
 
9820
+ customGroups?: ({
9821
+
9822
+ groupName?: string
9823
+
9824
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
9825
+
9826
+ order?: ("desc" | "asc")
9827
+
9828
+ newlinesInside?: ("always" | "never")
9829
+ anyOf?: {
9830
+
9831
+ selector?: ("literal" | "spread")
9832
+
9833
+ elementNamePattern?: string
9834
+ }[]
9835
+ } | {
9836
+
9837
+ groupName?: string
9838
+
9839
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
9840
+
9841
+ order?: ("desc" | "asc")
9842
+
9843
+ newlinesInside?: ("always" | "never")
9844
+
9845
+ selector?: ("literal" | "spread")
9846
+
9847
+ elementNamePattern?: string
9848
+ })[]
9849
+ useConfigurationIf?: {
9850
+ allNamesMatchPattern?: string
9851
+ }
9852
+
9853
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9854
+
9771
9855
  partitionByNewLine?: boolean
9772
9856
 
9773
9857
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -9778,16 +9862,24 @@ type PerfectionistSortArrayIncludes = []|[{
9778
9862
 
9779
9863
  locales?: (string | string[])
9780
9864
 
9781
- order?: ("asc" | "desc")
9865
+ groups?: (string | string[] | {
9866
+
9867
+ newlinesBetween?: ("ignore" | "always" | "never")
9868
+ [k: string]: unknown | undefined
9869
+ })[]
9782
9870
 
9783
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9784
- }]
9871
+ order?: ("asc" | "desc")
9872
+ }[]
9785
9873
  // ----- perfectionist/sort-classes -----
9786
9874
  type PerfectionistSortClasses = []|[{
9787
9875
 
9788
9876
  ignoreCallbackDependenciesPatterns?: string[]
9789
9877
 
9790
- partitionByComment?: (string[] | boolean | string)
9878
+ partitionByComment?: (string[] | boolean | string | {
9879
+ block?: (string[] | boolean | string)
9880
+ line?: (string[] | boolean | string)
9881
+ [k: string]: unknown | undefined
9882
+ })
9791
9883
 
9792
9884
  customGroups?: ({
9793
9885
 
@@ -9796,6 +9888,8 @@ type PerfectionistSortClasses = []|[{
9796
9888
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
9797
9889
 
9798
9890
  order?: ("desc" | "asc")
9891
+
9892
+ newlinesInside?: ("always" | "never")
9799
9893
  anyOf?: {
9800
9894
 
9801
9895
  elementValuePattern?: string
@@ -9816,6 +9910,8 @@ type PerfectionistSortClasses = []|[{
9816
9910
 
9817
9911
  order?: ("desc" | "asc")
9818
9912
 
9913
+ newlinesInside?: ("always" | "never")
9914
+
9819
9915
  elementValuePattern?: string
9820
9916
 
9821
9917
  decoratorNamePattern?: string
@@ -9837,18 +9933,26 @@ type PerfectionistSortClasses = []|[{
9837
9933
 
9838
9934
  alphabet?: string
9839
9935
 
9936
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9937
+
9840
9938
  locales?: (string | string[])
9841
9939
 
9842
- groups?: (string | string[])[]
9940
+ groups?: (string | string[] | {
9941
+
9942
+ newlinesBetween?: ("ignore" | "always" | "never")
9943
+ [k: string]: unknown | undefined
9944
+ })[]
9843
9945
 
9844
9946
  order?: ("asc" | "desc")
9845
-
9846
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9847
9947
  }]
9848
9948
  // ----- perfectionist/sort-decorators -----
9849
9949
  type PerfectionistSortDecorators = []|[{
9850
9950
 
9851
- partitionByComment?: (string[] | boolean | string)
9951
+ partitionByComment?: (string[] | boolean | string | {
9952
+ block?: (string[] | boolean | string)
9953
+ line?: (string[] | boolean | string)
9954
+ [k: string]: unknown | undefined
9955
+ })
9852
9956
 
9853
9957
  sortOnParameters?: boolean
9854
9958
 
@@ -9870,18 +9974,26 @@ type PerfectionistSortDecorators = []|[{
9870
9974
 
9871
9975
  alphabet?: string
9872
9976
 
9977
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
9978
+
9873
9979
  locales?: (string | string[])
9874
9980
 
9875
- groups?: (string | string[])[]
9981
+ groups?: (string | string[] | {
9982
+
9983
+ newlinesBetween?: ("ignore" | "always" | "never")
9984
+ [k: string]: unknown | undefined
9985
+ })[]
9876
9986
 
9877
9987
  order?: ("asc" | "desc")
9878
-
9879
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9880
9988
  }]
9881
9989
  // ----- perfectionist/sort-enums -----
9882
9990
  type PerfectionistSortEnums = []|[{
9883
9991
 
9884
- partitionByComment?: (string[] | boolean | string)
9992
+ partitionByComment?: (string[] | boolean | string | {
9993
+ block?: (string[] | boolean | string)
9994
+ line?: (string[] | boolean | string)
9995
+ [k: string]: unknown | undefined
9996
+ })
9885
9997
 
9886
9998
  forceNumericSort?: boolean
9887
9999
 
@@ -9895,16 +10007,20 @@ type PerfectionistSortEnums = []|[{
9895
10007
 
9896
10008
  alphabet?: string
9897
10009
 
10010
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10011
+
9898
10012
  locales?: (string | string[])
9899
10013
 
9900
10014
  order?: ("asc" | "desc")
9901
-
9902
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9903
10015
  }]
9904
10016
  // ----- perfectionist/sort-exports -----
9905
10017
  type PerfectionistSortExports = []|[{
9906
10018
 
9907
- partitionByComment?: (string[] | boolean | string)
10019
+ partitionByComment?: (string[] | boolean | string | {
10020
+ block?: (string[] | boolean | string)
10021
+ line?: (string[] | boolean | string)
10022
+ [k: string]: unknown | undefined
10023
+ })
9908
10024
 
9909
10025
  groupKind?: ("mixed" | "values-first" | "types-first")
9910
10026
 
@@ -9916,11 +10032,11 @@ type PerfectionistSortExports = []|[{
9916
10032
 
9917
10033
  alphabet?: string
9918
10034
 
10035
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10036
+
9919
10037
  locales?: (string | string[])
9920
10038
 
9921
10039
  order?: ("asc" | "desc")
9922
-
9923
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9924
10040
  }]
9925
10041
  // ----- perfectionist/sort-heritage-clauses -----
9926
10042
  type PerfectionistSortHeritageClauses = []|[{
@@ -9935,13 +10051,17 @@ type PerfectionistSortHeritageClauses = []|[{
9935
10051
 
9936
10052
  alphabet?: string
9937
10053
 
10054
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10055
+
9938
10056
  locales?: (string | string[])
9939
10057
 
9940
- groups?: (string | string[])[]
10058
+ groups?: (string | string[] | {
10059
+
10060
+ newlinesBetween?: ("ignore" | "always" | "never")
10061
+ [k: string]: unknown | undefined
10062
+ })[]
9941
10063
 
9942
10064
  order?: ("asc" | "desc")
9943
-
9944
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9945
10065
  }]
9946
10066
  // ----- perfectionist/sort-imports -----
9947
10067
  type PerfectionistSortImports = []|[_PerfectionistSortImportsSortImports]
@@ -9958,7 +10078,11 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
9958
10078
  }
9959
10079
  }
9960
10080
 
9961
- partitionByComment?: (string[] | boolean | string)
10081
+ partitionByComment?: (string[] | boolean | string | {
10082
+ block?: (string[] | boolean | string)
10083
+ line?: (string[] | boolean | string)
10084
+ [k: string]: unknown | undefined
10085
+ })
9962
10086
 
9963
10087
  internalPattern?: string[]
9964
10088
 
@@ -9980,13 +10104,17 @@ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLen
9980
10104
 
9981
10105
  alphabet?: string
9982
10106
 
10107
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10108
+
9983
10109
  locales?: (string | string[])
9984
10110
 
9985
- groups?: (string | string[])[]
10111
+ groups?: (string | string[] | {
10112
+
10113
+ newlinesBetween?: ("ignore" | "always" | "never")
10114
+ [k: string]: unknown | undefined
10115
+ })[]
9986
10116
 
9987
10117
  order?: ("asc" | "desc")
9988
-
9989
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
9990
10118
  })
9991
10119
  type _PerfectionistSortImportsMaxLineLengthRequiresLineLengthType = ({
9992
10120
  [k: string]: unknown | undefined
@@ -9996,11 +10124,19 @@ interface _PerfectionistSortImports_IsLineLength {
9996
10124
  [k: string]: unknown | undefined
9997
10125
  }
9998
10126
  // ----- perfectionist/sort-interfaces -----
9999
- type PerfectionistSortInterfaces = []|[{
10127
+ type PerfectionistSortInterfaces = {
10000
10128
 
10001
10129
  ignorePattern?: string[]
10130
+ useConfigurationIf?: {
10131
+ allNamesMatchPattern?: string
10132
+ declarationMatchesPattern?: string
10133
+ }
10002
10134
 
10003
- partitionByComment?: (string[] | boolean | string)
10135
+ partitionByComment?: (string[] | boolean | string | {
10136
+ block?: (string[] | boolean | string)
10137
+ line?: (string[] | boolean | string)
10138
+ [k: string]: unknown | undefined
10139
+ })
10004
10140
  customGroups?: ({
10005
10141
  [k: string]: (string | string[]) | undefined
10006
10142
  } | ({
@@ -10010,6 +10146,8 @@ type PerfectionistSortInterfaces = []|[{
10010
10146
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
10011
10147
 
10012
10148
  order?: ("desc" | "asc")
10149
+
10150
+ newlinesInside?: ("always" | "never")
10013
10151
  anyOf?: {
10014
10152
 
10015
10153
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -10026,6 +10164,8 @@ type PerfectionistSortInterfaces = []|[{
10026
10164
 
10027
10165
  order?: ("desc" | "asc")
10028
10166
 
10167
+ newlinesInside?: ("always" | "never")
10168
+
10029
10169
  modifiers?: ("optional" | "required" | "multiline")[]
10030
10170
 
10031
10171
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -10035,6 +10175,8 @@ type PerfectionistSortInterfaces = []|[{
10035
10175
 
10036
10176
  groupKind?: ("mixed" | "required-first" | "optional-first")
10037
10177
 
10178
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
10179
+
10038
10180
  partitionByNewLine?: boolean
10039
10181
 
10040
10182
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -10047,16 +10189,22 @@ type PerfectionistSortInterfaces = []|[{
10047
10189
 
10048
10190
  locales?: (string | string[])
10049
10191
 
10050
- groups?: (string | string[])[]
10192
+ groups?: (string | string[] | {
10193
+
10194
+ newlinesBetween?: ("ignore" | "always" | "never")
10195
+ [k: string]: unknown | undefined
10196
+ })[]
10051
10197
 
10052
10198
  order?: ("asc" | "desc")
10053
-
10054
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10055
- }]
10199
+ }[]
10056
10200
  // ----- perfectionist/sort-intersection-types -----
10057
10201
  type PerfectionistSortIntersectionTypes = []|[{
10058
10202
 
10059
- partitionByComment?: (string[] | boolean | string)
10203
+ partitionByComment?: (string[] | boolean | string | {
10204
+ block?: (string[] | boolean | string)
10205
+ line?: (string[] | boolean | string)
10206
+ [k: string]: unknown | undefined
10207
+ })
10060
10208
 
10061
10209
  partitionByNewLine?: boolean
10062
10210
 
@@ -10068,13 +10216,17 @@ type PerfectionistSortIntersectionTypes = []|[{
10068
10216
 
10069
10217
  alphabet?: string
10070
10218
 
10219
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10220
+
10071
10221
  locales?: (string | string[])
10072
10222
 
10073
- groups?: (string | string[])[]
10223
+ groups?: (string | string[] | {
10224
+
10225
+ newlinesBetween?: ("ignore" | "always" | "never")
10226
+ [k: string]: unknown | undefined
10227
+ })[]
10074
10228
 
10075
10229
  order?: ("asc" | "desc")
10076
-
10077
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10078
10230
  }]
10079
10231
  // ----- perfectionist/sort-jsx-props -----
10080
10232
  type PerfectionistSortJsxProps = []|[{
@@ -10091,18 +10243,26 @@ type PerfectionistSortJsxProps = []|[{
10091
10243
 
10092
10244
  alphabet?: string
10093
10245
 
10246
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10247
+
10094
10248
  locales?: (string | string[])
10095
10249
 
10096
- groups?: (string | string[])[]
10250
+ groups?: (string | string[] | {
10251
+
10252
+ newlinesBetween?: ("ignore" | "always" | "never")
10253
+ [k: string]: unknown | undefined
10254
+ })[]
10097
10255
 
10098
10256
  order?: ("asc" | "desc")
10099
-
10100
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10101
10257
  }]
10102
10258
  // ----- perfectionist/sort-maps -----
10103
10259
  type PerfectionistSortMaps = []|[{
10104
10260
 
10105
- partitionByComment?: (string[] | boolean | string)
10261
+ partitionByComment?: (string[] | boolean | string | {
10262
+ block?: (string[] | boolean | string)
10263
+ line?: (string[] | boolean | string)
10264
+ [k: string]: unknown | undefined
10265
+ })
10106
10266
 
10107
10267
  partitionByNewLine?: boolean
10108
10268
 
@@ -10112,16 +10272,20 @@ type PerfectionistSortMaps = []|[{
10112
10272
 
10113
10273
  alphabet?: string
10114
10274
 
10275
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10276
+
10115
10277
  locales?: (string | string[])
10116
10278
 
10117
10279
  order?: ("asc" | "desc")
10118
-
10119
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10120
10280
  }]
10121
10281
  // ----- perfectionist/sort-modules -----
10122
10282
  type PerfectionistSortModules = []|[{
10123
10283
 
10124
- partitionByComment?: (string[] | boolean | string)
10284
+ partitionByComment?: (string[] | boolean | string | {
10285
+ block?: (string[] | boolean | string)
10286
+ line?: (string[] | boolean | string)
10287
+ [k: string]: unknown | undefined
10288
+ })
10125
10289
 
10126
10290
  customGroups?: ({
10127
10291
 
@@ -10130,6 +10294,8 @@ type PerfectionistSortModules = []|[{
10130
10294
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
10131
10295
 
10132
10296
  order?: ("desc" | "asc")
10297
+
10298
+ newlinesInside?: ("always" | "never")
10133
10299
  anyOf?: {
10134
10300
 
10135
10301
  decoratorNamePattern?: string
@@ -10148,6 +10314,8 @@ type PerfectionistSortModules = []|[{
10148
10314
 
10149
10315
  order?: ("desc" | "asc")
10150
10316
 
10317
+ newlinesInside?: ("always" | "never")
10318
+
10151
10319
  decoratorNamePattern?: string
10152
10320
 
10153
10321
  modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[]
@@ -10167,18 +10335,26 @@ type PerfectionistSortModules = []|[{
10167
10335
 
10168
10336
  alphabet?: string
10169
10337
 
10338
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10339
+
10170
10340
  locales?: (string | string[])
10171
10341
 
10172
- groups?: (string | string[])[]
10342
+ groups?: (string | string[] | {
10343
+
10344
+ newlinesBetween?: ("ignore" | "always" | "never")
10345
+ [k: string]: unknown | undefined
10346
+ })[]
10173
10347
 
10174
10348
  order?: ("asc" | "desc")
10175
-
10176
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10177
10349
  }]
10178
10350
  // ----- perfectionist/sort-named-exports -----
10179
10351
  type PerfectionistSortNamedExports = []|[{
10180
10352
 
10181
- partitionByComment?: (string[] | boolean | string)
10353
+ partitionByComment?: (string[] | boolean | string | {
10354
+ block?: (string[] | boolean | string)
10355
+ line?: (string[] | boolean | string)
10356
+ [k: string]: unknown | undefined
10357
+ })
10182
10358
 
10183
10359
  groupKind?: ("mixed" | "values-first" | "types-first")
10184
10360
 
@@ -10190,16 +10366,20 @@ type PerfectionistSortNamedExports = []|[{
10190
10366
 
10191
10367
  alphabet?: string
10192
10368
 
10369
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10370
+
10193
10371
  locales?: (string | string[])
10194
10372
 
10195
10373
  order?: ("asc" | "desc")
10196
-
10197
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10198
10374
  }]
10199
10375
  // ----- perfectionist/sort-named-imports -----
10200
10376
  type PerfectionistSortNamedImports = []|[{
10201
10377
 
10202
- partitionByComment?: (string[] | boolean | string)
10378
+ partitionByComment?: (string[] | boolean | string | {
10379
+ block?: (string[] | boolean | string)
10380
+ line?: (string[] | boolean | string)
10381
+ [k: string]: unknown | undefined
10382
+ })
10203
10383
 
10204
10384
  groupKind?: ("mixed" | "values-first" | "types-first")
10205
10385
 
@@ -10213,18 +10393,26 @@ type PerfectionistSortNamedImports = []|[{
10213
10393
 
10214
10394
  alphabet?: string
10215
10395
 
10396
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10397
+
10216
10398
  locales?: (string | string[])
10217
10399
 
10218
10400
  order?: ("asc" | "desc")
10219
-
10220
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10221
10401
  }]
10222
10402
  // ----- perfectionist/sort-object-types -----
10223
- type PerfectionistSortObjectTypes = []|[{
10403
+ type PerfectionistSortObjectTypes = {
10224
10404
 
10225
10405
  ignorePattern?: string[]
10406
+ useConfigurationIf?: {
10407
+ allNamesMatchPattern?: string
10408
+ declarationMatchesPattern?: string
10409
+ }
10226
10410
 
10227
- partitionByComment?: (string[] | boolean | string)
10411
+ partitionByComment?: (string[] | boolean | string | {
10412
+ block?: (string[] | boolean | string)
10413
+ line?: (string[] | boolean | string)
10414
+ [k: string]: unknown | undefined
10415
+ })
10228
10416
  customGroups?: ({
10229
10417
  [k: string]: (string | string[]) | undefined
10230
10418
  } | ({
@@ -10234,6 +10422,8 @@ type PerfectionistSortObjectTypes = []|[{
10234
10422
  type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
10235
10423
 
10236
10424
  order?: ("desc" | "asc")
10425
+
10426
+ newlinesInside?: ("always" | "never")
10237
10427
  anyOf?: {
10238
10428
 
10239
10429
  modifiers?: ("optional" | "required" | "multiline")[]
@@ -10250,6 +10440,8 @@ type PerfectionistSortObjectTypes = []|[{
10250
10440
 
10251
10441
  order?: ("desc" | "asc")
10252
10442
 
10443
+ newlinesInside?: ("always" | "never")
10444
+
10253
10445
  modifiers?: ("optional" | "required" | "multiline")[]
10254
10446
 
10255
10447
  selector?: ("index-signature" | "member" | "method" | "multiline" | "property")
@@ -10259,6 +10451,8 @@ type PerfectionistSortObjectTypes = []|[{
10259
10451
 
10260
10452
  groupKind?: ("mixed" | "required-first" | "optional-first")
10261
10453
 
10454
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
10455
+
10262
10456
  partitionByNewLine?: boolean
10263
10457
 
10264
10458
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -10271,12 +10465,14 @@ type PerfectionistSortObjectTypes = []|[{
10271
10465
 
10272
10466
  locales?: (string | string[])
10273
10467
 
10274
- groups?: (string | string[])[]
10468
+ groups?: (string | string[] | {
10469
+
10470
+ newlinesBetween?: ("ignore" | "always" | "never")
10471
+ [k: string]: unknown | undefined
10472
+ })[]
10275
10473
 
10276
10474
  order?: ("asc" | "desc")
10277
-
10278
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10279
- }]
10475
+ }[]
10280
10476
  // ----- perfectionist/sort-objects -----
10281
10477
  type PerfectionistSortObjects = {
10282
10478
 
@@ -10286,8 +10482,16 @@ type PerfectionistSortObjects = {
10286
10482
  })
10287
10483
 
10288
10484
  ignorePattern?: string[]
10485
+ useConfigurationIf?: {
10486
+ allNamesMatchPattern?: string
10487
+ callingFunctionNamePattern?: string
10488
+ }
10289
10489
 
10290
- partitionByComment?: (string[] | boolean | string)
10490
+ partitionByComment?: (string[] | boolean | string | {
10491
+ block?: (string[] | boolean | string)
10492
+ line?: (string[] | boolean | string)
10493
+ [k: string]: unknown | undefined
10494
+ })
10291
10495
 
10292
10496
  destructureOnly?: boolean
10293
10497
 
@@ -10295,10 +10499,9 @@ type PerfectionistSortObjects = {
10295
10499
 
10296
10500
  styledComponents?: boolean
10297
10501
 
10502
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
10503
+
10298
10504
  partitionByNewLine?: boolean
10299
- useConfigurationIf?: {
10300
- allNamesMatchPattern?: string
10301
- }
10302
10505
 
10303
10506
  specialCharacters?: ("remove" | "trim" | "keep")
10304
10507
 
@@ -10314,19 +10517,60 @@ type PerfectionistSortObjects = {
10314
10517
 
10315
10518
  locales?: (string | string[])
10316
10519
 
10317
- groups?: (string | string[])[]
10520
+ groups?: (string | string[] | {
10521
+
10522
+ newlinesBetween?: ("ignore" | "always" | "never")
10523
+ [k: string]: unknown | undefined
10524
+ })[]
10318
10525
 
10319
10526
  order?: ("asc" | "desc")
10320
-
10321
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10322
10527
  }[]
10323
10528
  // ----- perfectionist/sort-sets -----
10324
- type PerfectionistSortSets = []|[{
10529
+ type PerfectionistSortSets = {
10325
10530
 
10326
- partitionByComment?: (string[] | boolean | string)
10531
+ partitionByComment?: (string[] | boolean | string | {
10532
+ block?: (string[] | boolean | string)
10533
+ line?: (string[] | boolean | string)
10534
+ [k: string]: unknown | undefined
10535
+ })
10327
10536
 
10328
10537
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
10329
10538
 
10539
+ customGroups?: ({
10540
+
10541
+ groupName?: string
10542
+
10543
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
10544
+
10545
+ order?: ("desc" | "asc")
10546
+
10547
+ newlinesInside?: ("always" | "never")
10548
+ anyOf?: {
10549
+
10550
+ selector?: ("literal" | "spread")
10551
+
10552
+ elementNamePattern?: string
10553
+ }[]
10554
+ } | {
10555
+
10556
+ groupName?: string
10557
+
10558
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
10559
+
10560
+ order?: ("desc" | "asc")
10561
+
10562
+ newlinesInside?: ("always" | "never")
10563
+
10564
+ selector?: ("literal" | "spread")
10565
+
10566
+ elementNamePattern?: string
10567
+ })[]
10568
+ useConfigurationIf?: {
10569
+ allNamesMatchPattern?: string
10570
+ }
10571
+
10572
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
10573
+
10330
10574
  partitionByNewLine?: boolean
10331
10575
 
10332
10576
  specialCharacters?: ("remove" | "trim" | "keep")
@@ -10337,10 +10581,14 @@ type PerfectionistSortSets = []|[{
10337
10581
 
10338
10582
  locales?: (string | string[])
10339
10583
 
10340
- order?: ("asc" | "desc")
10584
+ groups?: (string | string[] | {
10585
+
10586
+ newlinesBetween?: ("ignore" | "always" | "never")
10587
+ [k: string]: unknown | undefined
10588
+ })[]
10341
10589
 
10342
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10343
- }]
10590
+ order?: ("asc" | "desc")
10591
+ }[]
10344
10592
  // ----- perfectionist/sort-switch-case -----
10345
10593
  type PerfectionistSortSwitchCase = []|[{
10346
10594
 
@@ -10350,16 +10598,20 @@ type PerfectionistSortSwitchCase = []|[{
10350
10598
 
10351
10599
  alphabet?: string
10352
10600
 
10601
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10602
+
10353
10603
  locales?: (string | string[])
10354
10604
 
10355
10605
  order?: ("asc" | "desc")
10356
-
10357
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10358
10606
  }]
10359
10607
  // ----- perfectionist/sort-union-types -----
10360
10608
  type PerfectionistSortUnionTypes = []|[{
10361
10609
 
10362
- partitionByComment?: (string[] | boolean | string)
10610
+ partitionByComment?: (string[] | boolean | string | {
10611
+ block?: (string[] | boolean | string)
10612
+ line?: (string[] | boolean | string)
10613
+ [k: string]: unknown | undefined
10614
+ })
10363
10615
 
10364
10616
  partitionByNewLine?: boolean
10365
10617
 
@@ -10371,18 +10623,26 @@ type PerfectionistSortUnionTypes = []|[{
10371
10623
 
10372
10624
  alphabet?: string
10373
10625
 
10626
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10627
+
10374
10628
  locales?: (string | string[])
10375
10629
 
10376
- groups?: (string | string[])[]
10630
+ groups?: (string | string[] | {
10631
+
10632
+ newlinesBetween?: ("ignore" | "always" | "never")
10633
+ [k: string]: unknown | undefined
10634
+ })[]
10377
10635
 
10378
10636
  order?: ("asc" | "desc")
10379
-
10380
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10381
10637
  }]
10382
10638
  // ----- perfectionist/sort-variable-declarations -----
10383
10639
  type PerfectionistSortVariableDeclarations = []|[{
10384
10640
 
10385
- partitionByComment?: (string[] | boolean | string)
10641
+ partitionByComment?: (string[] | boolean | string | {
10642
+ block?: (string[] | boolean | string)
10643
+ line?: (string[] | boolean | string)
10644
+ [k: string]: unknown | undefined
10645
+ })
10386
10646
 
10387
10647
  partitionByNewLine?: boolean
10388
10648
 
@@ -10392,11 +10652,11 @@ type PerfectionistSortVariableDeclarations = []|[{
10392
10652
 
10393
10653
  alphabet?: string
10394
10654
 
10655
+ type?: ("alphabetical" | "natural" | "line-length" | "custom")
10656
+
10395
10657
  locales?: (string | string[])
10396
10658
 
10397
10659
  order?: ("asc" | "desc")
10398
-
10399
- type?: ("alphabetical" | "natural" | "line-length" | "custom")
10400
10660
  }]
10401
10661
  // ----- prefer-arrow-callback -----
10402
10662
  type PreferArrowCallback = []|[{
@@ -10971,6 +11231,7 @@ type StyleIndent = []|[("tab" | number)]|[("tab" | number), {
10971
11231
  ImportDeclaration?: (number | ("first" | "off"))
10972
11232
  flatTernaryExpressions?: boolean
10973
11233
  offsetTernaryExpressions?: boolean
11234
+ offsetTernaryExpressionsOffsetCallExpressions?: boolean
10974
11235
  ignoredNodes?: string[]
10975
11236
  ignoreComments?: boolean
10976
11237
  tabLength?: number
@@ -11114,6 +11375,7 @@ type StyleKeySpacing = []|[({
11114
11375
  mode?: ("strict" | "minimum")
11115
11376
  beforeColon?: boolean
11116
11377
  afterColon?: boolean
11378
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
11117
11379
  } | {
11118
11380
  singleLine?: {
11119
11381
  mode?: ("strict" | "minimum")
@@ -11629,6 +11891,7 @@ type StyleNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
11629
11891
  enforceForNewInMemberExpressions?: boolean
11630
11892
  enforceForFunctionPrototypeMethods?: boolean
11631
11893
  allowParensAfterCommentPattern?: string
11894
+ nestedConditionalExpressions?: boolean
11632
11895
  }])
11633
11896
  // ----- style/no-mixed-operators -----
11634
11897
  type StyleNoMixedOperators = []|[{
@@ -11726,14 +11989,14 @@ type StyleOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(("af
11726
11989
  }
11727
11990
  }]
11728
11991
  // ----- style/padded-blocks -----
11729
- type StylePaddedBlocks = []|[(("always" | "never") | {
11730
- blocks?: ("always" | "never")
11731
- switches?: ("always" | "never")
11732
- classes?: ("always" | "never")
11733
- })]|[(("always" | "never") | {
11734
- blocks?: ("always" | "never")
11735
- switches?: ("always" | "never")
11736
- classes?: ("always" | "never")
11992
+ type StylePaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
11993
+ blocks?: ("always" | "never" | "start" | "end")
11994
+ switches?: ("always" | "never" | "start" | "end")
11995
+ classes?: ("always" | "never" | "start" | "end")
11996
+ })]|[(("always" | "never" | "start" | "end") | {
11997
+ blocks?: ("always" | "never" | "start" | "end")
11998
+ switches?: ("always" | "never" | "start" | "end")
11999
+ classes?: ("always" | "never" | "start" | "end")
11737
12000
  }), {
11738
12001
  allowSingleLineBlocks?: boolean
11739
12002
  }]
@@ -11915,8 +12178,7 @@ type TestNoRestrictedViMethods = []|[{
11915
12178
  }]
11916
12179
  // ----- test/no-standalone-expect -----
11917
12180
  type TestNoStandaloneExpect = []|[{
11918
- additionaltestblockfunctions?: string[]
11919
- [k: string]: unknown | undefined
12181
+ additionalTestBlockFunctions?: string[]
11920
12182
  }]
11921
12183
  // ----- test/prefer-expect-assertions -----
11922
12184
  type TestPreferExpectAssertions = []|[{
@@ -12132,7 +12394,7 @@ type TsConsistentTypeAssertions = []|[({
12132
12394
  assertionStyle: "never"
12133
12395
  } | {
12134
12396
 
12135
- assertionStyle: ("as" | "angle-bracket")
12397
+ assertionStyle?: ("as" | "angle-bracket")
12136
12398
 
12137
12399
  objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
12138
12400
  })]
@@ -13166,6 +13428,8 @@ type TsSwitchExhaustivenessCheck = []|[{
13166
13428
 
13167
13429
  considerDefaultExhaustiveForUnions?: boolean
13168
13430
 
13431
+ defaultCaseCommentPattern?: string
13432
+
13169
13433
  requireDefaultForNonUnion?: boolean
13170
13434
  }]
13171
13435
  // ----- ts/triple-slash-reference -----
@@ -13715,6 +13979,7 @@ type VueKeySpacing = []|[({
13715
13979
  mode?: ("strict" | "minimum")
13716
13980
  beforeColon?: boolean
13717
13981
  afterColon?: boolean
13982
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
13718
13983
  } | {
13719
13984
  singleLine?: {
13720
13985
  mode?: ("strict" | "minimum")
@@ -14241,6 +14506,7 @@ type VueNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
14241
14506
  enforceForNewInMemberExpressions?: boolean
14242
14507
  enforceForFunctionPrototypeMethods?: boolean
14243
14508
  allowParensAfterCommentPattern?: string
14509
+ nestedConditionalExpressions?: boolean
14244
14510
  }])
14245
14511
  // ----- vue/no-irregular-whitespace -----
14246
14512
  type VueNoIrregularWhitespace = []|[{