@liwo/eslint-config 0.0.6 → 0.1.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.ts CHANGED
@@ -445,7 +445,7 @@ interface RuleOptions {
445
445
  */
446
446
  'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>;
447
447
  /**
448
- * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
448
+ * @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
449
449
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
450
450
  */
451
451
  'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>;
@@ -460,7 +460,7 @@ interface RuleOptions {
460
460
  */
461
461
  'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>;
462
462
  /**
463
- * Ensures that parameter names in JSDoc match those in the function declaration.
463
+ * Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
464
464
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
465
465
  */
466
466
  'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>;
@@ -485,7 +485,7 @@ interface RuleOptions {
485
485
  */
486
486
  'jsdoc/check-template-names'?: Linter.RuleEntry<[]>;
487
487
  /**
488
- * Reports invalid types.
488
+ * Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
489
489
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
490
490
  */
491
491
  'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>;
@@ -500,12 +500,17 @@ interface RuleOptions {
500
500
  */
501
501
  'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>;
502
502
  /**
503
- * Expects specific tags to be empty of any content.
503
+ * Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
504
504
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
505
505
  */
506
506
  'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>;
507
507
  /**
508
- * Reports an issue with any non-constructor function using `@implements`.
508
+ * Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
509
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
510
+ */
511
+ 'jsdoc/escape-inline-tags'?: Linter.RuleEntry<JsdocEscapeInlineTags>;
512
+ /**
513
+ * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
509
514
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
510
515
  */
511
516
  'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>;
@@ -535,17 +540,17 @@ interface RuleOptions {
535
540
  */
536
541
  'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>;
537
542
  /**
538
- * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
543
+ * Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
539
544
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
540
545
  */
541
546
  'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>;
542
547
  /**
543
- * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
548
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
544
549
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
545
550
  */
546
551
  'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>;
547
552
  /**
548
- * Detects and removes extra lines of a blank block description
553
+ * If tags are present, this rule will prevent empty lines in the block description. If no tags are present, this rule will prevent extra empty lines in the block description.
549
554
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
550
555
  */
551
556
  'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>;
@@ -575,22 +580,37 @@ interface RuleOptions {
575
580
  */
576
581
  'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
577
582
  /**
578
- * This rule reports types being used on `@param` or `@returns`.
583
+ * This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
579
584
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
580
585
  */
581
586
  'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>;
582
587
  /**
583
- * Checks that types in jsdoc comments are defined.
588
+ * Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
584
589
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
585
590
  */
586
591
  'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
592
+ /**
593
+ * Prefer `@import` tags to inline `import()` statements.
594
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
595
+ */
596
+ 'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>;
597
+ /**
598
+ * Reports use of `any` or `*` type
599
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
600
+ */
601
+ 'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>;
602
+ /**
603
+ * Reports use of `Function` type
604
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
605
+ */
606
+ 'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>;
587
607
  /**
588
608
  * Requires that each JSDoc line starts with an `*`.
589
609
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
590
610
  */
591
611
  'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
592
612
  /**
593
- * Requires that all functions have a description.
613
+ * Requires that all functions (and potentially other contexts) have a description.
594
614
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
595
615
  */
596
616
  'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>;
@@ -600,7 +620,7 @@ interface RuleOptions {
600
620
  */
601
621
  'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
602
622
  /**
603
- * Requires that all functions have examples.
623
+ * Requires that all functions (and potentially other contexts) have examples.
604
624
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
605
625
  */
606
626
  'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>;
@@ -610,17 +630,27 @@ interface RuleOptions {
610
630
  */
611
631
  'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>;
612
632
  /**
613
- * Requires a hyphen before the `@param` description.
633
+ * Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
614
634
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
615
635
  */
616
636
  'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
617
637
  /**
618
- * Require JSDoc comments
638
+ * Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
619
639
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
620
640
  */
621
641
  'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>;
622
642
  /**
623
- * Requires that all function parameters are documented.
643
+ * Requires a description for `@next` tags
644
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
645
+ */
646
+ 'jsdoc/require-next-description'?: Linter.RuleEntry<[]>;
647
+ /**
648
+ * Requires a type for `@next` tags
649
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
650
+ */
651
+ 'jsdoc/require-next-type'?: Linter.RuleEntry<[]>;
652
+ /**
653
+ * Requires that all function parameters are documented with a `@param` tag.
624
654
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
625
655
  */
626
656
  'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>;
@@ -630,12 +660,12 @@ interface RuleOptions {
630
660
  */
631
661
  'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>;
632
662
  /**
633
- * Requires that all function parameters have names.
663
+ * Requires that all `@param` tags have names.
634
664
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
635
665
  */
636
666
  'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>;
637
667
  /**
638
- * Requires that each `@param` tag has a `type` value.
668
+ * Requires that each `@param` tag has a type value (in curly brackets).
639
669
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
640
670
  */
641
671
  'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>;
@@ -650,62 +680,92 @@ interface RuleOptions {
650
680
  */
651
681
  'jsdoc/require-property-description'?: Linter.RuleEntry<[]>;
652
682
  /**
653
- * Requires that all function `@property` tags have names.
683
+ * Requires that all `@property` tags have names.
654
684
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
655
685
  */
656
686
  'jsdoc/require-property-name'?: Linter.RuleEntry<[]>;
657
687
  /**
658
- * Requires that each `@property` tag has a `type` value.
688
+ * Requires that each `@property` tag has a type value (in curly brackets).
659
689
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
660
690
  */
661
691
  'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
662
692
  /**
663
- * Requires that returns are documented.
693
+ * Requires that returns are documented with `@returns`.
664
694
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
665
695
  */
666
696
  'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>;
667
697
  /**
668
- * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
698
+ * Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
669
699
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
670
700
  */
671
701
  'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
672
702
  /**
673
- * Requires that the `@returns` tag has a `description` value.
703
+ * Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
674
704
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
675
705
  */
676
706
  'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
677
707
  /**
678
- * Requires that `@returns` tag has `type` value.
708
+ * Requires that `@returns` tag has type value (in curly brackets).
679
709
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
680
710
  */
681
711
  'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>;
682
712
  /**
683
- * Requires template tags for each generic type parameter
713
+ * Requires tags be present, optionally for specific contexts
714
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
715
+ */
716
+ 'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>;
717
+ /**
718
+ * Requires `@template` tags be present when type parameters are used.
684
719
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
685
720
  */
686
721
  'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>;
687
722
  /**
688
- * Requires that throw statements are documented.
723
+ * Requires a description for `@template` tags
724
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
725
+ */
726
+ 'jsdoc/require-template-description'?: Linter.RuleEntry<[]>;
727
+ /**
728
+ * Requires that throw statements are documented with `@throws` tags.
689
729
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
690
730
  */
691
731
  'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>;
692
732
  /**
693
- * Requires yields are documented.
733
+ * Requires a description for `@throws` tags
734
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
735
+ */
736
+ 'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>;
737
+ /**
738
+ * Requires a type for `@throws` tags
739
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
740
+ */
741
+ 'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>;
742
+ /**
743
+ * Requires yields are documented with `@yields` tags.
694
744
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
695
745
  */
696
746
  'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>;
697
747
  /**
698
- * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
748
+ * Ensures that if a `@yields` is present that a `yield` (or `yield` with a value) is present in the function body (or that if a `@next` is present that there is a yield with a return value present).
699
749
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
700
750
  */
701
751
  'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
702
752
  /**
703
- * Sorts tags by a specified sequence according to tag name.
753
+ * Requires a description for `@yields` tags
754
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
755
+ */
756
+ 'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>;
757
+ /**
758
+ * Requires a type for `@yields` tags
759
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
760
+ */
761
+ 'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>;
762
+ /**
763
+ * Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
704
764
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
705
765
  */
706
766
  'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>;
707
767
  /**
708
- * Enforces lines (or no lines) between tags.
768
+ * Enforces lines (or no lines) before, after, or between tags.
709
769
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
710
770
  */
711
771
  'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>;
@@ -714,13 +774,33 @@ interface RuleOptions {
714
774
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
715
775
  */
716
776
  'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
777
+ /**
778
+ * Prefers either function properties or method signatures
779
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
780
+ */
781
+ 'jsdoc/ts-method-signature-style'?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>;
782
+ /**
783
+ * Warns against use of the empty object type
784
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
785
+ */
786
+ 'jsdoc/ts-no-empty-object-type'?: Linter.RuleEntry<[]>;
787
+ /**
788
+ * Catches unnecessary template expressions such as string expressions within a template literal.
789
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
790
+ */
791
+ 'jsdoc/ts-no-unnecessary-template-expression'?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>;
792
+ /**
793
+ * Prefers function types over call signatures when there are no other properties.
794
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
795
+ */
796
+ 'jsdoc/ts-prefer-function-type'?: Linter.RuleEntry<JsdocTsPreferFunctionType>;
717
797
  /**
718
798
  * Formats JSDoc type values.
719
799
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
720
800
  */
721
801
  'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>;
722
802
  /**
723
- * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
803
+ * Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
724
804
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
725
805
  */
726
806
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>;
@@ -1056,7 +1136,7 @@ interface RuleOptions {
1056
1136
  * Disallow missing label references
1057
1137
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
1058
1138
  */
1059
- 'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>;
1139
+ 'markdown/no-missing-label-refs'?: Linter.RuleEntry<MarkdownNoMissingLabelRefs>;
1060
1140
  /**
1061
1141
  * Disallow link fragments that do not reference valid headings
1062
1142
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
@@ -1067,6 +1147,11 @@ interface RuleOptions {
1067
1147
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
1068
1148
  */
1069
1149
  'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>;
1150
+ /**
1151
+ * Disallow URLs that match defined reference identifiers
1152
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reference-like-urls.md
1153
+ */
1154
+ 'markdown/no-reference-like-urls'?: Linter.RuleEntry<[]>;
1070
1155
  /**
1071
1156
  * Disallow reversed link and image syntax
1072
1157
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
@@ -2048,12 +2133,12 @@ interface RuleOptions {
2048
2133
  */
2049
2134
  'node/no-hide-core-modules'?: Linter.RuleEntry<NodeNoHideCoreModules>;
2050
2135
  /**
2051
- * disallow `import` declarations which import non-existence modules
2136
+ * disallow `import` declarations which import missing modules
2052
2137
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-import.md
2053
2138
  */
2054
2139
  'node/no-missing-import'?: Linter.RuleEntry<NodeNoMissingImport>;
2055
2140
  /**
2056
- * disallow `require()` expressions which import non-existence modules
2141
+ * disallow `require()` expressions which import missing modules
2057
2142
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-require.md
2058
2143
  */
2059
2144
  'node/no-missing-require'?: Linter.RuleEntry<NodeNoMissingRequire>;
@@ -2449,11 +2534,6 @@ interface RuleOptions {
2449
2534
  * @see https://eslint.org/docs/latest/rules/radix
2450
2535
  */
2451
2536
  'radix'?: Linter.RuleEntry<Radix>;
2452
- /**
2453
- * Disallow `children` in void DOM elements.
2454
- * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2455
- */
2456
- 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>;
2457
2537
  /**
2458
2538
  * Disallow `dangerouslySetInnerHTML`.
2459
2539
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
@@ -2485,7 +2565,7 @@ interface RuleOptions {
2485
2565
  */
2486
2566
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
2487
2567
  /**
2488
- * Enforces explicit `sandbox` attribute for `iframe` elements.
2568
+ * Enforces explicit `sandbox` prop for `iframe` elements.
2489
2569
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
2490
2570
  */
2491
2571
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
@@ -2509,6 +2589,11 @@ interface RuleOptions {
2509
2589
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
2510
2590
  */
2511
2591
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
2592
+ /**
2593
+ * Disallows the use of string style prop.
2594
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
2595
+ */
2596
+ 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
2512
2597
  /**
2513
2598
  * Disallow unknown `DOM` property.
2514
2599
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
@@ -2535,70 +2620,133 @@ interface RuleOptions {
2535
2620
  */
2536
2621
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
2537
2622
  /**
2538
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2539
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2623
+ * Enforces React Dom is imported via a namespace import.
2624
+ * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
2540
2625
  */
2541
- 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>;
2626
+ 'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
2542
2627
  /**
2543
- * Disallow unnecessary usage of `useCallback`.
2544
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
2628
+ * Disallow direct calls to the `set` function of `useState` in `useEffect`.
2629
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
2545
2630
  */
2546
- 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>;
2631
+ 'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
2547
2632
  /**
2548
- * Disallow unnecessary usage of `useMemo`.
2549
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
2633
+ * Verifies that automatic effect dependencies are compiled if opted-in
2550
2634
  */
2551
- 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>;
2635
+ 'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>;
2552
2636
  /**
2553
- * Disallow direct calls to the `set` function of `useState` in `useEffect`.
2554
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
2637
+ * Validates against calling capitalized functions/methods instead of using JSX
2555
2638
  */
2556
- 'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
2639
+ 'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>;
2557
2640
  /**
2558
- * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
2559
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
2641
+ * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
2560
2642
  */
2561
- 'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>;
2643
+ 'react-hooks/component-hook-factories'?: Linter.RuleEntry<ReactHooksComponentHookFactories>;
2562
2644
  /**
2563
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2564
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2645
+ * Validates the compiler configuration options
2565
2646
  */
2566
- 'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>;
2647
+ 'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>;
2567
2648
  /**
2568
- * Disallow unnecessary usage of `useCallback`.
2569
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
2649
+ * Validates usage of error boundaries instead of try/catch for errors in child components
2570
2650
  */
2571
- 'react-hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
2651
+ 'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>;
2572
2652
  /**
2573
- * Disallow unnecessary usage of `useMemo`.
2574
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
2653
+ * verifies the list of dependencies for Hooks like useEffect and similar
2654
+ * @see https://github.com/facebook/react/issues/14920
2575
2655
  */
2576
- 'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
2656
+ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
2577
2657
  /**
2578
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2579
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2658
+ * Validates usage of fbt
2580
2659
  */
2581
- 'react-hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
2660
+ 'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>;
2582
2661
  /**
2583
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2584
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2662
+ * Validates usage of `fire`
2585
2663
  */
2586
- 'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>;
2664
+ 'react-hooks/fire'?: Linter.RuleEntry<ReactHooksFire>;
2587
2665
  /**
2588
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
2589
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
2666
+ * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
2590
2667
  */
2591
- 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
2668
+ 'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>;
2592
2669
  /**
2593
- * verifies the list of dependencies for Hooks like useEffect and similar
2594
- * @see https://github.com/facebook/react/issues/14920
2670
+ * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
2595
2671
  */
2596
- 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
2672
+ 'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>;
2673
+ /**
2674
+ * Validates the rules of hooks
2675
+ */
2676
+ 'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>;
2677
+ /**
2678
+ * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
2679
+ */
2680
+ 'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>;
2681
+ /**
2682
+ * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
2683
+ */
2684
+ 'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>;
2685
+ /**
2686
+ * Internal invariants
2687
+ */
2688
+ 'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>;
2689
+ /**
2690
+ * Validates that effect dependencies are memoized
2691
+ */
2692
+ 'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>;
2693
+ /**
2694
+ * Validates against deriving values from state in an effect
2695
+ */
2696
+ 'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>;
2697
+ /**
2698
+ * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
2699
+ */
2700
+ 'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>;
2701
+ /**
2702
+ * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
2703
+ */
2704
+ 'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>;
2705
+ /**
2706
+ * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
2707
+ */
2708
+ 'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>;
2709
+ /**
2710
+ * Validates against suppression of other rules
2711
+ */
2712
+ 'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>;
2597
2713
  /**
2598
2714
  * enforces the Rules of Hooks
2599
- * @see https://reactjs.org/docs/hooks-rules.html
2715
+ * @see https://react.dev/reference/rules/rules-of-hooks
2716
+ */
2717
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>;
2718
+ /**
2719
+ * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
2720
+ */
2721
+ 'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>;
2722
+ /**
2723
+ * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
2724
+ */
2725
+ 'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>;
2726
+ /**
2727
+ * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
2728
+ */
2729
+ 'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>;
2730
+ /**
2731
+ * Validates against invalid syntax
2732
+ */
2733
+ 'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>;
2734
+ /**
2735
+ * Unimplemented features
2600
2736
  */
2601
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>;
2737
+ 'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>;
2738
+ /**
2739
+ * Validates against syntax that we do not plan to support in React Compiler
2740
+ */
2741
+ 'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>;
2742
+ /**
2743
+ * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
2744
+ */
2745
+ 'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>;
2746
+ /**
2747
+ * Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
2748
+ */
2749
+ 'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
2602
2750
  /**
2603
2751
  * Enforces naming conventions for components.
2604
2752
  * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
@@ -2646,25 +2794,15 @@ interface RuleOptions {
2646
2794
  */
2647
2795
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
2648
2796
  /**
2649
- * Enforces explicit boolean values for boolean attributes.
2650
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
2651
- */
2652
- 'react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>;
2653
- /**
2654
- * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
2655
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
2656
- */
2657
- 'react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>;
2658
- /**
2659
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
2660
- * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
2661
- */
2662
- 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>;
2663
- /**
2664
- * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements.
2797
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
2665
2798
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
2666
2799
  */
2667
2800
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
2801
+ /**
2802
+ * Prevents comments from being inserted as text nodes.
2803
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
2804
+ */
2805
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
2668
2806
  /**
2669
2807
  * Disallow duplicate props in JSX elements.
2670
2808
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
@@ -2680,6 +2818,16 @@ interface RuleOptions {
2680
2818
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
2681
2819
  */
2682
2820
  'react/jsx-no-undef'?: Linter.RuleEntry<[]>;
2821
+ /**
2822
+ * Enforces shorthand syntax for boolean attributes.
2823
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
2824
+ */
2825
+ 'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>;
2826
+ /**
2827
+ * Enforces shorthand syntax for fragments.
2828
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
2829
+ */
2830
+ 'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>;
2683
2831
  /**
2684
2832
  * Marks React variables as used when JSX is used.
2685
2833
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
@@ -2740,21 +2888,6 @@ interface RuleOptions {
2740
2888
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
2741
2889
  */
2742
2890
  'react/no-clone-element'?: Linter.RuleEntry<[]>;
2743
- /**
2744
- * Prevents comments from being inserted as text nodes.
2745
- * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
2746
- */
2747
- 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>;
2748
- /**
2749
- * Disallow complex conditional rendering in JSX expressions.
2750
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2751
- */
2752
- 'react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>;
2753
- /**
2754
- * Disallow complex conditional rendering in JSX expressions.
2755
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2756
- */
2757
- 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>;
2758
2891
  /**
2759
2892
  * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
2760
2893
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
@@ -2790,16 +2923,16 @@ interface RuleOptions {
2790
2923
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
2791
2924
  */
2792
2925
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>;
2793
- /**
2794
- * Disallow duplicate props in JSX elements.
2795
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
2796
- */
2797
- 'react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>;
2798
2926
  /**
2799
2927
  * Disallow duplicate `key` on elements in the same array or a list of `children`.
2800
2928
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
2801
2929
  */
2802
2930
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>;
2931
+ /**
2932
+ * Disallow certain props on components.
2933
+ * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
2934
+ */
2935
+ 'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>;
2803
2936
  /**
2804
2937
  * Replaces usages of `forwardRef` with passing `ref` as a prop.
2805
2938
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
@@ -2840,11 +2973,6 @@ interface RuleOptions {
2840
2973
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
2841
2974
  */
2842
2975
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
2843
- /**
2844
- * Disallow nesting component definitions inside other components.
2845
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
2846
- */
2847
- 'react/no-nested-components'?: Linter.RuleEntry<[]>;
2848
2976
  /**
2849
2977
  * Disallow nesting lazy component declarations inside other components.
2850
2978
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
@@ -2871,7 +2999,7 @@ interface RuleOptions {
2871
2999
  */
2872
3000
  'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
2873
3001
  /**
2874
- * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3002
+ * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
2875
3003
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
2876
3004
  */
2877
3005
  'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
@@ -2880,6 +3008,26 @@ interface RuleOptions {
2880
3008
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
2881
3009
  */
2882
3010
  'react/no-string-refs'?: Linter.RuleEntry<[]>;
3011
+ /**
3012
+ * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
3013
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3014
+ */
3015
+ 'react/no-unnecessary-key'?: Linter.RuleEntry<[]>;
3016
+ /**
3017
+ * Disallow unnecessary usage of `useCallback`.
3018
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3019
+ */
3020
+ 'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
3021
+ /**
3022
+ * Disallow unnecessary usage of `useMemo`.
3023
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3024
+ */
3025
+ 'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
3026
+ /**
3027
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3028
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3029
+ */
3030
+ 'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
2883
3031
  /**
2884
3032
  * Warns the usage of `UNSAFE_componentWillMount` in class components.
2885
3033
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
@@ -2910,6 +3058,11 @@ interface RuleOptions {
2910
3058
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
2911
3059
  */
2912
3060
  'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3061
+ /**
3062
+ * Warns component props that are defined but never used.
3063
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3064
+ */
3065
+ 'react/no-unused-props'?: Linter.RuleEntry<[]>;
2913
3066
  /**
2914
3067
  * Warns unused class component state.
2915
3068
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
@@ -2937,29 +3090,19 @@ interface RuleOptions {
2937
3090
  'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
2938
3091
  /**
2939
3092
  * Enforces React is imported via a namespace import.
2940
- * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
3093
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
2941
3094
  */
2942
- 'react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>;
3095
+ 'react/prefer-namespace-import'?: Linter.RuleEntry<[]>;
2943
3096
  /**
2944
3097
  * Enforces read-only props in components.
2945
3098
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
2946
3099
  */
2947
3100
  'react/prefer-read-only-props'?: Linter.RuleEntry<[]>;
2948
3101
  /**
2949
- * Enforces shorthand syntax for boolean attributes.
2950
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
2951
- */
2952
- 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>;
2953
- /**
2954
- * Enforces shorthand syntax for fragments.
2955
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
2956
- */
2957
- 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>;
2958
- /**
2959
- * Marks variables used in JSX elements as used.
2960
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
3102
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3103
+ * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
2961
3104
  */
2962
- 'react/use-jsx-vars'?: Linter.RuleEntry<[]>;
3105
+ 'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
2963
3106
  /**
2964
3107
  * disallow confusing quantifiers
2965
3108
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
@@ -3540,6 +3683,11 @@ interface RuleOptions {
3540
3683
  * @see https://eslint.style/rules/eol-last
3541
3684
  */
3542
3685
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>;
3686
+ /**
3687
+ * Enforce consistent spacing and line break styles inside brackets.
3688
+ * @see https://eslint.style/rules/list-style
3689
+ */
3690
+ 'style/exp-list-style'?: Linter.RuleEntry<StyleExpListStyle>;
3543
3691
  /**
3544
3692
  * Enforce line breaks between arguments of a function call
3545
3693
  * @see https://eslint.style/rules/function-call-argument-newline
@@ -3971,7 +4119,7 @@ interface RuleOptions {
3971
4119
  */
3972
4120
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
3973
4121
  /**
3974
- * require .spec test file pattern
4122
+ * require test file pattern
3975
4123
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
3976
4124
  */
3977
4125
  'test/consistent-test-filename'?: Linter.RuleEntry<TestConsistentTestFilename>;
@@ -4156,6 +4304,11 @@ interface RuleOptions {
4156
4304
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
4157
4305
  */
4158
4306
  'test/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
4307
+ /**
4308
+ * Prefer `toHaveBeenCalledExactlyOnceWith` over `toHaveBeenCalledOnce` and `toHaveBeenCalledWith`
4309
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md
4310
+ */
4311
+ 'test/prefer-called-exactly-once-with'?: Linter.RuleEntry<[]>;
4159
4312
  /**
4160
4313
  * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
4161
4314
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
@@ -4216,6 +4369,11 @@ interface RuleOptions {
4216
4369
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
4217
4370
  */
4218
4371
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
4372
+ /**
4373
+ * prefer dynamic import in mock
4374
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
4375
+ */
4376
+ 'test/prefer-import-in-mock'?: Linter.RuleEntry<[]>;
4219
4377
  /**
4220
4378
  * enforce importing Vitest globals
4221
4379
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -4874,7 +5032,7 @@ interface RuleOptions {
4874
5032
  * Disallow member access on a value with type `any`
4875
5033
  * @see https://typescript-eslint.io/rules/no-unsafe-member-access
4876
5034
  */
4877
- 'ts/no-unsafe-member-access'?: Linter.RuleEntry<[]>;
5035
+ 'ts/no-unsafe-member-access'?: Linter.RuleEntry<TsNoUnsafeMemberAccess>;
4878
5036
  /**
4879
5037
  * Disallow returning a value with type `any` from a function
4880
5038
  * @see https://typescript-eslint.io/rules/no-unsafe-return
@@ -5121,710 +5279,725 @@ interface RuleOptions {
5121
5279
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
5122
5280
  /**
5123
5281
  * Improve regexes by making them shorter, consistent, and safer.
5124
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/better-regex.md
5282
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/better-regex.md
5125
5283
  */
5126
5284
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
5127
5285
  /**
5128
5286
  * Enforce a specific parameter name in catch clauses.
5129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/catch-error-name.md
5287
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/catch-error-name.md
5130
5288
  */
5131
5289
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
5132
5290
  /**
5133
5291
  * Enforce consistent assertion style with `node:assert`.
5134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-assert.md
5292
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-assert.md
5135
5293
  */
5136
5294
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
5137
5295
  /**
5138
5296
  * Prefer passing `Date` directly to the constructor when cloning.
5139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-date-clone.md
5297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-date-clone.md
5140
5298
  */
5141
5299
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
5142
5300
  /**
5143
5301
  * Use destructured variables over properties.
5144
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-destructuring.md
5302
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-destructuring.md
5145
5303
  */
5146
5304
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
5147
5305
  /**
5148
5306
  * Prefer consistent types when spreading a ternary in an array literal.
5149
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-empty-array-spread.md
5307
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-empty-array-spread.md
5150
5308
  */
5151
5309
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
5152
5310
  /**
5153
5311
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5154
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-existence-index-check.md
5312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-existence-index-check.md
5155
5313
  */
5156
5314
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
5157
5315
  /**
5158
5316
  * Move function definitions to the highest possible scope.
5159
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-function-scoping.md
5317
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-function-scoping.md
5160
5318
  */
5161
5319
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
5162
5320
  /**
5163
5321
  * Enforce correct `Error` subclassing.
5164
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/custom-error-definition.md
5322
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/custom-error-definition.md
5165
5323
  */
5166
5324
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
5167
5325
  /**
5168
5326
  * Enforce no spaces between braces.
5169
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/empty-brace-spaces.md
5327
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/empty-brace-spaces.md
5170
5328
  */
5171
5329
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
5172
5330
  /**
5173
5331
  * Enforce passing a `message` value when creating a built-in error.
5174
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/error-message.md
5332
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/error-message.md
5175
5333
  */
5176
5334
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
5177
5335
  /**
5178
5336
  * Require escape sequences to use uppercase or lowercase values.
5179
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/escape-case.md
5337
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/escape-case.md
5180
5338
  */
5181
5339
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
5182
5340
  /**
5183
5341
  * Add expiration conditions to TODO comments.
5184
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/expiring-todo-comments.md
5342
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/expiring-todo-comments.md
5185
5343
  */
5186
5344
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
5187
5345
  /**
5188
5346
  * Enforce explicitly comparing the `length` or `size` property of a value.
5189
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/explicit-length-check.md
5347
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/explicit-length-check.md
5190
5348
  */
5191
5349
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
5192
5350
  /**
5193
5351
  * Enforce a case style for filenames.
5194
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/filename-case.md
5352
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/filename-case.md
5195
5353
  */
5196
5354
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
5197
5355
  /**
5198
5356
  * Enforce specific import styles per module.
5199
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/import-style.md
5357
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/import-style.md
5200
5358
  */
5201
5359
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
5202
5360
  /**
5203
5361
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
5204
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/new-for-builtins.md
5362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/new-for-builtins.md
5205
5363
  */
5206
5364
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
5207
5365
  /**
5208
5366
  * Enforce specifying rules to disable in `eslint-disable` comments.
5209
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-abusive-eslint-disable.md
5367
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-abusive-eslint-disable.md
5210
5368
  */
5211
5369
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
5212
5370
  /**
5213
5371
  * Disallow recursive access to `this` within getters and setters.
5214
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-accessor-recursion.md
5372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-accessor-recursion.md
5215
5373
  */
5216
5374
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
5217
5375
  /**
5218
5376
  * Disallow anonymous functions and classes as the default export.
5219
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-anonymous-default-export.md
5377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-anonymous-default-export.md
5220
5378
  */
5221
5379
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
5222
5380
  /**
5223
5381
  * Prevent passing a function reference directly to iterator methods.
5224
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-callback-reference.md
5382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-callback-reference.md
5225
5383
  */
5226
5384
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
5227
5385
  /**
5228
5386
  * Prefer `for…of` over the `forEach` method.
5229
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-for-each.md
5387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-for-each.md
5230
5388
  */
5231
5389
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
5232
5390
  /**
5233
5391
  * Disallow using the `this` argument in array methods.
5234
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-method-this-argument.md
5392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-method-this-argument.md
5235
5393
  */
5236
5394
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
5237
5395
  /**
5238
5396
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
5239
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-array-push-push
5397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-array-push-push
5240
5398
  * @deprecated
5241
5399
  */
5242
5400
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
5243
5401
  /**
5244
5402
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
5245
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reduce.md
5403
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reduce.md
5246
5404
  */
5247
5405
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
5248
5406
  /**
5249
5407
  * Prefer `Array#toReversed()` over `Array#reverse()`.
5250
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reverse.md
5408
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reverse.md
5251
5409
  */
5252
5410
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
5253
5411
  /**
5254
5412
  * Prefer `Array#toSorted()` over `Array#sort()`.
5255
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-sort.md
5413
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-sort.md
5256
5414
  */
5257
5415
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
5258
5416
  /**
5259
5417
  * Disallow member access from await expression.
5260
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-expression-member.md
5418
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-expression-member.md
5261
5419
  */
5262
5420
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
5263
5421
  /**
5264
5422
  * Disallow using `await` in `Promise` method parameters.
5265
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-in-promise-methods.md
5423
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-in-promise-methods.md
5266
5424
  */
5267
5425
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
5268
5426
  /**
5269
5427
  * Do not use leading/trailing space between `console.log` parameters.
5270
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-console-spaces.md
5428
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-console-spaces.md
5271
5429
  */
5272
5430
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
5273
5431
  /**
5274
5432
  * Do not use `document.cookie` directly.
5275
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-document-cookie.md
5433
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-document-cookie.md
5276
5434
  */
5277
5435
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
5278
5436
  /**
5279
5437
  * Disallow empty files.
5280
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-empty-file.md
5438
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-empty-file.md
5281
5439
  */
5282
5440
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
5283
5441
  /**
5284
5442
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
5285
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-for-loop.md
5443
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-for-loop.md
5286
5444
  */
5287
5445
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
5288
5446
  /**
5289
5447
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
5290
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-hex-escape.md
5448
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-hex-escape.md
5291
5449
  */
5292
5450
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
5451
+ /**
5452
+ * Disallow immediate mutation after variable assignment.
5453
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-immediate-mutation.md
5454
+ */
5455
+ 'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
5293
5456
  /**
5294
5457
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
5295
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-instanceof-array
5458
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-instanceof-array
5296
5459
  * @deprecated
5297
5460
  */
5298
5461
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
5299
5462
  /**
5300
5463
  * Disallow `instanceof` with built-in objects
5301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-instanceof-builtins.md
5464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-instanceof-builtins.md
5302
5465
  */
5303
5466
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
5304
5467
  /**
5305
5468
  * Disallow invalid options in `fetch()` and `new Request()`.
5306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-fetch-options.md
5469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-fetch-options.md
5307
5470
  */
5308
5471
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
5309
5472
  /**
5310
5473
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
5311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-remove-event-listener.md
5474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-remove-event-listener.md
5312
5475
  */
5313
5476
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
5314
5477
  /**
5315
5478
  * Disallow identifiers starting with `new` or `class`.
5316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-keyword-prefix.md
5479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-keyword-prefix.md
5317
5480
  */
5318
5481
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
5319
5482
  /**
5320
5483
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
5321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-length-as-slice-end
5484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-length-as-slice-end
5322
5485
  * @deprecated
5323
5486
  */
5324
5487
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
5325
5488
  /**
5326
5489
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
5327
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-lonely-if.md
5490
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-lonely-if.md
5328
5491
  */
5329
5492
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
5330
5493
  /**
5331
5494
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
5332
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-magic-array-flat-depth.md
5495
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-magic-array-flat-depth.md
5333
5496
  */
5334
5497
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
5335
5498
  /**
5336
5499
  * Disallow named usage of default import and export.
5337
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-named-default.md
5500
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-named-default.md
5338
5501
  */
5339
5502
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
5340
5503
  /**
5341
5504
  * Disallow negated conditions.
5342
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negated-condition.md
5505
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negated-condition.md
5343
5506
  */
5344
5507
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
5345
5508
  /**
5346
5509
  * Disallow negated expression in equality check.
5347
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negation-in-equality-check.md
5510
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negation-in-equality-check.md
5348
5511
  */
5349
5512
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
5350
5513
  /**
5351
5514
  * Disallow nested ternary expressions.
5352
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-nested-ternary.md
5515
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-nested-ternary.md
5353
5516
  */
5354
5517
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
5355
5518
  /**
5356
5519
  * Disallow `new Array()`.
5357
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-array.md
5520
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-array.md
5358
5521
  */
5359
5522
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
5360
5523
  /**
5361
5524
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
5362
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-buffer.md
5525
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-buffer.md
5363
5526
  */
5364
5527
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
5365
5528
  /**
5366
5529
  * Disallow the use of the `null` literal.
5367
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-null.md
5530
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-null.md
5368
5531
  */
5369
5532
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
5370
5533
  /**
5371
5534
  * Disallow the use of objects as default parameters.
5372
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-object-as-default-parameter.md
5535
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-object-as-default-parameter.md
5373
5536
  */
5374
5537
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
5375
5538
  /**
5376
5539
  * Disallow `process.exit()`.
5377
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-process-exit.md
5540
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-process-exit.md
5378
5541
  */
5379
5542
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
5380
5543
  /**
5381
5544
  * Disallow passing single-element arrays to `Promise` methods.
5382
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-single-promise-in-promise-methods.md
5545
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-single-promise-in-promise-methods.md
5383
5546
  */
5384
5547
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
5385
5548
  /**
5386
5549
  * Disallow classes that only have static members.
5387
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-static-only-class.md
5550
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-static-only-class.md
5388
5551
  */
5389
5552
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
5390
5553
  /**
5391
5554
  * Disallow `then` property.
5392
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-thenable.md
5555
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-thenable.md
5393
5556
  */
5394
5557
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
5395
5558
  /**
5396
5559
  * Disallow assigning `this` to a variable.
5397
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-this-assignment.md
5560
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-this-assignment.md
5398
5561
  */
5399
5562
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
5400
5563
  /**
5401
5564
  * Disallow comparing `undefined` using `typeof`.
5402
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-typeof-undefined.md
5565
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-typeof-undefined.md
5403
5566
  */
5404
5567
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
5405
5568
  /**
5406
5569
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
5407
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-flat-depth.md
5570
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5408
5571
  */
5409
5572
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
5410
5573
  /**
5411
5574
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
5412
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-splice-count.md
5575
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-splice-count.md
5413
5576
  */
5414
5577
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
5415
5578
  /**
5416
5579
  * Disallow awaiting non-promise values.
5417
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-await.md
5580
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-await.md
5418
5581
  */
5419
5582
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
5420
5583
  /**
5421
5584
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5422
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-polyfills.md
5585
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-polyfills.md
5423
5586
  */
5424
5587
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
5425
5588
  /**
5426
5589
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
5427
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-slice-end.md
5590
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-slice-end.md
5428
5591
  */
5429
5592
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
5430
5593
  /**
5431
5594
  * Disallow unreadable array destructuring.
5432
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-array-destructuring.md
5595
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-array-destructuring.md
5433
5596
  */
5434
5597
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
5435
5598
  /**
5436
5599
  * Disallow unreadable IIFEs.
5437
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-iife.md
5600
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-iife.md
5438
5601
  */
5439
5602
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
5440
5603
  /**
5441
5604
  * Disallow unused object properties.
5442
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unused-properties.md
5605
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unused-properties.md
5443
5606
  */
5444
5607
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
5608
+ /**
5609
+ * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
5610
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-collection-argument.md
5611
+ */
5612
+ 'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
5445
5613
  /**
5446
5614
  * Disallow unnecessary `Error.captureStackTrace(…)`.
5447
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-error-capture-stack-trace.md
5615
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5448
5616
  */
5449
5617
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
5450
5618
  /**
5451
5619
  * Disallow useless fallback when spreading in object literals.
5452
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-fallback-in-spread.md
5620
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-fallback-in-spread.md
5453
5621
  */
5454
5622
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
5455
5623
  /**
5456
5624
  * Disallow useless array length check.
5457
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-length-check.md
5625
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-length-check.md
5458
5626
  */
5459
5627
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
5460
5628
  /**
5461
5629
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5462
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-promise-resolve-reject.md
5630
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-promise-resolve-reject.md
5463
5631
  */
5464
5632
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
5465
5633
  /**
5466
5634
  * Disallow unnecessary spread.
5467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-spread.md
5635
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-spread.md
5468
5636
  */
5469
5637
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
5470
5638
  /**
5471
5639
  * Disallow useless case in switch statements.
5472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-switch-case.md
5640
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-switch-case.md
5473
5641
  */
5474
5642
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
5475
5643
  /**
5476
5644
  * Disallow useless `undefined`.
5477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-undefined.md
5645
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-undefined.md
5478
5646
  */
5479
5647
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
5480
5648
  /**
5481
5649
  * Disallow number literals with zero fractions or dangling dots.
5482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-zero-fractions.md
5650
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-zero-fractions.md
5483
5651
  */
5484
5652
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
5485
5653
  /**
5486
5654
  * Enforce proper case for numeric literals.
5487
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/number-literal-case.md
5655
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/number-literal-case.md
5488
5656
  */
5489
5657
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
5490
5658
  /**
5491
5659
  * Enforce the style of numeric separators by correctly grouping digits.
5492
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/numeric-separators-style.md
5660
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/numeric-separators-style.md
5493
5661
  */
5494
5662
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
5495
5663
  /**
5496
5664
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
5497
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-add-event-listener.md
5665
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-add-event-listener.md
5498
5666
  */
5499
5667
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
5500
5668
  /**
5501
5669
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
5502
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-find.md
5670
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-find.md
5503
5671
  */
5504
5672
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
5505
5673
  /**
5506
5674
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
5507
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat.md
5675
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat.md
5508
5676
  */
5509
5677
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
5510
5678
  /**
5511
5679
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
5512
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat-map.md
5680
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat-map.md
5513
5681
  */
5514
5682
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
5515
5683
  /**
5516
5684
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
5517
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-index-of.md
5685
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-index-of.md
5518
5686
  */
5519
5687
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
5520
5688
  /**
5521
5689
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
5522
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-some.md
5690
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-some.md
5523
5691
  */
5524
5692
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
5525
5693
  /**
5526
5694
  * Prefer `.at()` method for index access and `String#charAt()`.
5527
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-at.md
5695
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-at.md
5528
5696
  */
5529
5697
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
5530
5698
  /**
5531
5699
  * Prefer `BigInt` literals over the constructor.
5532
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-bigint-literals.md
5700
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-bigint-literals.md
5533
5701
  */
5534
5702
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
5535
5703
  /**
5536
5704
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
5537
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-blob-reading-methods.md
5705
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-blob-reading-methods.md
5538
5706
  */
5539
5707
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
5540
5708
  /**
5541
5709
  * Prefer class field declarations over `this` assignments in constructors.
5542
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-class-fields.md
5710
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-class-fields.md
5543
5711
  */
5544
5712
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
5545
5713
  /**
5546
5714
  * Prefer using `Element#classList.toggle()` to toggle class names.
5547
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-classlist-toggle.md
5715
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-classlist-toggle.md
5548
5716
  */
5549
5717
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
5550
5718
  /**
5551
5719
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
5552
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-code-point.md
5720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-code-point.md
5553
5721
  */
5554
5722
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
5555
5723
  /**
5556
5724
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
5557
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-date-now.md
5725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-date-now.md
5558
5726
  */
5559
5727
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
5560
5728
  /**
5561
5729
  * Prefer default parameters over reassignment.
5562
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-default-parameters.md
5730
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-default-parameters.md
5563
5731
  */
5564
5732
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
5565
5733
  /**
5566
5734
  * Prefer `Node#append()` over `Node#appendChild()`.
5567
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-append.md
5735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-append.md
5568
5736
  */
5569
5737
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
5570
5738
  /**
5571
5739
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
5572
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-dataset.md
5740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-dataset.md
5573
5741
  */
5574
5742
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
5575
5743
  /**
5576
5744
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
5577
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-remove.md
5745
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-remove.md
5578
5746
  */
5579
5747
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
5580
5748
  /**
5581
5749
  * Prefer `.textContent` over `.innerText`.
5582
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-text-content.md
5750
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-text-content.md
5583
5751
  */
5584
5752
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
5585
5753
  /**
5586
5754
  * Prefer `EventTarget` over `EventEmitter`.
5587
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-event-target.md
5755
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-event-target.md
5588
5756
  */
5589
5757
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
5590
5758
  /**
5591
5759
  * Prefer `export…from` when re-exporting.
5592
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-export-from.md
5760
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-export-from.md
5593
5761
  */
5594
5762
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
5595
5763
  /**
5596
5764
  * Prefer `globalThis` over `window`, `self`, and `global`.
5597
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-global-this.md
5765
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-global-this.md
5598
5766
  */
5599
5767
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
5600
5768
  /**
5601
5769
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
5602
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-import-meta-properties.md
5770
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-import-meta-properties.md
5603
5771
  */
5604
5772
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
5605
5773
  /**
5606
5774
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
5607
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-includes.md
5775
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-includes.md
5608
5776
  */
5609
5777
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
5610
5778
  /**
5611
5779
  * Prefer reading a JSON file as a buffer.
5612
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-json-parse-buffer.md
5780
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-json-parse-buffer.md
5613
5781
  */
5614
5782
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
5615
5783
  /**
5616
5784
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
5617
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-keyboard-event-key.md
5785
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-keyboard-event-key.md
5618
5786
  */
5619
5787
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
5620
5788
  /**
5621
5789
  * Prefer using a logical operator over a ternary.
5622
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-logical-operator-over-ternary.md
5790
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-logical-operator-over-ternary.md
5623
5791
  */
5624
5792
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
5625
5793
  /**
5626
5794
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
5627
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-min-max.md
5795
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-min-max.md
5628
5796
  */
5629
5797
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
5630
5798
  /**
5631
5799
  * Enforce the use of `Math.trunc` instead of bitwise operators.
5632
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-trunc.md
5800
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-trunc.md
5633
5801
  */
5634
5802
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
5635
5803
  /**
5636
5804
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
5637
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-dom-apis.md
5805
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-dom-apis.md
5638
5806
  */
5639
5807
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
5640
5808
  /**
5641
5809
  * Prefer modern `Math` APIs over legacy patterns.
5642
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-math-apis.md
5810
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-math-apis.md
5643
5811
  */
5644
5812
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
5645
5813
  /**
5646
5814
  * Prefer JavaScript modules (ESM) over CommonJS.
5647
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-module.md
5815
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-module.md
5648
5816
  */
5649
5817
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
5650
5818
  /**
5651
5819
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
5652
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-native-coercion-functions.md
5820
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-native-coercion-functions.md
5653
5821
  */
5654
5822
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
5655
5823
  /**
5656
5824
  * Prefer negative index over `.length - index` when possible.
5657
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-negative-index.md
5825
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-negative-index.md
5658
5826
  */
5659
5827
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
5660
5828
  /**
5661
5829
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
5662
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-node-protocol.md
5830
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-node-protocol.md
5663
5831
  */
5664
5832
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
5665
5833
  /**
5666
5834
  * Prefer `Number` static properties over global ones.
5667
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-number-properties.md
5835
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-number-properties.md
5668
5836
  */
5669
5837
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
5670
5838
  /**
5671
5839
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
5672
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-object-from-entries.md
5840
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-object-from-entries.md
5673
5841
  */
5674
5842
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
5675
5843
  /**
5676
5844
  * Prefer omitting the `catch` binding parameter.
5677
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-optional-catch-binding.md
5845
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-optional-catch-binding.md
5678
5846
  */
5679
5847
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
5680
5848
  /**
5681
5849
  * Prefer borrowing methods from the prototype instead of the instance.
5682
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-prototype-methods.md
5850
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-prototype-methods.md
5683
5851
  */
5684
5852
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
5685
5853
  /**
5686
5854
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
5687
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-query-selector.md
5855
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-query-selector.md
5688
5856
  */
5689
5857
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
5690
5858
  /**
5691
5859
  * Prefer `Reflect.apply()` over `Function#apply()`.
5692
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-reflect-apply.md
5860
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-reflect-apply.md
5693
5861
  */
5694
5862
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
5695
5863
  /**
5696
5864
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
5697
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-regexp-test.md
5865
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-regexp-test.md
5698
5866
  */
5699
5867
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
5868
+ /**
5869
+ * Prefer `Response.json()` over `new Response(JSON.stringify())`.
5870
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-response-static-json.md
5871
+ */
5872
+ 'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
5700
5873
  /**
5701
5874
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
5702
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-has.md
5875
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-has.md
5703
5876
  */
5704
5877
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
5705
5878
  /**
5706
5879
  * Prefer using `Set#size` instead of `Array#length`.
5707
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-size.md
5880
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-size.md
5708
5881
  */
5709
5882
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
5710
5883
  /**
5711
5884
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
5712
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-single-call.md
5885
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-single-call.md
5713
5886
  */
5714
5887
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
5715
5888
  /**
5716
5889
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
5717
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-spread.md
5890
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-spread.md
5718
5891
  */
5719
5892
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
5720
5893
  /**
5721
5894
  * Prefer using the `String.raw` tag to avoid escaping `\`.
5722
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-raw.md
5895
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-raw.md
5723
5896
  */
5724
5897
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
5725
5898
  /**
5726
5899
  * Prefer `String#replaceAll()` over regex searches with the global flag.
5727
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-replace-all.md
5900
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-replace-all.md
5728
5901
  */
5729
5902
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
5730
5903
  /**
5731
5904
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
5732
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-slice.md
5905
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-slice.md
5733
5906
  */
5734
5907
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
5735
5908
  /**
5736
5909
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
5737
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-starts-ends-with.md
5910
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-starts-ends-with.md
5738
5911
  */
5739
5912
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
5740
5913
  /**
5741
5914
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
5742
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-trim-start-end.md
5915
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-trim-start-end.md
5743
5916
  */
5744
5917
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
5745
5918
  /**
5746
5919
  * Prefer using `structuredClone` to create a deep clone.
5747
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-structured-clone.md
5920
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-structured-clone.md
5748
5921
  */
5749
5922
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
5750
5923
  /**
5751
5924
  * Prefer `switch` over multiple `else-if`.
5752
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-switch.md
5925
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-switch.md
5753
5926
  */
5754
5927
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
5755
5928
  /**
5756
5929
  * Prefer ternary expressions over simple `if-else` statements.
5757
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-ternary.md
5930
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-ternary.md
5758
5931
  */
5759
5932
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
5760
5933
  /**
5761
5934
  * Prefer top-level await over top-level promises and async function calls.
5762
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-top-level-await.md
5935
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-top-level-await.md
5763
5936
  */
5764
5937
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
5765
5938
  /**
5766
5939
  * Enforce throwing `TypeError` in type checking conditions.
5767
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-type-error.md
5940
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-type-error.md
5768
5941
  */
5769
5942
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
5770
5943
  /**
5771
5944
  * Prevent abbreviations.
5772
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prevent-abbreviations.md
5945
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prevent-abbreviations.md
5773
5946
  */
5774
5947
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
5775
5948
  /**
5776
5949
  * Enforce consistent relative URL style.
5777
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/relative-url-style.md
5950
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/relative-url-style.md
5778
5951
  */
5779
5952
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
5780
5953
  /**
5781
5954
  * Enforce using the separator argument with `Array#join()`.
5782
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-array-join-separator.md
5955
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-array-join-separator.md
5783
5956
  */
5784
5957
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
5785
5958
  /**
5786
5959
  * Require non-empty module attributes for imports and exports
5787
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-attributes.md
5960
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-attributes.md
5788
5961
  */
5789
5962
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
5790
5963
  /**
5791
5964
  * Require non-empty specifier list in import and export statements.
5792
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-specifiers.md
5965
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-specifiers.md
5793
5966
  */
5794
5967
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
5795
5968
  /**
5796
5969
  * Enforce using the digits argument with `Number#toFixed()`.
5797
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-number-to-fixed-digits-argument.md
5970
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-number-to-fixed-digits-argument.md
5798
5971
  */
5799
5972
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
5800
5973
  /**
5801
5974
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
5802
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-post-message-target-origin.md
5975
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-post-message-target-origin.md
5803
5976
  */
5804
5977
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
5805
5978
  /**
5806
5979
  * Enforce better string content.
5807
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/string-content.md
5980
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/string-content.md
5808
5981
  */
5809
5982
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
5810
5983
  /**
5811
5984
  * Enforce consistent brace style for `case` clauses.
5812
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/switch-case-braces.md
5985
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/switch-case-braces.md
5813
5986
  */
5814
5987
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
5815
5988
  /**
5816
5989
  * Fix whitespace-insensitive template indentation.
5817
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/template-indent.md
5990
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/template-indent.md
5818
5991
  */
5819
5992
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
5820
5993
  /**
5821
5994
  * Enforce consistent case for text encoding identifiers.
5822
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/text-encoding-identifier-case.md
5995
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/text-encoding-identifier-case.md
5823
5996
  */
5824
- 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
5997
+ 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
5825
5998
  /**
5826
5999
  * Require `new` when creating an error.
5827
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/throw-new-error.md
6000
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/throw-new-error.md
5828
6001
  */
5829
6002
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
5830
6003
  /**
@@ -6166,7 +6339,7 @@ interface RuleOptions {
6166
6339
  * disallow asynchronous actions in computed properties
6167
6340
  * @see https://eslint.vuejs.org/rules/no-async-in-computed-properties.html
6168
6341
  */
6169
- 'vue/no-async-in-computed-properties'?: Linter.RuleEntry<[]>;
6342
+ 'vue/no-async-in-computed-properties'?: Linter.RuleEntry<VueNoAsyncInComputedProperties>;
6170
6343
  /**
6171
6344
  * disallow the use of bare strings in `<template>`
6172
6345
  * @see https://eslint.vuejs.org/rules/no-bare-strings-in-template.html
@@ -6667,7 +6840,7 @@ interface RuleOptions {
6667
6840
  * disallow use of v-html to prevent XSS attack
6668
6841
  * @see https://eslint.vuejs.org/rules/no-v-html.html
6669
6842
  */
6670
- 'vue/no-v-html'?: Linter.RuleEntry<[]>;
6843
+ 'vue/no-v-html'?: Linter.RuleEntry<VueNoVHtml>;
6671
6844
  /**
6672
6845
  * disallow adding an argument to `v-model` used in custom component
6673
6846
  * @see https://eslint.vuejs.org/rules/no-v-model-argument.html
@@ -7275,7 +7448,6 @@ interface RuleOptions {
7275
7448
  */
7276
7449
  'yoda'?: Linter.RuleEntry<Yoda>;
7277
7450
  }
7278
-
7279
7451
  /* ======= Declarations ======= */
7280
7452
  // ----- accessor-pairs -----
7281
7453
  type AccessorPairs = [] | [{
@@ -7698,6 +7870,7 @@ type JsdocCheckPropertyNames = [] | [{
7698
7870
  type JsdocCheckTagNames = [] | [{
7699
7871
  definedTags?: string[];
7700
7872
  enableFixer?: boolean;
7873
+ inlineTags?: string[];
7701
7874
  jsxTags?: boolean;
7702
7875
  typed?: boolean;
7703
7876
  }];
@@ -7740,6 +7913,12 @@ type JsdocConvertToJsdocComments = [] | [{
7740
7913
  type JsdocEmptyTags = [] | [{
7741
7914
  tags?: string[];
7742
7915
  }];
7916
+ // ----- jsdoc/escape-inline-tags -----
7917
+ type JsdocEscapeInlineTags = [] | [{
7918
+ allowedInlineTags?: string[];
7919
+ enableFixer?: boolean;
7920
+ fixType?: ("backticks" | "backslash");
7921
+ }];
7743
7922
  // ----- jsdoc/implements-on-classes -----
7744
7923
  type JsdocImplementsOnClasses = [] | [{
7745
7924
  contexts?: (string | {
@@ -7856,10 +8035,17 @@ type JsdocNoTypes = [] | [{
7856
8035
  }];
7857
8036
  // ----- jsdoc/no-undefined-types -----
7858
8037
  type JsdocNoUndefinedTypes = [] | [{
8038
+ checkUsedTypedefs?: boolean;
7859
8039
  definedTypes?: string[];
7860
8040
  disableReporting?: boolean;
7861
8041
  markVariablesAsUsed?: boolean;
7862
8042
  }];
8043
+ // ----- jsdoc/prefer-import-tag -----
8044
+ type JsdocPreferImportTag = [] | [{
8045
+ enableFixer?: boolean;
8046
+ exemptTypedefs?: boolean;
8047
+ outputType?: ("named-import" | "namespaced-import");
8048
+ }];
7863
8049
  // ----- jsdoc/require-asterisk-prefix -----
7864
8050
  type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
7865
8051
  tags?: {
@@ -7966,6 +8152,7 @@ type JsdocRequireParam = [] | [{
7966
8152
  enableRootFixer?: boolean;
7967
8153
  exemptedBy?: string[];
7968
8154
  ignoreWhenAllParamsMissing?: boolean;
8155
+ interfaceExemptsParamsCheck?: boolean;
7969
8156
  unnamedRootBase?: string[];
7970
8157
  useDefaultObjectProperties?: boolean;
7971
8158
  }];
@@ -8018,6 +8205,7 @@ type JsdocRequireReturns = [] | [{
8018
8205
  type JsdocRequireReturnsCheck = [] | [{
8019
8206
  exemptAsync?: boolean;
8020
8207
  exemptGenerators?: boolean;
8208
+ noNativeTypes?: boolean;
8021
8209
  reportMissingReturnForUndefinedTypes?: boolean;
8022
8210
  }];
8023
8211
  // ----- jsdoc/require-returns-description -----
@@ -8034,6 +8222,14 @@ type JsdocRequireReturnsType = [] | [{
8034
8222
  context?: string;
8035
8223
  })[];
8036
8224
  }];
8225
+ // ----- jsdoc/require-tags -----
8226
+ type JsdocRequireTags = [] | [{
8227
+ tags?: (string | {
8228
+ context?: string;
8229
+ tag?: string;
8230
+ [k: string]: unknown | undefined;
8231
+ })[];
8232
+ }];
8037
8233
  // ----- jsdoc/require-template -----
8038
8234
  type JsdocRequireTemplate = [] | [{
8039
8235
  exemptedBy?: string[];
@@ -8067,7 +8263,6 @@ type JsdocRequireYieldsCheck = [] | [{
8067
8263
  comment?: string;
8068
8264
  context?: string;
8069
8265
  })[];
8070
- exemptedBy?: string[];
8071
8266
  next?: boolean;
8072
8267
  }];
8073
8268
  // ----- jsdoc/sort-tags -----
@@ -8085,6 +8280,7 @@ type JsdocTagLines = [] | [("always" | "any" | "never")] | [("always" | "any" |
8085
8280
  applyToEndTag?: boolean;
8086
8281
  count?: number;
8087
8282
  endLines?: (number | null);
8283
+ maxBlockLines?: (number | null);
8088
8284
  startLines?: (number | null);
8089
8285
  tags?: {
8090
8286
  [k: string]: {
@@ -8098,16 +8294,44 @@ type JsdocTextEscaping = [] | [{
8098
8294
  escapeHTML?: boolean;
8099
8295
  escapeMarkdown?: boolean;
8100
8296
  }];
8297
+ // ----- jsdoc/ts-method-signature-style -----
8298
+ type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
8299
+ enableFixer?: boolean;
8300
+ }];
8301
+ // ----- jsdoc/ts-no-unnecessary-template-expression -----
8302
+ type JsdocTsNoUnnecessaryTemplateExpression = [] | [{
8303
+ enableFixer?: boolean;
8304
+ }];
8305
+ // ----- jsdoc/ts-prefer-function-type -----
8306
+ type JsdocTsPreferFunctionType = [] | [{
8307
+ enableFixer?: boolean;
8308
+ }];
8101
8309
  // ----- jsdoc/type-formatting -----
8102
8310
  type JsdocTypeFormatting = [] | [{
8103
8311
  arrayBrackets?: ("angle" | "square");
8312
+ arrowFunctionPostReturnMarkerSpacing?: string;
8313
+ arrowFunctionPreReturnMarkerSpacing?: string;
8104
8314
  enableFixer?: boolean;
8315
+ functionOrClassParameterSpacing?: string;
8316
+ functionOrClassPostGenericSpacing?: string;
8317
+ functionOrClassPostReturnMarkerSpacing?: string;
8318
+ functionOrClassPreReturnMarkerSpacing?: string;
8319
+ functionOrClassTypeParameterSpacing?: string;
8320
+ genericAndTupleElementSpacing?: string;
8105
8321
  genericDot?: boolean;
8322
+ keyValuePostColonSpacing?: string;
8323
+ keyValuePostKeySpacing?: string;
8324
+ keyValuePostOptionalSpacing?: string;
8325
+ keyValuePostVariadicSpacing?: string;
8326
+ methodQuotes?: ("double" | "single");
8106
8327
  objectFieldIndent?: string;
8107
8328
  objectFieldQuote?: ("double" | "single" | null);
8108
8329
  objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak");
8330
+ objectFieldSeparatorOptionalLinebreak?: boolean;
8109
8331
  objectFieldSeparatorTrailingPunctuation?: boolean;
8110
- propertyQuotes?: ("double" | "single" | null);
8332
+ parameterDefaultValueSpacing?: string;
8333
+ postMethodNameSpacing?: string;
8334
+ postNewSpacing?: string;
8111
8335
  separatorForSingleObjectField?: boolean;
8112
8336
  stringQuotes?: ("double" | "single");
8113
8337
  typeBracketSpacing?: string;
@@ -8801,6 +9025,10 @@ type MarkdownNoHtml = [] | [{
8801
9025
  type MarkdownNoMissingAtxHeadingSpace = [] | [{
8802
9026
  checkClosedHeadings?: boolean;
8803
9027
  }];
9028
+ // ----- markdown/no-missing-label-refs -----
9029
+ type MarkdownNoMissingLabelRefs = [] | [{
9030
+ allowLabels?: string[];
9031
+ }];
8804
9032
  // ----- markdown/no-missing-link-fragments -----
8805
9033
  type MarkdownNoMissingLinkFragments = [] | [{
8806
9034
  ignoreCase?: boolean;
@@ -9185,12 +9413,14 @@ type NoRestrictedImports = ((string | {
9185
9413
  message?: string;
9186
9414
  importNames?: string[];
9187
9415
  allowImportNames?: string[];
9416
+ allowTypeImports?: boolean;
9188
9417
  })[] | [] | [{
9189
9418
  paths?: (string | {
9190
9419
  name: string;
9191
9420
  message?: string;
9192
9421
  importNames?: string[];
9193
9422
  allowImportNames?: string[];
9423
+ allowTypeImports?: boolean;
9194
9424
  })[];
9195
9425
  patterns?: (string[] | ({
9196
9426
  [k: string]: unknown | undefined;
@@ -11494,10 +11724,124 @@ type ReactDomNoUnknownProperty = [] | [{
11494
11724
  ignore?: string[];
11495
11725
  requireDataLowercase?: boolean;
11496
11726
  }];
11727
+ // ----- react-hooks/automatic-effect-dependencies -----
11728
+ type ReactHooksAutomaticEffectDependencies = [] | [{
11729
+ [k: string]: unknown | undefined;
11730
+ }];
11731
+ // ----- react-hooks/capitalized-calls -----
11732
+ type ReactHooksCapitalizedCalls = [] | [{
11733
+ [k: string]: unknown | undefined;
11734
+ }];
11735
+ // ----- react-hooks/component-hook-factories -----
11736
+ type ReactHooksComponentHookFactories = [] | [{
11737
+ [k: string]: unknown | undefined;
11738
+ }];
11739
+ // ----- react-hooks/config -----
11740
+ type ReactHooksConfig = [] | [{
11741
+ [k: string]: unknown | undefined;
11742
+ }];
11743
+ // ----- react-hooks/error-boundaries -----
11744
+ type ReactHooksErrorBoundaries = [] | [{
11745
+ [k: string]: unknown | undefined;
11746
+ }];
11497
11747
  // ----- react-hooks/exhaustive-deps -----
11498
11748
  type ReactHooksExhaustiveDeps = [] | [{
11499
11749
  additionalHooks?: string;
11500
11750
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
11751
+ experimental_autoDependenciesHooks?: string[];
11752
+ requireExplicitEffectDeps?: boolean;
11753
+ }];
11754
+ // ----- react-hooks/fbt -----
11755
+ type ReactHooksFbt = [] | [{
11756
+ [k: string]: unknown | undefined;
11757
+ }];
11758
+ // ----- react-hooks/fire -----
11759
+ type ReactHooksFire = [] | [{
11760
+ [k: string]: unknown | undefined;
11761
+ }];
11762
+ // ----- react-hooks/gating -----
11763
+ type ReactHooksGating = [] | [{
11764
+ [k: string]: unknown | undefined;
11765
+ }];
11766
+ // ----- react-hooks/globals -----
11767
+ type ReactHooksGlobals = [] | [{
11768
+ [k: string]: unknown | undefined;
11769
+ }];
11770
+ // ----- react-hooks/hooks -----
11771
+ type ReactHooksHooks = [] | [{
11772
+ [k: string]: unknown | undefined;
11773
+ }];
11774
+ // ----- react-hooks/immutability -----
11775
+ type ReactHooksImmutability = [] | [{
11776
+ [k: string]: unknown | undefined;
11777
+ }];
11778
+ // ----- react-hooks/incompatible-library -----
11779
+ type ReactHooksIncompatibleLibrary = [] | [{
11780
+ [k: string]: unknown | undefined;
11781
+ }];
11782
+ // ----- react-hooks/invariant -----
11783
+ type ReactHooksInvariant = [] | [{
11784
+ [k: string]: unknown | undefined;
11785
+ }];
11786
+ // ----- react-hooks/memoized-effect-dependencies -----
11787
+ type ReactHooksMemoizedEffectDependencies = [] | [{
11788
+ [k: string]: unknown | undefined;
11789
+ }];
11790
+ // ----- react-hooks/no-deriving-state-in-effects -----
11791
+ type ReactHooksNoDerivingStateInEffects = [] | [{
11792
+ [k: string]: unknown | undefined;
11793
+ }];
11794
+ // ----- react-hooks/preserve-manual-memoization -----
11795
+ type ReactHooksPreserveManualMemoization = [] | [{
11796
+ [k: string]: unknown | undefined;
11797
+ }];
11798
+ // ----- react-hooks/purity -----
11799
+ type ReactHooksPurity = [] | [{
11800
+ [k: string]: unknown | undefined;
11801
+ }];
11802
+ // ----- react-hooks/refs -----
11803
+ type ReactHooksRefs = [] | [{
11804
+ [k: string]: unknown | undefined;
11805
+ }];
11806
+ // ----- react-hooks/rule-suppression -----
11807
+ type ReactHooksRuleSuppression = [] | [{
11808
+ [k: string]: unknown | undefined;
11809
+ }];
11810
+ // ----- react-hooks/rules-of-hooks -----
11811
+ type ReactHooksRulesOfHooks = [] | [{
11812
+ additionalHooks?: string;
11813
+ }];
11814
+ // ----- react-hooks/set-state-in-effect -----
11815
+ type ReactHooksSetStateInEffect = [] | [{
11816
+ [k: string]: unknown | undefined;
11817
+ }];
11818
+ // ----- react-hooks/set-state-in-render -----
11819
+ type ReactHooksSetStateInRender = [] | [{
11820
+ [k: string]: unknown | undefined;
11821
+ }];
11822
+ // ----- react-hooks/static-components -----
11823
+ type ReactHooksStaticComponents = [] | [{
11824
+ [k: string]: unknown | undefined;
11825
+ }];
11826
+ // ----- react-hooks/syntax -----
11827
+ type ReactHooksSyntax = [] | [{
11828
+ [k: string]: unknown | undefined;
11829
+ }];
11830
+ // ----- react-hooks/todo -----
11831
+ type ReactHooksTodo = [] | [{
11832
+ [k: string]: unknown | undefined;
11833
+ }];
11834
+ // ----- react-hooks/unsupported-syntax -----
11835
+ type ReactHooksUnsupportedSyntax = [] | [{
11836
+ [k: string]: unknown | undefined;
11837
+ }];
11838
+ // ----- react-hooks/use-memo -----
11839
+ type ReactHooksUseMemo = [] | [{
11840
+ [k: string]: unknown | undefined;
11841
+ }];
11842
+ // ----- react-hooks/void-use-memo -----
11843
+ type ReactHooksVoidUseMemo = [] | [{
11844
+ [k: string]: unknown | undefined;
11501
11845
  }];
11502
11846
  // ----- react-naming-convention/component-name -----
11503
11847
  type ReactNamingConventionComponentName = [] | [(("PascalCase" | "CONSTANT_CASE") | {
@@ -11524,6 +11868,20 @@ type ReactRefreshOnlyExportComponents = [] | [{
11524
11868
  customHOCs?: string[];
11525
11869
  checkJS?: boolean;
11526
11870
  }];
11871
+ // ----- react/jsx-shorthand-boolean -----
11872
+ type ReactJsxShorthandBoolean = [] | [(-1 | 1)];
11873
+ // ----- react/jsx-shorthand-fragment -----
11874
+ type ReactJsxShorthandFragment = [] | [(-1 | 1)];
11875
+ // ----- react/no-forbidden-props -----
11876
+ type ReactNoForbiddenProps = [] | [{
11877
+ forbid?: (string | {
11878
+ excludedNodes?: string[];
11879
+ prop: string;
11880
+ } | {
11881
+ includedNodes?: string[];
11882
+ prop: string;
11883
+ })[];
11884
+ }];
11527
11885
  // ----- react/no-useless-fragment -----
11528
11886
  type ReactNoUselessFragment = [] | [{
11529
11887
  allowExpressions?: boolean;
@@ -11918,6 +12276,50 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
11918
12276
  type StyleDotLocation = [] | [("object" | "property")];
11919
12277
  // ----- style/eol-last -----
11920
12278
  type StyleEolLast = [] | [("always" | "never" | "unix" | "windows")];
12279
+ // ----- style/exp-list-style -----
12280
+ type StyleExpListStyle = [] | [{
12281
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
12282
+ multiLine?: _StyleExpListStyle_MultiLineConfig;
12283
+ overrides?: {
12284
+ "[]"?: _StyleExpListStyle_BaseConfig;
12285
+ "{}"?: _StyleExpListStyle_BaseConfig;
12286
+ "<>"?: _StyleExpListStyle_BaseConfig;
12287
+ "()"?: _StyleExpListStyle_BaseConfig;
12288
+ ArrayExpression?: _StyleExpListStyle_BaseConfig;
12289
+ ArrayPattern?: _StyleExpListStyle_BaseConfig;
12290
+ ArrowFunctionExpression?: _StyleExpListStyle_BaseConfig;
12291
+ CallExpression?: _StyleExpListStyle_BaseConfig;
12292
+ ExportNamedDeclaration?: _StyleExpListStyle_BaseConfig;
12293
+ FunctionDeclaration?: _StyleExpListStyle_BaseConfig;
12294
+ FunctionExpression?: _StyleExpListStyle_BaseConfig;
12295
+ ImportDeclaration?: _StyleExpListStyle_BaseConfig;
12296
+ ImportAttributes?: _StyleExpListStyle_BaseConfig;
12297
+ NewExpression?: _StyleExpListStyle_BaseConfig;
12298
+ ObjectExpression?: _StyleExpListStyle_BaseConfig;
12299
+ ObjectPattern?: _StyleExpListStyle_BaseConfig;
12300
+ TSDeclareFunction?: _StyleExpListStyle_BaseConfig;
12301
+ TSFunctionType?: _StyleExpListStyle_BaseConfig;
12302
+ TSInterfaceBody?: _StyleExpListStyle_BaseConfig;
12303
+ TSEnumBody?: _StyleExpListStyle_BaseConfig;
12304
+ TSTupleType?: _StyleExpListStyle_BaseConfig;
12305
+ TSTypeLiteral?: _StyleExpListStyle_BaseConfig;
12306
+ TSTypeParameterDeclaration?: _StyleExpListStyle_BaseConfig;
12307
+ TSTypeParameterInstantiation?: _StyleExpListStyle_BaseConfig;
12308
+ JSONArrayExpression?: _StyleExpListStyle_BaseConfig;
12309
+ JSONObjectExpression?: _StyleExpListStyle_BaseConfig;
12310
+ };
12311
+ }];
12312
+ interface _StyleExpListStyle_SingleLineConfig {
12313
+ spacing?: ("always" | "never");
12314
+ maxItems?: number;
12315
+ }
12316
+ interface _StyleExpListStyle_MultiLineConfig {
12317
+ minItems?: number;
12318
+ }
12319
+ interface _StyleExpListStyle_BaseConfig {
12320
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
12321
+ multiline?: _StyleExpListStyle_MultiLineConfig;
12322
+ }
11921
12323
  // ----- style/function-call-argument-newline -----
11922
12324
  type StyleFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")];
11923
12325
  // ----- style/function-call-spacing -----
@@ -11948,6 +12350,10 @@ type StyleGeneratorStarSpacing = [] | [(("before" | "after" | "both" | "neither"
11948
12350
  before?: boolean;
11949
12351
  after?: boolean;
11950
12352
  });
12353
+ shorthand?: (("before" | "after" | "both" | "neither") | {
12354
+ before?: boolean;
12355
+ after?: boolean;
12356
+ });
11951
12357
  })];
11952
12358
  // ----- style/implicit-arrow-linebreak -----
11953
12359
  type StyleImplicitArrowLinebreak = [] | [("beside" | "below")];
@@ -11983,7 +12389,11 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
11983
12389
  ObjectExpression?: (number | ("first" | "off"));
11984
12390
  ImportDeclaration?: (number | ("first" | "off"));
11985
12391
  flatTernaryExpressions?: boolean;
11986
- offsetTernaryExpressions?: boolean;
12392
+ offsetTernaryExpressions?: (boolean | {
12393
+ CallExpression?: boolean;
12394
+ AwaitExpression?: boolean;
12395
+ NewExpression?: boolean;
12396
+ });
11987
12397
  offsetTernaryExpressionsOffsetCallExpressions?: boolean;
11988
12398
  ignoredNodes?: string[];
11989
12399
  ignoreComments?: boolean;
@@ -12193,22 +12603,6 @@ type StyleKeywordSpacing = [] | [{
12193
12603
  before?: boolean;
12194
12604
  after?: boolean;
12195
12605
  };
12196
- arguments?: {
12197
- before?: boolean;
12198
- after?: boolean;
12199
- };
12200
- as?: {
12201
- before?: boolean;
12202
- after?: boolean;
12203
- };
12204
- async?: {
12205
- before?: boolean;
12206
- after?: boolean;
12207
- };
12208
- await?: {
12209
- before?: boolean;
12210
- after?: boolean;
12211
- };
12212
12606
  boolean?: {
12213
12607
  before?: boolean;
12214
12608
  after?: boolean;
@@ -12273,10 +12667,6 @@ type StyleKeywordSpacing = [] | [{
12273
12667
  before?: boolean;
12274
12668
  after?: boolean;
12275
12669
  };
12276
- eval?: {
12277
- before?: boolean;
12278
- after?: boolean;
12279
- };
12280
12670
  export?: {
12281
12671
  before?: boolean;
12282
12672
  after?: boolean;
@@ -12305,18 +12695,10 @@ type StyleKeywordSpacing = [] | [{
12305
12695
  before?: boolean;
12306
12696
  after?: boolean;
12307
12697
  };
12308
- from?: {
12309
- before?: boolean;
12310
- after?: boolean;
12311
- };
12312
12698
  function?: {
12313
12699
  before?: boolean;
12314
12700
  after?: boolean;
12315
12701
  };
12316
- get?: {
12317
- before?: boolean;
12318
- after?: boolean;
12319
- };
12320
12702
  goto?: {
12321
12703
  before?: boolean;
12322
12704
  after?: boolean;
@@ -12349,10 +12731,6 @@ type StyleKeywordSpacing = [] | [{
12349
12731
  before?: boolean;
12350
12732
  after?: boolean;
12351
12733
  };
12352
- let?: {
12353
- before?: boolean;
12354
- after?: boolean;
12355
- };
12356
12734
  long?: {
12357
12735
  before?: boolean;
12358
12736
  after?: boolean;
@@ -12369,10 +12747,6 @@ type StyleKeywordSpacing = [] | [{
12369
12747
  before?: boolean;
12370
12748
  after?: boolean;
12371
12749
  };
12372
- of?: {
12373
- before?: boolean;
12374
- after?: boolean;
12375
- };
12376
12750
  package?: {
12377
12751
  before?: boolean;
12378
12752
  after?: boolean;
@@ -12393,10 +12767,6 @@ type StyleKeywordSpacing = [] | [{
12393
12767
  before?: boolean;
12394
12768
  after?: boolean;
12395
12769
  };
12396
- set?: {
12397
- before?: boolean;
12398
- after?: boolean;
12399
- };
12400
12770
  short?: {
12401
12771
  before?: boolean;
12402
12772
  after?: boolean;
@@ -12441,18 +12811,10 @@ type StyleKeywordSpacing = [] | [{
12441
12811
  before?: boolean;
12442
12812
  after?: boolean;
12443
12813
  };
12444
- type?: {
12445
- before?: boolean;
12446
- after?: boolean;
12447
- };
12448
12814
  typeof?: {
12449
12815
  before?: boolean;
12450
12816
  after?: boolean;
12451
12817
  };
12452
- using?: {
12453
- before?: boolean;
12454
- after?: boolean;
12455
- };
12456
12818
  var?: {
12457
12819
  before?: boolean;
12458
12820
  after?: boolean;
@@ -12473,6 +12835,54 @@ type StyleKeywordSpacing = [] | [{
12473
12835
  before?: boolean;
12474
12836
  after?: boolean;
12475
12837
  };
12838
+ arguments?: {
12839
+ before?: boolean;
12840
+ after?: boolean;
12841
+ };
12842
+ as?: {
12843
+ before?: boolean;
12844
+ after?: boolean;
12845
+ };
12846
+ async?: {
12847
+ before?: boolean;
12848
+ after?: boolean;
12849
+ };
12850
+ await?: {
12851
+ before?: boolean;
12852
+ after?: boolean;
12853
+ };
12854
+ eval?: {
12855
+ before?: boolean;
12856
+ after?: boolean;
12857
+ };
12858
+ from?: {
12859
+ before?: boolean;
12860
+ after?: boolean;
12861
+ };
12862
+ get?: {
12863
+ before?: boolean;
12864
+ after?: boolean;
12865
+ };
12866
+ let?: {
12867
+ before?: boolean;
12868
+ after?: boolean;
12869
+ };
12870
+ of?: {
12871
+ before?: boolean;
12872
+ after?: boolean;
12873
+ };
12874
+ set?: {
12875
+ before?: boolean;
12876
+ after?: boolean;
12877
+ };
12878
+ type?: {
12879
+ before?: boolean;
12880
+ after?: boolean;
12881
+ };
12882
+ using?: {
12883
+ before?: boolean;
12884
+ after?: boolean;
12885
+ };
12476
12886
  yield?: {
12477
12887
  before?: boolean;
12478
12888
  after?: boolean;
@@ -12772,6 +13182,19 @@ type StyleObjectCurlyNewline = [] | [((("always" | "never") | {
12772
13182
  type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
12773
13183
  arraysInObjects?: boolean;
12774
13184
  objectsInObjects?: boolean;
13185
+ overrides?: {
13186
+ ObjectPattern?: ("always" | "never");
13187
+ ObjectExpression?: ("always" | "never");
13188
+ ImportDeclaration?: ("always" | "never");
13189
+ ImportAttributes?: ("always" | "never");
13190
+ ExportNamedDeclaration?: ("always" | "never");
13191
+ ExportAllDeclaration?: ("always" | "never");
13192
+ TSMappedType?: ("always" | "never");
13193
+ TSTypeLiteral?: ("always" | "never");
13194
+ TSInterfaceBody?: ("always" | "never");
13195
+ TSEnumBody?: ("always" | "never");
13196
+ };
13197
+ emptyObjects?: ("ignore" | "always" | "never");
12775
13198
  }];
12776
13199
  // ----- style/object-property-newline -----
12777
13200
  type StyleObjectPropertyNewline = [] | [{
@@ -13849,6 +14272,10 @@ type TsNoUnnecessaryTypeAssertion = [] | [{
13849
14272
  checkLiteralConstAssertions?: boolean;
13850
14273
  typesToIgnore?: string[];
13851
14274
  }];
14275
+ // ----- ts/no-unsafe-member-access -----
14276
+ type TsNoUnsafeMemberAccess = [] | [{
14277
+ allowOptionalChaining?: boolean;
14278
+ }];
13852
14279
  // ----- ts/no-unused-expressions -----
13853
14280
  type TsNoUnusedExpressions = [] | [{
13854
14281
  allowShortCircuit?: boolean;
@@ -13866,6 +14293,7 @@ type TsNoUnusedVars = [] | [(("all" | "local") | {
13866
14293
  destructuredArrayIgnorePattern?: string;
13867
14294
  ignoreClassWithStaticInitBlock?: boolean;
13868
14295
  ignoreRestSiblings?: boolean;
14296
+ ignoreUsingDeclarations?: boolean;
13869
14297
  reportUsedIgnorePattern?: boolean;
13870
14298
  vars?: ("all" | "local");
13871
14299
  varsIgnorePattern?: string;
@@ -14316,6 +14744,10 @@ type UnicornTemplateIndent = [] | [{
14316
14744
  selectors?: string[];
14317
14745
  comments?: string[];
14318
14746
  }];
14747
+ // ----- unicorn/text-encoding-identifier-case -----
14748
+ type UnicornTextEncodingIdentifierCase = [] | [{
14749
+ withDash?: boolean;
14750
+ }];
14319
14751
  // ----- unocss/enforce-class-compile -----
14320
14752
  type UnocssEnforceClassCompile = [] | [{
14321
14753
  prefix?: string;
@@ -14335,6 +14767,7 @@ type UnusedImportsNoUnusedImports = [] | [(("all" | "local") | {
14335
14767
  destructuredArrayIgnorePattern?: string;
14336
14768
  ignoreClassWithStaticInitBlock?: boolean;
14337
14769
  ignoreRestSiblings?: boolean;
14770
+ ignoreUsingDeclarations?: boolean;
14338
14771
  reportUsedIgnorePattern?: boolean;
14339
14772
  vars?: ("all" | "local");
14340
14773
  varsIgnorePattern?: string;
@@ -14348,6 +14781,7 @@ type UnusedImportsNoUnusedVars = [] | [(("all" | "local") | {
14348
14781
  destructuredArrayIgnorePattern?: string;
14349
14782
  ignoreClassWithStaticInitBlock?: boolean;
14350
14783
  ignoreRestSiblings?: boolean;
14784
+ ignoreUsingDeclarations?: boolean;
14351
14785
  reportUsedIgnorePattern?: boolean;
14352
14786
  vars?: ("all" | "local");
14353
14787
  varsIgnorePattern?: string;
@@ -14399,6 +14833,7 @@ type VueAttributeHyphenation = [] | [("always" | "never")] | [("always" | "never
14399
14833
  type VueAttributesOrder = [] | [{
14400
14834
  order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
14401
14835
  alphabetical?: boolean;
14836
+ sortLineLength?: boolean;
14402
14837
  }];
14403
14838
  // ----- vue/block-lang -----
14404
14839
  type VueBlockLang = [] | [{
@@ -15045,6 +15480,10 @@ type VueNewLineBetweenMultiLineProperty = [] | [{
15045
15480
  }];
15046
15481
  // ----- vue/next-tick-style -----
15047
15482
  type VueNextTickStyle = [] | [("promise" | "callback")];
15483
+ // ----- vue/no-async-in-computed-properties -----
15484
+ type VueNoAsyncInComputedProperties = [] | [{
15485
+ ignoredObjectNames?: string[];
15486
+ }];
15048
15487
  // ----- vue/no-bare-strings-in-template -----
15049
15488
  type VueNoBareStringsInTemplate = [] | [{
15050
15489
  allowlist?: string[];
@@ -15329,6 +15768,10 @@ type VueNoUselessVBind = [] | [{
15329
15768
  ignoreIncludesComment?: boolean;
15330
15769
  ignoreStringEscape?: boolean;
15331
15770
  }];
15771
+ // ----- vue/no-v-html -----
15772
+ type VueNoVHtml = [] | [{
15773
+ ignorePattern?: string;
15774
+ }];
15332
15775
  // ----- vue/no-v-text-v-html-on-component -----
15333
15776
  type VueNoVTextVHtmlOnComponent = [] | [{
15334
15777
  allow?: string[];
@@ -16448,4 +16891,4 @@ declare function ensurePackages(packages: (string | undefined)[]): Promise<void>
16448
16891
  declare function isInEditorEnv(): boolean;
16449
16892
  declare function isInGitHooksOrLintStaged(): boolean;
16450
16893
  //#endregion
16451
- export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, combine, command, comments, eslintConfig as default, defaultPluginRenaming, disables, ensurePackages, eslintConfig, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
16894
+ export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, StylisticConfig, StylisticConfigDefaults, StylisticOptions, TypedFlatConfigItem, combine, command, comments, eslintConfig as default, eslintConfig, defaultPluginRenaming, disables, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pnpm, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };