@hexadrop/eslint-config 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -575,233 +575,238 @@ interface RuleOptions {
575
575
  'import-unused/no-unused-vars'?: Linter.RuleEntry<ImportUnusedNoUnusedVars>
576
576
  /**
577
577
  * Enforce or ban the use of inline type-only markers for named imports.
578
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/consistent-type-specifier-style.md
578
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
579
579
  */
580
580
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
581
581
  /**
582
582
  * Ensure a default export is present, given a default import.
583
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/default.md
583
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
584
584
  */
585
585
  'import/default'?: Linter.RuleEntry<[]>
586
586
  /**
587
587
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
588
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/dynamic-import-chunkname.md
588
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
589
589
  */
590
590
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
591
591
  /**
592
592
  * Forbid any invalid exports, i.e. re-export of the same name.
593
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/export.md
593
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
594
594
  */
595
595
  'import/export'?: Linter.RuleEntry<[]>
596
596
  /**
597
597
  * Ensure all exports appear after other statements.
598
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/exports-last.md
598
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
599
599
  */
600
600
  'import/exports-last'?: Linter.RuleEntry<[]>
601
601
  /**
602
602
  * Ensure consistent use of file extension within the import path.
603
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/extensions.md
603
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
604
604
  */
605
605
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
606
606
  /**
607
607
  * Ensure all imports appear before other statements.
608
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/first.md
608
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
609
609
  */
610
610
  'import/first'?: Linter.RuleEntry<ImportFirst>
611
611
  /**
612
612
  * Prefer named exports to be grouped together in a single export declaration.
613
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/group-exports.md
613
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
614
614
  */
615
615
  'import/group-exports'?: Linter.RuleEntry<[]>
616
616
  /**
617
617
  * Replaced by `import-x/first`.
618
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/imports-first.md
618
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
619
619
  * @deprecated
620
620
  */
621
621
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
622
622
  /**
623
623
  * Enforce the maximum number of dependencies a module can have.
624
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/max-dependencies.md
624
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
625
625
  */
626
626
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
627
627
  /**
628
628
  * Ensure named imports correspond to a named export in the remote file.
629
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/named.md
629
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
630
630
  */
631
631
  'import/named'?: Linter.RuleEntry<ImportNamed>
632
632
  /**
633
633
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
634
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/namespace.md
634
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
635
635
  */
636
636
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
637
637
  /**
638
638
  * Enforce a newline after import statements.
639
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/newline-after-import.md
639
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
640
640
  */
641
641
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
642
642
  /**
643
643
  * Forbid import of modules using absolute paths.
644
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-absolute-path.md
644
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
645
645
  */
646
646
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
647
647
  /**
648
648
  * Forbid AMD `require` and `define` calls.
649
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-amd.md
649
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
650
650
  */
651
651
  'import/no-amd'?: Linter.RuleEntry<[]>
652
652
  /**
653
653
  * Forbid anonymous values as default exports.
654
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-anonymous-default-export.md
654
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
655
655
  */
656
656
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
657
657
  /**
658
658
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
659
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-commonjs.md
659
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
660
660
  */
661
661
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
662
662
  /**
663
663
  * Forbid a module from importing a module with a dependency path back to itself.
664
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-cycle.md
664
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
665
665
  */
666
666
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
667
667
  /**
668
668
  * Forbid default exports.
669
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-default-export.md
669
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
670
670
  */
671
671
  'import/no-default-export'?: Linter.RuleEntry<[]>
672
672
  /**
673
673
  * Forbid imported names marked with `@deprecated` documentation tag.
674
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-deprecated.md
674
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
675
675
  */
676
676
  'import/no-deprecated'?: Linter.RuleEntry<[]>
677
677
  /**
678
678
  * Forbid repeated import of the same module in multiple places.
679
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-duplicates.md
679
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
680
680
  */
681
681
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
682
682
  /**
683
683
  * Forbid `require()` calls with expressions.
684
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-dynamic-require.md
684
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
685
685
  */
686
686
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
687
687
  /**
688
688
  * Forbid empty named import blocks.
689
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-empty-named-blocks.md
689
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
690
690
  */
691
691
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
692
692
  /**
693
693
  * Forbid the use of extraneous packages.
694
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-extraneous-dependencies.md
694
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
695
695
  */
696
696
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
697
697
  /**
698
698
  * Forbid import statements with CommonJS module.exports.
699
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-import-module-exports.md
699
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
700
700
  */
701
701
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
702
702
  /**
703
703
  * Forbid importing the submodules of other modules.
704
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-internal-modules.md
704
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
705
705
  */
706
706
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
707
707
  /**
708
708
  * Forbid the use of mutable exports with `var` or `let`.
709
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-mutable-exports.md
709
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
710
710
  */
711
711
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
712
712
  /**
713
713
  * Forbid use of exported name as identifier of default export.
714
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-as-default.md
714
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
715
715
  */
716
716
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
717
717
  /**
718
718
  * Forbid use of exported name as property of default export.
719
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-as-default-member.md
719
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
720
720
  */
721
721
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
722
722
  /**
723
723
  * Forbid named default exports.
724
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-default.md
724
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
725
725
  */
726
726
  'import/no-named-default'?: Linter.RuleEntry<[]>
727
727
  /**
728
728
  * Forbid named exports.
729
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-named-export.md
729
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
730
730
  */
731
731
  'import/no-named-export'?: Linter.RuleEntry<[]>
732
732
  /**
733
733
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
734
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-namespace.md
734
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
735
735
  */
736
736
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
737
737
  /**
738
738
  * Forbid Node.js builtin modules.
739
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-nodejs-modules.md
739
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
740
740
  */
741
741
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
742
742
  /**
743
743
  * Forbid importing packages through relative paths.
744
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-relative-packages.md
744
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
745
745
  */
746
746
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
747
747
  /**
748
748
  * Forbid importing modules from parent directories.
749
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-relative-parent-imports.md
749
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
750
750
  */
751
751
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
752
752
  /**
753
753
  * Forbid importing a default export by a different name.
754
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-rename-default.md
754
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
755
755
  */
756
756
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
757
757
  /**
758
758
  * Enforce which files can be imported in a given folder.
759
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-restricted-paths.md
759
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
760
760
  */
761
761
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
762
762
  /**
763
763
  * Forbid a module from importing itself.
764
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-self-import.md
764
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
765
765
  */
766
766
  'import/no-self-import'?: Linter.RuleEntry<[]>
767
767
  /**
768
768
  * Forbid unassigned imports.
769
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unassigned-import.md
769
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
770
770
  */
771
771
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
772
772
  /**
773
773
  * Ensure imports point to a file/module that can be resolved.
774
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unresolved.md
774
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
775
775
  */
776
776
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
777
777
  /**
778
778
  * Forbid modules without exports, or exports without matching import in another module.
779
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-unused-modules.md
779
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
780
780
  */
781
781
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
782
782
  /**
783
783
  * Forbid unnecessary path segments in import and require statements.
784
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-useless-path-segments.md
784
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
785
785
  */
786
786
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
787
787
  /**
788
788
  * Forbid webpack loader syntax in imports.
789
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/no-webpack-loader-syntax.md
789
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
790
790
  */
791
791
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
792
792
  /**
793
793
  * Enforce a convention in module import order.
794
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/order.md
794
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
795
795
  */
796
796
  'import/order'?: Linter.RuleEntry<ImportOrder>
797
797
  /**
798
798
  * Prefer a default export if module exports a single name or multiple names.
799
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/prefer-default-export.md
799
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
800
800
  */
801
801
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
802
+ /**
803
+ * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
804
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
805
+ */
806
+ 'import/prefer-namespace-import'?: Linter.RuleEntry<ImportPreferNamespaceImport>
802
807
  /**
803
808
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
804
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.1/docs/rules/unambiguous.md
809
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
805
810
  */
806
811
  'import/unambiguous'?: Linter.RuleEntry<[]>
807
812
  /**
@@ -990,7 +995,7 @@ interface RuleOptions {
990
995
  * disallow unnecessary escape usage
991
996
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
992
997
  */
993
- 'json/no-useless-escape'?: Linter.RuleEntry<[]>
998
+ 'json/no-useless-escape'?: Linter.RuleEntry<JsonNoUselessEscape>
994
999
  /**
995
1000
  * enforce consistent line breaks inside braces
996
1001
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
@@ -1104,11 +1109,31 @@ interface RuleOptions {
1104
1109
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
1105
1110
  */
1106
1111
  'markdown/heading-increment'?: Linter.RuleEntry<[]>
1112
+ /**
1113
+ * Disallow bare URLs
1114
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
1115
+ */
1116
+ 'markdown/no-bare-urls'?: Linter.RuleEntry<[]>
1117
+ /**
1118
+ * Disallow duplicate definitions
1119
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-definitions.md
1120
+ */
1121
+ 'markdown/no-duplicate-definitions'?: Linter.RuleEntry<MarkdownNoDuplicateDefinitions>
1107
1122
  /**
1108
1123
  * Disallow duplicate headings in the same document
1109
1124
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-duplicate-headings.md
1110
1125
  */
1111
- 'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>
1126
+ 'markdown/no-duplicate-headings'?: Linter.RuleEntry<MarkdownNoDuplicateHeadings>
1127
+ /**
1128
+ * Disallow empty definitions
1129
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-definitions.md
1130
+ */
1131
+ 'markdown/no-empty-definitions'?: Linter.RuleEntry<MarkdownNoEmptyDefinitions>
1132
+ /**
1133
+ * Disallow empty images
1134
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-images.md
1135
+ */
1136
+ 'markdown/no-empty-images'?: Linter.RuleEntry<[]>
1112
1137
  /**
1113
1138
  * Disallow empty links
1114
1139
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-links.md
@@ -1124,11 +1149,46 @@ interface RuleOptions {
1124
1149
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-invalid-label-refs.md
1125
1150
  */
1126
1151
  'markdown/no-invalid-label-refs'?: Linter.RuleEntry<[]>
1152
+ /**
1153
+ * Disallow headings without a space after the hash characters
1154
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
1155
+ */
1156
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<[]>
1127
1157
  /**
1128
1158
  * Disallow missing label references
1129
1159
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
1130
1160
  */
1131
1161
  'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>
1162
+ /**
1163
+ * Disallow link fragments that do not reference valid headings
1164
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
1165
+ */
1166
+ 'markdown/no-missing-link-fragments'?: Linter.RuleEntry<MarkdownNoMissingLinkFragments>
1167
+ /**
1168
+ * Disallow multiple H1 headings in the same document
1169
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
1170
+ */
1171
+ 'markdown/no-multiple-h1'?: Linter.RuleEntry<MarkdownNoMultipleH1>
1172
+ /**
1173
+ * Disallow reversed link and image syntax
1174
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
1175
+ */
1176
+ 'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>
1177
+ /**
1178
+ * Disallow unused definitions
1179
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
1180
+ */
1181
+ 'markdown/no-unused-definitions'?: Linter.RuleEntry<MarkdownNoUnusedDefinitions>
1182
+ /**
1183
+ * Require alternative text for images
1184
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/require-alt-text.md
1185
+ */
1186
+ 'markdown/require-alt-text'?: Linter.RuleEntry<[]>
1187
+ /**
1188
+ * Disallow data rows in a GitHub Flavored Markdown table from having more cells than the header row
1189
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/table-column-count.md
1190
+ */
1191
+ 'markdown/table-column-count'?: Linter.RuleEntry<MarkdownTableColumnCount>
1132
1192
  /**
1133
1193
  * Enforce a maximum number of classes per file
1134
1194
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -1291,7 +1351,7 @@ interface RuleOptions {
1291
1351
  */
1292
1352
  'no-console'?: Linter.RuleEntry<NoConsole>
1293
1353
  /**
1294
- * Disallow reassigning `const` variables
1354
+ * Disallow reassigning `const`, `using`, and `await using` variables
1295
1355
  * @see https://eslint.org/docs/latest/rules/no-const-assign
1296
1356
  */
1297
1357
  'no-const-assign'?: Linter.RuleEntry<[]>
@@ -1857,6 +1917,11 @@ interface RuleOptions {
1857
1917
  * @deprecated
1858
1918
  */
1859
1919
  'no-trailing-spaces'?: Linter.RuleEntry<NoTrailingSpaces>
1920
+ /**
1921
+ * Disallow `let` or `var` variables that are read but never assigned
1922
+ * @see https://eslint.org/docs/latest/rules/no-unassigned-vars
1923
+ */
1924
+ 'no-unassigned-vars'?: Linter.RuleEntry<[]>
1860
1925
  /**
1861
1926
  * Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments
1862
1927
  * @see https://eslint.org/docs/latest/rules/no-undef
@@ -1981,7 +2046,7 @@ interface RuleOptions {
1981
2046
  * Disallow unnecessary escape characters
1982
2047
  * @see https://eslint.org/docs/latest/rules/no-useless-escape
1983
2048
  */
1984
- 'no-useless-escape'?: Linter.RuleEntry<[]>
2049
+ 'no-useless-escape'?: Linter.RuleEntry<NoUselessEscape>
1985
2050
  /**
1986
2051
  * Disallow renaming import, export, and destructured assignments to the same name
1987
2052
  * @see https://eslint.org/docs/latest/rules/no-useless-rename
@@ -2129,6 +2194,11 @@ interface RuleOptions {
2129
2194
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-sync.md
2130
2195
  */
2131
2196
  'node/no-sync'?: Linter.RuleEntry<NodeNoSync>
2197
+ /**
2198
+ * disallow top-level `await` in published modules
2199
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-top-level-await.md
2200
+ */
2201
+ 'node/no-top-level-await'?: Linter.RuleEntry<NodeNoTopLevelAwait>
2132
2202
  /**
2133
2203
  * disallow `bin` files that npm ignores
2134
2204
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md
@@ -3101,483 +3171,478 @@ interface RuleOptions {
3101
3171
  'strict'?: Linter.RuleEntry<Strict>
3102
3172
  /**
3103
3173
  * Enforce linebreaks after opening and before closing array brackets
3104
- * @see https://eslint.style/rules/js/array-bracket-newline
3174
+ * @see https://eslint.style/rules/array-bracket-newline
3105
3175
  */
3106
3176
  'style/array-bracket-newline'?: Linter.RuleEntry<StyleArrayBracketNewline>
3107
3177
  /**
3108
3178
  * Enforce consistent spacing inside array brackets
3109
- * @see https://eslint.style/rules/js/array-bracket-spacing
3179
+ * @see https://eslint.style/rules/array-bracket-spacing
3110
3180
  */
3111
3181
  'style/array-bracket-spacing'?: Linter.RuleEntry<StyleArrayBracketSpacing>
3112
3182
  /**
3113
3183
  * Enforce line breaks after each array element
3114
- * @see https://eslint.style/rules/js/array-element-newline
3184
+ * @see https://eslint.style/rules/array-element-newline
3115
3185
  */
3116
3186
  'style/array-element-newline'?: Linter.RuleEntry<StyleArrayElementNewline>
3117
3187
  /**
3118
3188
  * Require parentheses around arrow function arguments
3119
- * @see https://eslint.style/rules/js/arrow-parens
3189
+ * @see https://eslint.style/rules/arrow-parens
3120
3190
  */
3121
3191
  'style/arrow-parens'?: Linter.RuleEntry<StyleArrowParens>
3122
3192
  /**
3123
3193
  * Enforce consistent spacing before and after the arrow in arrow functions
3124
- * @see https://eslint.style/rules/js/arrow-spacing
3194
+ * @see https://eslint.style/rules/arrow-spacing
3125
3195
  */
3126
3196
  'style/arrow-spacing'?: Linter.RuleEntry<StyleArrowSpacing>
3127
3197
  /**
3128
3198
  * Disallow or enforce spaces inside of blocks after opening block and before closing block
3129
- * @see https://eslint.style/rules/ts/block-spacing
3199
+ * @see https://eslint.style/rules/block-spacing
3130
3200
  */
3131
3201
  'style/block-spacing'?: Linter.RuleEntry<StyleBlockSpacing>
3132
3202
  /**
3133
3203
  * Enforce consistent brace style for blocks
3134
- * @see https://eslint.style/rules/ts/brace-style
3204
+ * @see https://eslint.style/rules/brace-style
3135
3205
  */
3136
3206
  'style/brace-style'?: Linter.RuleEntry<StyleBraceStyle>
3137
3207
  /**
3138
3208
  * Require or disallow trailing commas
3139
- * @see https://eslint.style/rules/ts/comma-dangle
3209
+ * @see https://eslint.style/rules/comma-dangle
3140
3210
  */
3141
3211
  'style/comma-dangle'?: Linter.RuleEntry<StyleCommaDangle>
3142
3212
  /**
3143
3213
  * Enforce consistent spacing before and after commas
3144
- * @see https://eslint.style/rules/ts/comma-spacing
3214
+ * @see https://eslint.style/rules/comma-spacing
3145
3215
  */
3146
3216
  'style/comma-spacing'?: Linter.RuleEntry<StyleCommaSpacing>
3147
3217
  /**
3148
3218
  * Enforce consistent comma style
3149
- * @see https://eslint.style/rules/js/comma-style
3219
+ * @see https://eslint.style/rules/comma-style
3150
3220
  */
3151
3221
  'style/comma-style'?: Linter.RuleEntry<StyleCommaStyle>
3152
3222
  /**
3153
3223
  * Enforce consistent spacing inside computed property brackets
3154
- * @see https://eslint.style/rules/js/computed-property-spacing
3224
+ * @see https://eslint.style/rules/computed-property-spacing
3155
3225
  */
3156
3226
  'style/computed-property-spacing'?: Linter.RuleEntry<StyleComputedPropertySpacing>
3157
3227
  /**
3158
3228
  * Enforce consistent line breaks after opening and before closing braces
3159
- * @see https://eslint.style/rules/plus/curly-newline
3229
+ * @see https://eslint.style/rules/curly-newline
3160
3230
  */
3161
3231
  'style/curly-newline'?: Linter.RuleEntry<StyleCurlyNewline>
3162
3232
  /**
3163
3233
  * Enforce consistent newlines before and after dots
3164
- * @see https://eslint.style/rules/js/dot-location
3234
+ * @see https://eslint.style/rules/dot-location
3165
3235
  */
3166
3236
  'style/dot-location'?: Linter.RuleEntry<StyleDotLocation>
3167
3237
  /**
3168
3238
  * Require or disallow newline at the end of files
3169
- * @see https://eslint.style/rules/js/eol-last
3239
+ * @see https://eslint.style/rules/eol-last
3170
3240
  */
3171
3241
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>
3172
- /**
3173
- * Require or disallow spacing between function identifiers and their invocations
3174
- * @see https://eslint.style/rules/ts/function-call-spacing
3175
- */
3176
- 'style/func-call-spacing'?: Linter.RuleEntry<StyleFuncCallSpacing>
3177
3242
  /**
3178
3243
  * Enforce line breaks between arguments of a function call
3179
- * @see https://eslint.style/rules/js/function-call-argument-newline
3244
+ * @see https://eslint.style/rules/function-call-argument-newline
3180
3245
  */
3181
3246
  'style/function-call-argument-newline'?: Linter.RuleEntry<StyleFunctionCallArgumentNewline>
3182
3247
  /**
3183
3248
  * Require or disallow spacing between function identifiers and their invocations
3184
- * @see https://eslint.style/rules/ts/function-call-spacing
3249
+ * @see https://eslint.style/rules/function-call-spacing
3185
3250
  */
3186
3251
  'style/function-call-spacing'?: Linter.RuleEntry<StyleFunctionCallSpacing>
3187
3252
  /**
3188
3253
  * Enforce consistent line breaks inside function parentheses
3189
- * @see https://eslint.style/rules/js/function-paren-newline
3254
+ * @see https://eslint.style/rules/function-paren-newline
3190
3255
  */
3191
3256
  'style/function-paren-newline'?: Linter.RuleEntry<StyleFunctionParenNewline>
3192
3257
  /**
3193
3258
  * Enforce consistent spacing around `*` operators in generator functions
3194
- * @see https://eslint.style/rules/js/generator-star-spacing
3259
+ * @see https://eslint.style/rules/generator-star-spacing
3195
3260
  */
3196
3261
  'style/generator-star-spacing'?: Linter.RuleEntry<StyleGeneratorStarSpacing>
3197
3262
  /**
3198
3263
  * Enforce the location of arrow function bodies
3199
- * @see https://eslint.style/rules/js/implicit-arrow-linebreak
3264
+ * @see https://eslint.style/rules/implicit-arrow-linebreak
3200
3265
  */
3201
3266
  'style/implicit-arrow-linebreak'?: Linter.RuleEntry<StyleImplicitArrowLinebreak>
3202
3267
  /**
3203
3268
  * Enforce consistent indentation
3204
- * @see https://eslint.style/rules/ts/indent
3269
+ * @see https://eslint.style/rules/indent
3205
3270
  */
3206
3271
  'style/indent'?: Linter.RuleEntry<StyleIndent>
3207
3272
  /**
3208
3273
  * Indentation for binary operators
3209
- * @see https://eslint.style/rules/plus/indent-binary-ops
3274
+ * @see https://eslint.style/rules/indent-binary-ops
3210
3275
  */
3211
3276
  'style/indent-binary-ops'?: Linter.RuleEntry<StyleIndentBinaryOps>
3212
3277
  /**
3213
3278
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3214
- * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
3279
+ * @see https://eslint.style/rules/jsx-child-element-spacing
3215
3280
  */
3216
3281
  'style/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
3217
3282
  /**
3218
3283
  * Enforce closing bracket location in JSX
3219
- * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
3284
+ * @see https://eslint.style/rules/jsx-closing-bracket-location
3220
3285
  */
3221
3286
  'style/jsx-closing-bracket-location'?: Linter.RuleEntry<StyleJsxClosingBracketLocation>
3222
3287
  /**
3223
3288
  * Enforce closing tag location for multiline JSX
3224
- * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
3289
+ * @see https://eslint.style/rules/jsx-closing-tag-location
3225
3290
  */
3226
3291
  'style/jsx-closing-tag-location'?: Linter.RuleEntry<StyleJsxClosingTagLocation>
3227
3292
  /**
3228
3293
  * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
3229
- * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
3294
+ * @see https://eslint.style/rules/jsx-curly-brace-presence
3230
3295
  */
3231
3296
  'style/jsx-curly-brace-presence'?: Linter.RuleEntry<StyleJsxCurlyBracePresence>
3232
3297
  /**
3233
3298
  * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
3234
- * @see https://eslint.style/rules/jsx/jsx-curly-newline
3299
+ * @see https://eslint.style/rules/jsx-curly-newline
3235
3300
  */
3236
3301
  'style/jsx-curly-newline'?: Linter.RuleEntry<StyleJsxCurlyNewline>
3237
3302
  /**
3238
3303
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3239
- * @see https://eslint.style/rules/jsx/jsx-curly-spacing
3304
+ * @see https://eslint.style/rules/jsx-curly-spacing
3240
3305
  */
3241
3306
  'style/jsx-curly-spacing'?: Linter.RuleEntry<StyleJsxCurlySpacing>
3242
3307
  /**
3243
3308
  * Enforce or disallow spaces around equal signs in JSX attributes
3244
- * @see https://eslint.style/rules/jsx/jsx-equals-spacing
3309
+ * @see https://eslint.style/rules/jsx-equals-spacing
3245
3310
  */
3246
3311
  'style/jsx-equals-spacing'?: Linter.RuleEntry<StyleJsxEqualsSpacing>
3247
3312
  /**
3248
3313
  * Enforce proper position of the first property in JSX
3249
- * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3314
+ * @see https://eslint.style/rules/jsx-first-prop-new-line
3250
3315
  */
3251
3316
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
3252
3317
  /**
3253
3318
  * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3254
- * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3319
+ * @see https://eslint.style/rules/jsx-function-call-newline
3255
3320
  */
3256
3321
  'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
3257
3322
  /**
3258
3323
  * Enforce JSX indentation. Deprecated, use `indent` rule instead.
3259
- * @see https://eslint.style/rules/jsx/jsx-indent
3324
+ * @see https://eslint.style/rules/jsx-indent
3260
3325
  * @deprecated
3261
3326
  */
3262
3327
  'style/jsx-indent'?: Linter.RuleEntry<StyleJsxIndent>
3263
3328
  /**
3264
3329
  * Enforce props indentation in JSX
3265
- * @see https://eslint.style/rules/jsx/jsx-indent-props
3330
+ * @see https://eslint.style/rules/jsx-indent-props
3266
3331
  */
3267
3332
  'style/jsx-indent-props'?: Linter.RuleEntry<StyleJsxIndentProps>
3268
3333
  /**
3269
3334
  * Enforce maximum of props on a single line in JSX
3270
- * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
3335
+ * @see https://eslint.style/rules/jsx-max-props-per-line
3271
3336
  */
3272
3337
  'style/jsx-max-props-per-line'?: Linter.RuleEntry<StyleJsxMaxPropsPerLine>
3273
3338
  /**
3274
3339
  * Require or prevent a new line after jsx elements and expressions.
3275
- * @see https://eslint.style/rules/jsx/jsx-newline
3340
+ * @see https://eslint.style/rules/jsx-newline
3276
3341
  */
3277
3342
  'style/jsx-newline'?: Linter.RuleEntry<StyleJsxNewline>
3278
3343
  /**
3279
3344
  * Require one JSX element per line
3280
- * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
3345
+ * @see https://eslint.style/rules/jsx-one-expression-per-line
3281
3346
  */
3282
3347
  'style/jsx-one-expression-per-line'?: Linter.RuleEntry<StyleJsxOneExpressionPerLine>
3283
3348
  /**
3284
3349
  * Enforce PascalCase for user-defined JSX components
3285
- * @see https://eslint.style/rules/jsx/jsx-pascal-case
3350
+ * @see https://eslint.style/rules/jsx-pascal-case
3286
3351
  */
3287
3352
  'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>
3288
3353
  /**
3289
3354
  * Disallow multiple spaces between inline JSX props
3290
- * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
3355
+ * @see https://eslint.style/rules/jsx-props-no-multi-spaces
3291
3356
  */
3292
3357
  'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
3293
3358
  /**
3294
3359
  * Enforce the consistent use of either double or single quotes in JSX attributes
3295
- * @see https://eslint.style/rules/js/jsx-quotes
3360
+ * @see https://eslint.style/rules/jsx-quotes
3296
3361
  */
3297
3362
  'style/jsx-quotes'?: Linter.RuleEntry<StyleJsxQuotes>
3298
3363
  /**
3299
3364
  * Disallow extra closing tags for components without children
3300
- * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
3365
+ * @see https://eslint.style/rules/jsx-self-closing-comp
3301
3366
  */
3302
3367
  'style/jsx-self-closing-comp'?: Linter.RuleEntry<StyleJsxSelfClosingComp>
3303
3368
  /**
3304
3369
  * Enforce props alphabetical sorting
3305
- * @see https://eslint.style/rules/jsx/jsx-sort-props
3370
+ * @see https://eslint.style/rules/jsx-sort-props
3306
3371
  */
3307
3372
  'style/jsx-sort-props'?: Linter.RuleEntry<StyleJsxSortProps>
3308
3373
  /**
3309
3374
  * Enforce whitespace in and around the JSX opening and closing brackets
3310
- * @see https://eslint.style/rules/jsx/jsx-tag-spacing
3375
+ * @see https://eslint.style/rules/jsx-tag-spacing
3311
3376
  */
3312
3377
  'style/jsx-tag-spacing'?: Linter.RuleEntry<StyleJsxTagSpacing>
3313
3378
  /**
3314
3379
  * Disallow missing parentheses around multiline JSX
3315
- * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
3380
+ * @see https://eslint.style/rules/jsx-wrap-multilines
3316
3381
  */
3317
3382
  'style/jsx-wrap-multilines'?: Linter.RuleEntry<StyleJsxWrapMultilines>
3318
3383
  /**
3319
3384
  * Enforce consistent spacing between property names and type annotations in types and interfaces
3320
- * @see https://eslint.style/rules/ts/key-spacing
3385
+ * @see https://eslint.style/rules/key-spacing
3321
3386
  */
3322
3387
  'style/key-spacing'?: Linter.RuleEntry<StyleKeySpacing>
3323
3388
  /**
3324
3389
  * Enforce consistent spacing before and after keywords
3325
- * @see https://eslint.style/rules/ts/keyword-spacing
3390
+ * @see https://eslint.style/rules/keyword-spacing
3326
3391
  */
3327
3392
  'style/keyword-spacing'?: Linter.RuleEntry<StyleKeywordSpacing>
3328
3393
  /**
3329
3394
  * Enforce position of line comments
3330
- * @see https://eslint.style/rules/js/line-comment-position
3395
+ * @see https://eslint.style/rules/line-comment-position
3331
3396
  */
3332
3397
  'style/line-comment-position'?: Linter.RuleEntry<StyleLineCommentPosition>
3333
3398
  /**
3334
3399
  * Enforce consistent linebreak style
3335
- * @see https://eslint.style/rules/js/linebreak-style
3400
+ * @see https://eslint.style/rules/linebreak-style
3336
3401
  */
3337
3402
  'style/linebreak-style'?: Linter.RuleEntry<StyleLinebreakStyle>
3338
3403
  /**
3339
3404
  * Require empty lines around comments
3340
- * @see https://eslint.style/rules/ts/lines-around-comment
3405
+ * @see https://eslint.style/rules/lines-around-comment
3341
3406
  */
3342
3407
  'style/lines-around-comment'?: Linter.RuleEntry<StyleLinesAroundComment>
3343
3408
  /**
3344
3409
  * Require or disallow an empty line between class members
3345
- * @see https://eslint.style/rules/ts/lines-between-class-members
3410
+ * @see https://eslint.style/rules/lines-between-class-members
3346
3411
  */
3347
3412
  'style/lines-between-class-members'?: Linter.RuleEntry<StyleLinesBetweenClassMembers>
3348
3413
  /**
3349
3414
  * Enforce a maximum line length
3350
- * @see https://eslint.style/rules/js/max-len
3415
+ * @see https://eslint.style/rules/max-len
3351
3416
  */
3352
3417
  'style/max-len'?: Linter.RuleEntry<StyleMaxLen>
3353
3418
  /**
3354
3419
  * Enforce a maximum number of statements allowed per line
3355
- * @see https://eslint.style/rules/js/max-statements-per-line
3420
+ * @see https://eslint.style/rules/max-statements-per-line
3356
3421
  */
3357
3422
  'style/max-statements-per-line'?: Linter.RuleEntry<StyleMaxStatementsPerLine>
3358
3423
  /**
3359
3424
  * Require a specific member delimiter style for interfaces and type literals
3360
- * @see https://eslint.style/rules/ts/member-delimiter-style
3425
+ * @see https://eslint.style/rules/member-delimiter-style
3361
3426
  */
3362
3427
  'style/member-delimiter-style'?: Linter.RuleEntry<StyleMemberDelimiterStyle>
3363
3428
  /**
3364
3429
  * Enforce a particular style for multiline comments
3365
- * @see https://eslint.style/rules/js/multiline-comment-style
3430
+ * @see https://eslint.style/rules/multiline-comment-style
3366
3431
  */
3367
3432
  'style/multiline-comment-style'?: Linter.RuleEntry<StyleMultilineCommentStyle>
3368
3433
  /**
3369
3434
  * Enforce newlines between operands of ternary expressions
3370
- * @see https://eslint.style/rules/js/multiline-ternary
3435
+ * @see https://eslint.style/rules/multiline-ternary
3371
3436
  */
3372
3437
  'style/multiline-ternary'?: Linter.RuleEntry<StyleMultilineTernary>
3373
3438
  /**
3374
3439
  * Enforce or disallow parentheses when invoking a constructor with no arguments
3375
- * @see https://eslint.style/rules/js/new-parens
3440
+ * @see https://eslint.style/rules/new-parens
3376
3441
  */
3377
3442
  'style/new-parens'?: Linter.RuleEntry<StyleNewParens>
3378
3443
  /**
3379
3444
  * Require a newline after each call in a method chain
3380
- * @see https://eslint.style/rules/js/newline-per-chained-call
3445
+ * @see https://eslint.style/rules/newline-per-chained-call
3381
3446
  */
3382
3447
  'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>
3383
3448
  /**
3384
3449
  * Disallow arrow functions where they could be confused with comparisons
3385
- * @see https://eslint.style/rules/js/no-confusing-arrow
3450
+ * @see https://eslint.style/rules/no-confusing-arrow
3386
3451
  */
3387
3452
  'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>
3388
3453
  /**
3389
3454
  * Disallow unnecessary parentheses
3390
- * @see https://eslint.style/rules/ts/no-extra-parens
3455
+ * @see https://eslint.style/rules/no-extra-parens
3391
3456
  */
3392
3457
  'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>
3393
3458
  /**
3394
3459
  * Disallow unnecessary semicolons
3395
- * @see https://eslint.style/rules/ts/no-extra-semi
3460
+ * @see https://eslint.style/rules/no-extra-semi
3396
3461
  */
3397
3462
  'style/no-extra-semi'?: Linter.RuleEntry<[]>
3398
3463
  /**
3399
3464
  * Disallow leading or trailing decimal points in numeric literals
3400
- * @see https://eslint.style/rules/js/no-floating-decimal
3465
+ * @see https://eslint.style/rules/no-floating-decimal
3401
3466
  */
3402
3467
  'style/no-floating-decimal'?: Linter.RuleEntry<[]>
3403
3468
  /**
3404
3469
  * Disallow mixed binary operators
3405
- * @see https://eslint.style/rules/js/no-mixed-operators
3470
+ * @see https://eslint.style/rules/no-mixed-operators
3406
3471
  */
3407
3472
  'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>
3408
3473
  /**
3409
3474
  * Disallow mixed spaces and tabs for indentation
3410
- * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
3475
+ * @see https://eslint.style/rules/no-mixed-spaces-and-tabs
3411
3476
  */
3412
3477
  'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>
3413
3478
  /**
3414
3479
  * Disallow multiple spaces
3415
- * @see https://eslint.style/rules/js/no-multi-spaces
3480
+ * @see https://eslint.style/rules/no-multi-spaces
3416
3481
  */
3417
3482
  'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>
3418
3483
  /**
3419
3484
  * Disallow multiple empty lines
3420
- * @see https://eslint.style/rules/js/no-multiple-empty-lines
3485
+ * @see https://eslint.style/rules/no-multiple-empty-lines
3421
3486
  */
3422
3487
  'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>
3423
3488
  /**
3424
3489
  * Disallow all tabs
3425
- * @see https://eslint.style/rules/js/no-tabs
3490
+ * @see https://eslint.style/rules/no-tabs
3426
3491
  */
3427
3492
  'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>
3428
3493
  /**
3429
3494
  * Disallow trailing whitespace at the end of lines
3430
- * @see https://eslint.style/rules/js/no-trailing-spaces
3495
+ * @see https://eslint.style/rules/no-trailing-spaces
3431
3496
  */
3432
3497
  'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3433
3498
  /**
3434
3499
  * Disallow whitespace before properties
3435
- * @see https://eslint.style/rules/js/no-whitespace-before-property
3500
+ * @see https://eslint.style/rules/no-whitespace-before-property
3436
3501
  */
3437
3502
  'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3438
3503
  /**
3439
3504
  * Enforce the location of single-line statements
3440
- * @see https://eslint.style/rules/js/nonblock-statement-body-position
3505
+ * @see https://eslint.style/rules/nonblock-statement-body-position
3441
3506
  */
3442
3507
  'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3443
3508
  /**
3444
3509
  * Enforce consistent line breaks after opening and before closing braces
3445
- * @see https://eslint.style/rules/ts/object-curly-newline
3510
+ * @see https://eslint.style/rules/object-curly-newline
3446
3511
  */
3447
3512
  'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3448
3513
  /**
3449
3514
  * Enforce consistent spacing inside braces
3450
- * @see https://eslint.style/rules/ts/object-curly-spacing
3515
+ * @see https://eslint.style/rules/object-curly-spacing
3451
3516
  */
3452
3517
  'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3453
3518
  /**
3454
3519
  * Enforce placing object properties on separate lines
3455
- * @see https://eslint.style/rules/ts/object-property-newline
3520
+ * @see https://eslint.style/rules/object-property-newline
3456
3521
  */
3457
3522
  'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3458
3523
  /**
3459
3524
  * Require or disallow newlines around variable declarations
3460
- * @see https://eslint.style/rules/js/one-var-declaration-per-line
3525
+ * @see https://eslint.style/rules/one-var-declaration-per-line
3461
3526
  */
3462
3527
  'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3463
3528
  /**
3464
3529
  * Enforce consistent linebreak style for operators
3465
- * @see https://eslint.style/rules/js/operator-linebreak
3530
+ * @see https://eslint.style/rules/operator-linebreak
3466
3531
  */
3467
3532
  'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3468
3533
  /**
3469
3534
  * Require or disallow padding within blocks
3470
- * @see https://eslint.style/rules/js/padded-blocks
3535
+ * @see https://eslint.style/rules/padded-blocks
3471
3536
  */
3472
3537
  'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3473
3538
  /**
3474
3539
  * Require or disallow padding lines between statements
3475
- * @see https://eslint.style/rules/ts/padding-line-between-statements
3540
+ * @see https://eslint.style/rules/padding-line-between-statements
3476
3541
  */
3477
3542
  'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3478
3543
  /**
3479
3544
  * Require quotes around object literal, type literal, interfaces and enums property names
3480
- * @see https://eslint.style/rules/ts/quote-props
3545
+ * @see https://eslint.style/rules/quote-props
3481
3546
  */
3482
3547
  'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3483
3548
  /**
3484
3549
  * Enforce the consistent use of either backticks, double, or single quotes
3485
- * @see https://eslint.style/rules/ts/quotes
3550
+ * @see https://eslint.style/rules/quotes
3486
3551
  */
3487
3552
  'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3488
3553
  /**
3489
3554
  * Enforce spacing between rest and spread operators and their expressions
3490
- * @see https://eslint.style/rules/js/rest-spread-spacing
3555
+ * @see https://eslint.style/rules/rest-spread-spacing
3491
3556
  */
3492
3557
  'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3493
3558
  /**
3494
3559
  * Require or disallow semicolons instead of ASI
3495
- * @see https://eslint.style/rules/ts/semi
3560
+ * @see https://eslint.style/rules/semi
3496
3561
  */
3497
3562
  'style/semi'?: Linter.RuleEntry<StyleSemi>
3498
3563
  /**
3499
3564
  * Enforce consistent spacing before and after semicolons
3500
- * @see https://eslint.style/rules/ts/semi-spacing
3565
+ * @see https://eslint.style/rules/semi-spacing
3501
3566
  */
3502
3567
  'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3503
3568
  /**
3504
3569
  * Enforce location of semicolons
3505
- * @see https://eslint.style/rules/js/semi-style
3570
+ * @see https://eslint.style/rules/semi-style
3506
3571
  */
3507
3572
  'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3508
3573
  /**
3509
3574
  * Enforce consistent spacing before blocks
3510
- * @see https://eslint.style/rules/ts/space-before-blocks
3575
+ * @see https://eslint.style/rules/space-before-blocks
3511
3576
  */
3512
3577
  'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3513
3578
  /**
3514
3579
  * Enforce consistent spacing before function parenthesis
3515
- * @see https://eslint.style/rules/ts/space-before-function-paren
3580
+ * @see https://eslint.style/rules/space-before-function-paren
3516
3581
  */
3517
3582
  'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3518
3583
  /**
3519
3584
  * Enforce consistent spacing inside parentheses
3520
- * @see https://eslint.style/rules/js/space-in-parens
3585
+ * @see https://eslint.style/rules/space-in-parens
3521
3586
  */
3522
3587
  'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3523
3588
  /**
3524
3589
  * Require spacing around infix operators
3525
- * @see https://eslint.style/rules/ts/space-infix-ops
3590
+ * @see https://eslint.style/rules/space-infix-ops
3526
3591
  */
3527
3592
  'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3528
3593
  /**
3529
3594
  * Enforce consistent spacing before or after unary operators
3530
- * @see https://eslint.style/rules/js/space-unary-ops
3595
+ * @see https://eslint.style/rules/space-unary-ops
3531
3596
  */
3532
3597
  'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3533
3598
  /**
3534
3599
  * Enforce consistent spacing after the `//` or `/*` in a comment
3535
- * @see https://eslint.style/rules/js/spaced-comment
3600
+ * @see https://eslint.style/rules/spaced-comment
3536
3601
  */
3537
3602
  'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3538
3603
  /**
3539
3604
  * Enforce spacing around colons of switch statements
3540
- * @see https://eslint.style/rules/js/switch-colon-spacing
3605
+ * @see https://eslint.style/rules/switch-colon-spacing
3541
3606
  */
3542
3607
  'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3543
3608
  /**
3544
3609
  * Require or disallow spacing around embedded expressions of template strings
3545
- * @see https://eslint.style/rules/js/template-curly-spacing
3610
+ * @see https://eslint.style/rules/template-curly-spacing
3546
3611
  */
3547
3612
  'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3548
3613
  /**
3549
3614
  * Require or disallow spacing between template tags and their literals
3550
- * @see https://eslint.style/rules/js/template-tag-spacing
3615
+ * @see https://eslint.style/rules/template-tag-spacing
3551
3616
  */
3552
3617
  'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
3553
3618
  /**
3554
3619
  * Require consistent spacing around type annotations
3555
- * @see https://eslint.style/rules/ts/type-annotation-spacing
3620
+ * @see https://eslint.style/rules/type-annotation-spacing
3556
3621
  */
3557
3622
  'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
3558
3623
  /**
3559
3624
  * Enforces consistent spacing inside TypeScript type generics
3560
- * @see https://eslint.style/rules/plus/type-generic-spacing
3625
+ * @see https://eslint.style/rules/type-generic-spacing
3561
3626
  */
3562
3627
  'style/type-generic-spacing'?: Linter.RuleEntry<[]>
3563
3628
  /**
3564
3629
  * Expect space before the type declaration in the named tuple
3565
- * @see https://eslint.style/rules/plus/type-named-tuple-spacing
3630
+ * @see https://eslint.style/rules/type-named-tuple-spacing
3566
3631
  */
3567
3632
  'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
3568
3633
  /**
3569
3634
  * Require parentheses around immediate `function` invocations
3570
- * @see https://eslint.style/rules/js/wrap-iife
3635
+ * @see https://eslint.style/rules/wrap-iife
3571
3636
  */
3572
3637
  'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
3573
3638
  /**
3574
3639
  * Require parenthesis around regex literals
3575
- * @see https://eslint.style/rules/js/wrap-regex
3640
+ * @see https://eslint.style/rules/wrap-regex
3576
3641
  */
3577
3642
  'style/wrap-regex'?: Linter.RuleEntry<[]>
3578
3643
  /**
3579
3644
  * Require or disallow spacing around the `*` in `yield*` expressions
3580
- * @see https://eslint.style/rules/js/yield-star-spacing
3645
+ * @see https://eslint.style/rules/yield-star-spacing
3581
3646
  */
3582
3647
  'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
3583
3648
  /**
@@ -4247,6 +4312,7 @@ interface RuleOptions {
4247
4312
  /**
4248
4313
  * Require type annotations in certain places
4249
4314
  * @see https://typescript-eslint.io/rules/typedef
4315
+ * @deprecated
4250
4316
  */
4251
4317
  'typescript/typedef'?: Linter.RuleEntry<TypescriptTypedef>
4252
4318
  /**
@@ -4271,670 +4337,690 @@ interface RuleOptions {
4271
4337
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
4272
4338
  /**
4273
4339
  * Improve regexes by making them shorter, consistent, and safer.
4274
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
4340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
4275
4341
  */
4276
4342
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
4277
4343
  /**
4278
4344
  * Enforce a specific parameter name in catch clauses.
4279
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
4345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
4280
4346
  */
4281
4347
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
4282
4348
  /**
4283
4349
  * Enforce consistent assertion style with `node:assert`.
4284
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
4350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
4285
4351
  */
4286
4352
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
4287
4353
  /**
4288
4354
  * Prefer passing `Date` directly to the constructor when cloning.
4289
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
4355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
4290
4356
  */
4291
4357
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
4292
4358
  /**
4293
4359
  * Use destructured variables over properties.
4294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
4360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
4295
4361
  */
4296
4362
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
4297
4363
  /**
4298
4364
  * Prefer consistent types when spreading a ternary in an array literal.
4299
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
4365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
4300
4366
  */
4301
4367
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
4302
4368
  /**
4303
4369
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
4304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
4370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
4305
4371
  */
4306
4372
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
4307
4373
  /**
4308
4374
  * Move function definitions to the highest possible scope.
4309
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
4375
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
4310
4376
  */
4311
4377
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
4312
4378
  /**
4313
4379
  * Enforce correct `Error` subclassing.
4314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
4380
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
4315
4381
  */
4316
4382
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
4317
4383
  /**
4318
4384
  * Enforce no spaces between braces.
4319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
4385
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
4320
4386
  */
4321
4387
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
4322
4388
  /**
4323
4389
  * Enforce passing a `message` value when creating a built-in error.
4324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
4390
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
4325
4391
  */
4326
4392
  'unicorn/error-message'?: Linter.RuleEntry<[]>
4327
4393
  /**
4328
4394
  * Require escape sequences to use uppercase or lowercase values.
4329
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
4395
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
4330
4396
  */
4331
4397
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
4332
4398
  /**
4333
4399
  * Add expiration conditions to TODO comments.
4334
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
4400
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
4335
4401
  */
4336
4402
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
4337
4403
  /**
4338
4404
  * Enforce explicitly comparing the `length` or `size` property of a value.
4339
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
4405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
4340
4406
  */
4341
4407
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
4342
4408
  /**
4343
4409
  * Enforce a case style for filenames.
4344
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
4410
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
4345
4411
  */
4346
4412
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
4347
4413
  /**
4348
4414
  * Enforce specific import styles per module.
4349
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
4415
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
4350
4416
  */
4351
4417
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
4352
4418
  /**
4353
4419
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
4354
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
4420
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
4355
4421
  */
4356
4422
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
4357
4423
  /**
4358
4424
  * Enforce specifying rules to disable in `eslint-disable` comments.
4359
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
4425
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
4360
4426
  */
4361
4427
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
4362
4428
  /**
4363
4429
  * Disallow recursive access to `this` within getters and setters.
4364
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
4430
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
4365
4431
  */
4366
4432
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
4367
4433
  /**
4368
4434
  * Disallow anonymous functions and classes as the default export.
4369
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
4435
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
4370
4436
  */
4371
4437
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
4372
4438
  /**
4373
4439
  * Prevent passing a function reference directly to iterator methods.
4374
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
4440
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
4375
4441
  */
4376
4442
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
4377
4443
  /**
4378
4444
  * Prefer `for…of` over the `forEach` method.
4379
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
4445
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
4380
4446
  */
4381
4447
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
4382
4448
  /**
4383
4449
  * Disallow using the `this` argument in array methods.
4384
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
4450
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
4385
4451
  */
4386
4452
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
4387
4453
  /**
4388
4454
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
4389
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
4455
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
4390
4456
  * @deprecated
4391
4457
  */
4392
4458
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
4393
4459
  /**
4394
4460
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
4395
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
4461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
4396
4462
  */
4397
4463
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
4464
+ /**
4465
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
4466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
4467
+ */
4468
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
4398
4469
  /**
4399
4470
  * Disallow member access from await expression.
4400
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
4471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
4401
4472
  */
4402
4473
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
4403
4474
  /**
4404
4475
  * Disallow using `await` in `Promise` method parameters.
4405
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
4476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
4406
4477
  */
4407
4478
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
4408
4479
  /**
4409
4480
  * Do not use leading/trailing space between `console.log` parameters.
4410
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
4481
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
4411
4482
  */
4412
4483
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
4413
4484
  /**
4414
4485
  * Do not use `document.cookie` directly.
4415
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
4486
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
4416
4487
  */
4417
4488
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
4418
4489
  /**
4419
4490
  * Disallow empty files.
4420
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
4491
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
4421
4492
  */
4422
4493
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
4423
4494
  /**
4424
4495
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
4425
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
4496
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
4426
4497
  */
4427
4498
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
4428
4499
  /**
4429
4500
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
4430
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
4501
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
4431
4502
  */
4432
4503
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
4433
4504
  /**
4434
4505
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
4435
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
4506
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
4436
4507
  * @deprecated
4437
4508
  */
4438
4509
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
4439
4510
  /**
4440
4511
  * Disallow `instanceof` with built-in objects
4441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
4512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
4442
4513
  */
4443
4514
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
4444
4515
  /**
4445
4516
  * Disallow invalid options in `fetch()` and `new Request()`.
4446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
4517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
4447
4518
  */
4448
4519
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
4449
4520
  /**
4450
4521
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
4451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
4522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
4452
4523
  */
4453
4524
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
4454
4525
  /**
4455
4526
  * Disallow identifiers starting with `new` or `class`.
4456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
4527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
4457
4528
  */
4458
4529
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
4459
4530
  /**
4460
4531
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
4461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
4532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
4462
4533
  * @deprecated
4463
4534
  */
4464
4535
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
4465
4536
  /**
4466
4537
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
4467
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
4538
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
4468
4539
  */
4469
4540
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
4470
4541
  /**
4471
4542
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
4472
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
4543
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
4473
4544
  */
4474
4545
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
4475
4546
  /**
4476
4547
  * Disallow named usage of default import and export.
4477
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
4548
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
4478
4549
  */
4479
4550
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
4480
4551
  /**
4481
4552
  * Disallow negated conditions.
4482
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
4553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
4483
4554
  */
4484
4555
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
4485
4556
  /**
4486
4557
  * Disallow negated expression in equality check.
4487
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
4558
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
4488
4559
  */
4489
4560
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
4490
4561
  /**
4491
4562
  * Disallow nested ternary expressions.
4492
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
4563
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
4493
4564
  */
4494
4565
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
4495
4566
  /**
4496
4567
  * Disallow `new Array()`.
4497
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
4568
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
4498
4569
  */
4499
4570
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
4500
4571
  /**
4501
4572
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
4502
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
4573
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
4503
4574
  */
4504
4575
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
4505
4576
  /**
4506
4577
  * Disallow the use of the `null` literal.
4507
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
4578
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
4508
4579
  */
4509
4580
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
4510
4581
  /**
4511
4582
  * Disallow the use of objects as default parameters.
4512
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
4583
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
4513
4584
  */
4514
4585
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
4515
4586
  /**
4516
4587
  * Disallow `process.exit()`.
4517
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
4588
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
4518
4589
  */
4519
4590
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
4520
4591
  /**
4521
4592
  * Disallow passing single-element arrays to `Promise` methods.
4522
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
4593
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
4523
4594
  */
4524
4595
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
4525
4596
  /**
4526
4597
  * Disallow classes that only have static members.
4527
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
4598
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
4528
4599
  */
4529
4600
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
4530
4601
  /**
4531
4602
  * Disallow `then` property.
4532
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
4603
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
4533
4604
  */
4534
4605
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
4535
4606
  /**
4536
4607
  * Disallow assigning `this` to a variable.
4537
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
4608
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
4538
4609
  */
4539
4610
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
4540
4611
  /**
4541
4612
  * Disallow comparing `undefined` using `typeof`.
4542
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
4613
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
4543
4614
  */
4544
4615
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
4545
4616
  /**
4546
4617
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
4547
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
4618
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
4548
4619
  */
4549
4620
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
4550
4621
  /**
4551
4622
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
4552
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
4623
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
4553
4624
  */
4554
4625
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
4555
4626
  /**
4556
4627
  * Disallow awaiting non-promise values.
4557
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
4628
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
4558
4629
  */
4559
4630
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
4560
4631
  /**
4561
4632
  * Enforce the use of built-in methods instead of unnecessary polyfills.
4562
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
4633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
4563
4634
  */
4564
4635
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
4565
4636
  /**
4566
4637
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
4567
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
4638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
4568
4639
  */
4569
4640
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
4570
4641
  /**
4571
4642
  * Disallow unreadable array destructuring.
4572
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
4643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
4573
4644
  */
4574
4645
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
4575
4646
  /**
4576
4647
  * Disallow unreadable IIFEs.
4577
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
4648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
4578
4649
  */
4579
4650
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
4580
4651
  /**
4581
4652
  * Disallow unused object properties.
4582
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
4653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
4583
4654
  */
4584
4655
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
4656
+ /**
4657
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
4658
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
4659
+ */
4660
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
4585
4661
  /**
4586
4662
  * Disallow useless fallback when spreading in object literals.
4587
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
4663
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
4588
4664
  */
4589
4665
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
4590
4666
  /**
4591
4667
  * Disallow useless array length check.
4592
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
4668
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
4593
4669
  */
4594
4670
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
4595
4671
  /**
4596
4672
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
4597
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
4673
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
4598
4674
  */
4599
4675
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
4600
4676
  /**
4601
4677
  * Disallow unnecessary spread.
4602
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
4678
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
4603
4679
  */
4604
4680
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
4605
4681
  /**
4606
4682
  * Disallow useless case in switch statements.
4607
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
4683
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
4608
4684
  */
4609
4685
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
4610
4686
  /**
4611
4687
  * Disallow useless `undefined`.
4612
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
4688
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
4613
4689
  */
4614
4690
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
4615
4691
  /**
4616
4692
  * Disallow number literals with zero fractions or dangling dots.
4617
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
4693
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
4618
4694
  */
4619
4695
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
4620
4696
  /**
4621
4697
  * Enforce proper case for numeric literals.
4622
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
4698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
4623
4699
  */
4624
4700
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
4625
4701
  /**
4626
4702
  * Enforce the style of numeric separators by correctly grouping digits.
4627
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
4703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
4628
4704
  */
4629
4705
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
4630
4706
  /**
4631
4707
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
4632
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
4708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
4633
4709
  */
4634
4710
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
4635
4711
  /**
4636
4712
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
4637
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
4713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
4638
4714
  */
4639
4715
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
4640
4716
  /**
4641
4717
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
4642
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
4718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
4643
4719
  */
4644
4720
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
4645
4721
  /**
4646
4722
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
4647
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
4723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
4648
4724
  */
4649
4725
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
4650
4726
  /**
4651
4727
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
4652
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
4728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
4653
4729
  */
4654
4730
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
4655
4731
  /**
4656
4732
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
4657
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
4733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
4658
4734
  */
4659
4735
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
4660
4736
  /**
4661
4737
  * Prefer `.at()` method for index access and `String#charAt()`.
4662
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
4738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
4663
4739
  */
4664
4740
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
4665
4741
  /**
4666
4742
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
4667
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
4743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
4668
4744
  */
4669
4745
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
4746
+ /**
4747
+ * Prefer class field declarations over `this` assignments in constructors.
4748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
4749
+ */
4750
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
4670
4751
  /**
4671
4752
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
4672
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
4753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
4673
4754
  */
4674
4755
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
4675
4756
  /**
4676
4757
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
4677
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
4758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
4678
4759
  */
4679
4760
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
4680
4761
  /**
4681
4762
  * Prefer default parameters over reassignment.
4682
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
4763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
4683
4764
  */
4684
4765
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
4685
4766
  /**
4686
4767
  * Prefer `Node#append()` over `Node#appendChild()`.
4687
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
4768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
4688
4769
  */
4689
4770
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
4690
4771
  /**
4691
4772
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
4692
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
4773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
4693
4774
  */
4694
4775
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
4695
4776
  /**
4696
4777
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
4697
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
4778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
4698
4779
  */
4699
4780
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
4700
4781
  /**
4701
4782
  * Prefer `.textContent` over `.innerText`.
4702
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
4783
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
4703
4784
  */
4704
4785
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
4705
4786
  /**
4706
4787
  * Prefer `EventTarget` over `EventEmitter`.
4707
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
4788
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
4708
4789
  */
4709
4790
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
4710
4791
  /**
4711
4792
  * Prefer `export…from` when re-exporting.
4712
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
4793
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
4713
4794
  */
4714
4795
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
4715
4796
  /**
4716
4797
  * Prefer `globalThis` over `window`, `self`, and `global`.
4717
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
4798
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
4718
4799
  */
4719
4800
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
4720
4801
  /**
4721
4802
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
4722
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
4803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
4723
4804
  */
4724
4805
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
4725
4806
  /**
4726
4807
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
4727
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
4808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
4728
4809
  */
4729
4810
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
4730
4811
  /**
4731
4812
  * Prefer reading a JSON file as a buffer.
4732
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
4813
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
4733
4814
  */
4734
4815
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
4735
4816
  /**
4736
4817
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
4737
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
4818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
4738
4819
  */
4739
4820
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
4740
4821
  /**
4741
4822
  * Prefer using a logical operator over a ternary.
4742
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
4823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
4743
4824
  */
4744
4825
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
4745
4826
  /**
4746
4827
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
4747
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
4828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
4748
4829
  */
4749
4830
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
4750
4831
  /**
4751
4832
  * Enforce the use of `Math.trunc` instead of bitwise operators.
4752
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
4833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
4753
4834
  */
4754
4835
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
4755
4836
  /**
4756
4837
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
4757
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
4838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
4758
4839
  */
4759
4840
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
4760
4841
  /**
4761
4842
  * Prefer modern `Math` APIs over legacy patterns.
4762
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
4843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
4763
4844
  */
4764
4845
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
4765
4846
  /**
4766
4847
  * Prefer JavaScript modules (ESM) over CommonJS.
4767
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
4848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
4768
4849
  */
4769
4850
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
4770
4851
  /**
4771
4852
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
4772
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
4853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
4773
4854
  */
4774
4855
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
4775
4856
  /**
4776
4857
  * Prefer negative index over `.length - index` when possible.
4777
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
4858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
4778
4859
  */
4779
4860
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
4780
4861
  /**
4781
4862
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
4782
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
4863
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
4783
4864
  */
4784
4865
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
4785
4866
  /**
4786
4867
  * Prefer `Number` static properties over global ones.
4787
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
4868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
4788
4869
  */
4789
4870
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
4790
4871
  /**
4791
4872
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
4792
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
4873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
4793
4874
  */
4794
4875
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
4795
4876
  /**
4796
4877
  * Prefer omitting the `catch` binding parameter.
4797
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
4878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
4798
4879
  */
4799
4880
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
4800
4881
  /**
4801
4882
  * Prefer borrowing methods from the prototype instead of the instance.
4802
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
4883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
4803
4884
  */
4804
4885
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
4805
4886
  /**
4806
4887
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
4807
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
4888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
4808
4889
  */
4809
4890
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
4810
4891
  /**
4811
4892
  * Prefer `Reflect.apply()` over `Function#apply()`.
4812
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
4893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
4813
4894
  */
4814
4895
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
4815
4896
  /**
4816
4897
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
4817
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
4898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
4818
4899
  */
4819
4900
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
4820
4901
  /**
4821
4902
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
4822
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
4903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
4823
4904
  */
4824
4905
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
4825
4906
  /**
4826
4907
  * Prefer using `Set#size` instead of `Array#length`.
4827
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
4908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
4828
4909
  */
4829
4910
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
4830
4911
  /**
4831
4912
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
4832
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
4913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
4833
4914
  */
4834
4915
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
4835
4916
  /**
4836
4917
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
4837
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
4918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
4838
4919
  */
4839
4920
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
4840
4921
  /**
4841
4922
  * Prefer using the `String.raw` tag to avoid escaping `\`.
4842
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
4923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
4843
4924
  */
4844
4925
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
4845
4926
  /**
4846
4927
  * Prefer `String#replaceAll()` over regex searches with the global flag.
4847
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
4928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
4848
4929
  */
4849
4930
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
4850
4931
  /**
4851
4932
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
4852
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
4933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
4853
4934
  */
4854
4935
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
4855
4936
  /**
4856
4937
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
4857
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
4938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
4858
4939
  */
4859
4940
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
4860
4941
  /**
4861
4942
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
4862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
4943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
4863
4944
  */
4864
4945
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
4865
4946
  /**
4866
4947
  * Prefer using `structuredClone` to create a deep clone.
4867
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
4948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
4868
4949
  */
4869
4950
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
4870
4951
  /**
4871
4952
  * Prefer `switch` over multiple `else-if`.
4872
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
4953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
4873
4954
  */
4874
4955
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
4875
4956
  /**
4876
4957
  * Prefer ternary expressions over simple `if-else` statements.
4877
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
4958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
4878
4959
  */
4879
4960
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
4880
4961
  /**
4881
4962
  * Prefer top-level await over top-level promises and async function calls.
4882
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
4963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
4883
4964
  */
4884
4965
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
4885
4966
  /**
4886
4967
  * Enforce throwing `TypeError` in type checking conditions.
4887
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
4968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
4888
4969
  */
4889
4970
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
4890
4971
  /**
4891
4972
  * Prevent abbreviations.
4892
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
4973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
4893
4974
  */
4894
4975
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
4895
4976
  /**
4896
4977
  * Enforce consistent relative URL style.
4897
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
4978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
4898
4979
  */
4899
4980
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
4900
4981
  /**
4901
4982
  * Enforce using the separator argument with `Array#join()`.
4902
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
4983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
4903
4984
  */
4904
4985
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
4986
+ /**
4987
+ * Require non-empty specifier list in import and export statements.
4988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
4989
+ */
4990
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
4905
4991
  /**
4906
4992
  * Enforce using the digits argument with `Number#toFixed()`.
4907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
4993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
4908
4994
  */
4909
4995
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
4910
4996
  /**
4911
4997
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
4912
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
4998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
4913
4999
  */
4914
5000
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
4915
5001
  /**
4916
5002
  * Enforce better string content.
4917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
5003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
4918
5004
  */
4919
5005
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
4920
5006
  /**
4921
5007
  * Enforce consistent brace style for `case` clauses.
4922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
5008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
4923
5009
  */
4924
5010
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
4925
5011
  /**
4926
5012
  * Fix whitespace-insensitive template indentation.
4927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
5013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
4928
5014
  */
4929
5015
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
4930
5016
  /**
4931
5017
  * Enforce consistent case for text encoding identifiers.
4932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
5018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
4933
5019
  */
4934
5020
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
4935
5021
  /**
4936
5022
  * Require `new` when creating an error.
4937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
5023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
4938
5024
  */
4939
5025
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
4940
5026
  /**
@@ -4983,6 +5069,7 @@ type AccessorPairs = []|[{
4983
5069
  getWithoutSet?: boolean
4984
5070
  setWithoutGet?: boolean
4985
5071
  enforceForClassMembers?: boolean
5072
+ enforceForTSTypes?: boolean
4986
5073
  }]
4987
5074
  // ----- array-bracket-newline -----
4988
5075
  type ArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
@@ -5170,6 +5257,7 @@ type _FuncNamesValue = ("always" | "as-needed" | "never")
5170
5257
  // ----- func-style -----
5171
5258
  type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), {
5172
5259
  allowArrowFunctions?: boolean
5260
+ allowTypeAnnotation?: boolean
5173
5261
  overrides?: {
5174
5262
  namedExports?: ("declaration" | "expression" | "ignore")
5175
5263
  }
@@ -5202,7 +5290,9 @@ type GetterReturn = []|[{
5202
5290
  allowImplicit?: boolean
5203
5291
  }]
5204
5292
  // ----- grouped-accessor-pairs -----
5205
- type GroupedAccessorPairs = []|[("anyOrder" | "getBeforeSet" | "setBeforeGet")]
5293
+ type GroupedAccessorPairs = []|[("anyOrder" | "getBeforeSet" | "setBeforeGet")]|[("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
5294
+ enforceForTSTypes?: boolean
5295
+ }]
5206
5296
  // ----- handle-callback-err -----
5207
5297
  type HandleCallbackErr = []|[string]
5208
5298
  // ----- id-blacklist -----
@@ -5292,6 +5382,14 @@ type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("al
5292
5382
  }
5293
5383
  ignorePackages?: boolean
5294
5384
  checkTypeImports?: boolean
5385
+ pathGroupOverrides?: {
5386
+ pattern: string
5387
+ patternOptions?: {
5388
+ [k: string]: unknown | undefined
5389
+ }
5390
+ action: ("enforce" | "ignore")
5391
+ }[]
5392
+ fix?: boolean
5295
5393
  [k: string]: unknown | undefined
5296
5394
  }] | []|[{
5297
5395
  pattern?: {
@@ -5299,6 +5397,14 @@ type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("al
5299
5397
  }
5300
5398
  ignorePackages?: boolean
5301
5399
  checkTypeImports?: boolean
5400
+ pathGroupOverrides?: {
5401
+ pattern: string
5402
+ patternOptions?: {
5403
+ [k: string]: unknown | undefined
5404
+ }
5405
+ action: ("enforce" | "ignore")
5406
+ }[]
5407
+ fix?: boolean
5302
5408
  [k: string]: unknown | undefined
5303
5409
  }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
5304
5410
  [k: string]: ("always" | "ignorePackages" | "never")
@@ -5519,6 +5625,10 @@ type ImportOrder = []|[{
5519
5625
  type ImportPreferDefaultExport = []|[{
5520
5626
  target?: ("single" | "any")
5521
5627
  }]
5628
+ // ----- import/prefer-namespace-import -----
5629
+ type ImportPreferNamespaceImport = []|[{
5630
+ patterns?: string[]
5631
+ }]
5522
5632
  // ----- indent -----
5523
5633
  type Indent = []|[("tab" | number)]|[("tab" | number), {
5524
5634
  SwitchCase?: number
@@ -5715,6 +5825,10 @@ type JsonNoIrregularWhitespace = []|[{
5715
5825
  skipRegExps?: boolean
5716
5826
  skipJSXText?: boolean
5717
5827
  }]
5828
+ // ----- json/no-useless-escape -----
5829
+ type JsonNoUselessEscape = []|[{
5830
+ allowRegexCharacters?: string[]
5831
+ }]
5718
5832
  // ----- json/object-curly-newline -----
5719
5833
  type JsonObjectCurlyNewline = []|[((("always" | "never") | {
5720
5834
  multiline?: boolean
@@ -6237,10 +6351,43 @@ type LogicalAssignmentOperators = (([]|["always"]|["always", {
6237
6351
  type MarkdownFencedCodeLanguage = []|[{
6238
6352
  required?: string[]
6239
6353
  }]
6354
+ // ----- markdown/no-duplicate-definitions -----
6355
+ type MarkdownNoDuplicateDefinitions = []|[{
6356
+ allowDefinitions?: string[]
6357
+ allowFootnoteDefinitions?: string[]
6358
+ }]
6359
+ // ----- markdown/no-duplicate-headings -----
6360
+ type MarkdownNoDuplicateHeadings = []|[{
6361
+ checkSiblingsOnly?: boolean
6362
+ }]
6363
+ // ----- markdown/no-empty-definitions -----
6364
+ type MarkdownNoEmptyDefinitions = []|[{
6365
+ allowDefinitions?: string[]
6366
+ allowFootnoteDefinitions?: string[]
6367
+ checkFootnoteDefinitions?: boolean
6368
+ }]
6240
6369
  // ----- markdown/no-html -----
6241
6370
  type MarkdownNoHtml = []|[{
6242
6371
  allowed?: string[]
6243
6372
  }]
6373
+ // ----- markdown/no-missing-link-fragments -----
6374
+ type MarkdownNoMissingLinkFragments = []|[{
6375
+ ignoreCase?: boolean
6376
+ allowPattern?: string
6377
+ }]
6378
+ // ----- markdown/no-multiple-h1 -----
6379
+ type MarkdownNoMultipleH1 = []|[{
6380
+ frontmatterTitle?: string
6381
+ }]
6382
+ // ----- markdown/no-unused-definitions -----
6383
+ type MarkdownNoUnusedDefinitions = []|[{
6384
+ allowDefinitions?: string[]
6385
+ allowFootnoteDefinitions?: string[]
6386
+ }]
6387
+ // ----- markdown/table-column-count -----
6388
+ type MarkdownTableColumnCount = []|[{
6389
+ checkMissingCells?: boolean
6390
+ }]
6244
6391
  // ----- max-classes-per-file -----
6245
6392
  type MaxClassesPerFile = []|[(number | {
6246
6393
  ignoreExpressions?: boolean
@@ -6341,6 +6488,8 @@ type MaxNestedCallbacks = []|[(number | {
6341
6488
  type MaxParams = []|[(number | {
6342
6489
  maximum?: number
6343
6490
  max?: number
6491
+
6492
+ countVoidThis?: boolean
6344
6493
  })]
6345
6494
  // ----- max-statements -----
6346
6495
  type MaxStatements = []|[(number | {
@@ -6404,6 +6553,7 @@ type NoConstantCondition = []|[{
6404
6553
  // ----- no-duplicate-imports -----
6405
6554
  type NoDuplicateImports = []|[{
6406
6555
  includeExports?: boolean
6556
+ allowSeparateTypeImports?: boolean
6407
6557
  }]
6408
6558
  // ----- no-else-return -----
6409
6559
  type NoElseReturn = []|[{
@@ -6507,6 +6657,10 @@ type NoMagicNumbers = []|[{
6507
6657
  ignoreArrayIndexes?: boolean
6508
6658
  ignoreDefaultValues?: boolean
6509
6659
  ignoreClassFieldInitialValues?: boolean
6660
+ ignoreEnums?: boolean
6661
+ ignoreNumericLiteralTypes?: boolean
6662
+ ignoreReadonlyClassProperties?: boolean
6663
+ ignoreTypeIndexes?: boolean
6510
6664
  }]
6511
6665
  // ----- no-misleading-character-class -----
6512
6666
  type NoMisleadingCharacterClass = []|[{
@@ -6639,9 +6793,11 @@ type NoSequences = []|[{
6639
6793
  // ----- no-shadow -----
6640
6794
  type NoShadow = []|[{
6641
6795
  builtinGlobals?: boolean
6642
- hoist?: ("all" | "functions" | "never")
6796
+ hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types")
6643
6797
  allow?: string[]
6644
6798
  ignoreOnInitialization?: boolean
6799
+ ignoreTypeValueShadow?: boolean
6800
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
6645
6801
  }]
6646
6802
  // ----- no-shadow-restricted-names -----
6647
6803
  type NoShadowRestrictedNames = []|[{
@@ -6711,6 +6867,7 @@ type NoUnusedVars = []|[(("all" | "local") | {
6711
6867
  caughtErrorsIgnorePattern?: string
6712
6868
  destructuredArrayIgnorePattern?: string
6713
6869
  ignoreClassWithStaticInitBlock?: boolean
6870
+ ignoreUsingDeclarations?: boolean
6714
6871
  reportUsedIgnorePattern?: boolean
6715
6872
  })]
6716
6873
  // ----- no-use-before-define -----
@@ -6719,11 +6876,18 @@ type NoUseBeforeDefine = []|[("nofunc" | {
6719
6876
  classes?: boolean
6720
6877
  variables?: boolean
6721
6878
  allowNamedExports?: boolean
6879
+ enums?: boolean
6880
+ typedefs?: boolean
6881
+ ignoreTypeReferences?: boolean
6722
6882
  })]
6723
6883
  // ----- no-useless-computed-key -----
6724
6884
  type NoUselessComputedKey = []|[{
6725
6885
  enforceForClassMembers?: boolean
6726
6886
  }]
6887
+ // ----- no-useless-escape -----
6888
+ type NoUselessEscape = []|[{
6889
+ allowRegexCharacters?: string[]
6890
+ }]
6727
6891
  // ----- no-useless-rename -----
6728
6892
  type NoUselessRename = []|[{
6729
6893
  ignoreDestructuring?: boolean
@@ -6884,7 +7048,38 @@ type NodeNoRestrictedRequire = []|[(string | {
6884
7048
  // ----- node/no-sync -----
6885
7049
  type NodeNoSync = []|[{
6886
7050
  allowAtRootLevel?: boolean
6887
- ignores?: string[]
7051
+ ignores?: (string | {
7052
+ from?: "file"
7053
+ path?: string
7054
+ name?: string[]
7055
+ } | {
7056
+ from?: "lib"
7057
+ name?: string[]
7058
+ } | {
7059
+ from?: "package"
7060
+ package?: string
7061
+ name?: string[]
7062
+ })[]
7063
+ }]
7064
+ // ----- node/no-top-level-await -----
7065
+ type NodeNoTopLevelAwait = []|[{
7066
+ ignoreBin?: boolean
7067
+ convertPath?: ({
7068
+
7069
+ [k: string]: [string, string]
7070
+ } | [{
7071
+
7072
+ include: [string, ...(string)[]]
7073
+ exclude?: string[]
7074
+
7075
+ replace: [string, string]
7076
+ }, ...({
7077
+
7078
+ include: [string, ...(string)[]]
7079
+ exclude?: string[]
7080
+
7081
+ replace: [string, string]
7082
+ })[]])
6888
7083
  }]
6889
7084
  // ----- node/no-unpublished-bin -----
6890
7085
  type NodeNoUnpublishedBin = []|[{
@@ -7138,8 +7333,7 @@ type PerfectionistSortArrayIncludes = {
7138
7333
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
7139
7334
 
7140
7335
  customGroups?: ({
7141
-
7142
- newlinesInside?: ("always" | "never")
7336
+ newlinesInside?: (("always" | "never") | number)
7143
7337
 
7144
7338
  fallbackSort?: {
7145
7339
 
@@ -7170,8 +7364,7 @@ type PerfectionistSortArrayIncludes = {
7170
7364
  } | string))
7171
7365
  }[]
7172
7366
  } | {
7173
-
7174
- newlinesInside?: ("always" | "never")
7367
+ newlinesInside?: (("always" | "never") | number)
7175
7368
 
7176
7369
  fallbackSort?: {
7177
7370
 
@@ -7254,12 +7447,12 @@ type PerfectionistSortArrayIncludes = {
7254
7447
  })
7255
7448
 
7256
7449
  partitionByNewLine?: boolean
7257
-
7258
- newlinesBetween?: ("ignore" | "always" | "never")
7450
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7259
7451
 
7260
7452
  groups?: (string | string[] | {
7453
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7261
7454
 
7262
- newlinesBetween: ("ignore" | "always" | "never")
7455
+ commentAbove?: string
7263
7456
  })[]
7264
7457
  }[]
7265
7458
  // ----- perfectionist/sort-classes -----
@@ -7285,8 +7478,7 @@ type PerfectionistSortClasses = []|[{
7285
7478
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
7286
7479
 
7287
7480
  customGroups?: ({
7288
-
7289
- newlinesInside?: ("always" | "never")
7481
+ newlinesInside?: (("always" | "never") | number)
7290
7482
 
7291
7483
  fallbackSort?: {
7292
7484
 
@@ -7343,8 +7535,7 @@ type PerfectionistSortClasses = []|[{
7343
7535
  } | string))
7344
7536
  }[]
7345
7537
  } | {
7346
-
7347
- newlinesInside?: ("always" | "never")
7538
+ newlinesInside?: (("always" | "never") | number)
7348
7539
 
7349
7540
  fallbackSort?: {
7350
7541
 
@@ -7450,12 +7641,12 @@ type PerfectionistSortClasses = []|[{
7450
7641
  })
7451
7642
 
7452
7643
  partitionByNewLine?: boolean
7453
-
7454
- newlinesBetween?: ("ignore" | "always" | "never")
7644
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7455
7645
 
7456
7646
  groups?: (string | string[] | {
7647
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7457
7648
 
7458
- newlinesBetween: ("ignore" | "always" | "never")
7649
+ commentAbove?: string
7459
7650
  })[]
7460
7651
  }]
7461
7652
  // ----- perfectionist/sort-decorators -----
@@ -7532,8 +7723,9 @@ type PerfectionistSortDecorators = []|[{
7532
7723
  }
7533
7724
 
7534
7725
  groups?: (string | string[] | {
7726
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7535
7727
 
7536
- newlinesBetween: ("ignore" | "always" | "never")
7728
+ commentAbove?: string
7537
7729
  })[]
7538
7730
  }]
7539
7731
  // ----- perfectionist/sort-enums -----
@@ -7560,8 +7752,7 @@ type PerfectionistSortEnums = []|[{
7560
7752
  customGroups?: ({
7561
7753
  [k: string]: (string | string[]) | undefined
7562
7754
  } | ({
7563
-
7564
- newlinesInside?: ("always" | "never")
7755
+ newlinesInside?: (("always" | "never") | number)
7565
7756
 
7566
7757
  fallbackSort?: {
7567
7758
 
@@ -7602,8 +7793,7 @@ type PerfectionistSortEnums = []|[{
7602
7793
  } | string))
7603
7794
  }[]
7604
7795
  } | {
7605
-
7606
- newlinesInside?: ("always" | "never")
7796
+ newlinesInside?: (("always" | "never") | number)
7607
7797
 
7608
7798
  fallbackSort?: {
7609
7799
 
@@ -7685,12 +7875,12 @@ type PerfectionistSortEnums = []|[{
7685
7875
  })
7686
7876
 
7687
7877
  partitionByNewLine?: boolean
7688
-
7689
- newlinesBetween?: ("ignore" | "always" | "never")
7878
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7690
7879
 
7691
7880
  groups?: (string | string[] | {
7881
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7692
7882
 
7693
- newlinesBetween: ("ignore" | "always" | "never")
7883
+ commentAbove?: string
7694
7884
  })[]
7695
7885
  }]
7696
7886
  // ----- perfectionist/sort-exports -----
@@ -7718,8 +7908,7 @@ type PerfectionistSortExports = {
7718
7908
  groupKind?: ("mixed" | "values-first" | "types-first")
7719
7909
 
7720
7910
  customGroups?: ({
7721
-
7722
- newlinesInside?: ("always" | "never")
7911
+ newlinesInside?: (("always" | "never") | number)
7723
7912
 
7724
7913
  fallbackSort?: {
7725
7914
 
@@ -7752,8 +7941,7 @@ type PerfectionistSortExports = {
7752
7941
  } | string))
7753
7942
  }[]
7754
7943
  } | {
7755
-
7756
- newlinesInside?: ("always" | "never")
7944
+ newlinesInside?: (("always" | "never") | number)
7757
7945
 
7758
7946
  fallbackSort?: {
7759
7947
 
@@ -7823,12 +8011,12 @@ type PerfectionistSortExports = {
7823
8011
  })
7824
8012
 
7825
8013
  partitionByNewLine?: boolean
7826
-
7827
- newlinesBetween?: ("ignore" | "always" | "never")
8014
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7828
8015
 
7829
8016
  groups?: (string | string[] | {
8017
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7830
8018
 
7831
- newlinesBetween: ("ignore" | "always" | "never")
8019
+ commentAbove?: string
7832
8020
  })[]
7833
8021
  }[]
7834
8022
  // ----- perfectionist/sort-heritage-clauses -----
@@ -7858,8 +8046,9 @@ type PerfectionistSortHeritageClauses = []|[{
7858
8046
  }
7859
8047
 
7860
8048
  groups?: (string | string[] | {
8049
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
7861
8050
 
7862
- newlinesBetween: ("ignore" | "always" | "never")
8051
+ commentAbove?: string
7863
8052
  })[]
7864
8053
  }]
7865
8054
  // ----- perfectionist/sort-imports -----
@@ -7893,8 +8082,7 @@ type PerfectionistSortImports = {
7893
8082
  [k: string]: (string | string[]) | undefined
7894
8083
  }
7895
8084
  } | ({
7896
-
7897
- newlinesInside?: ("always" | "never")
8085
+ newlinesInside?: (("always" | "never") | number)
7898
8086
 
7899
8087
  fallbackSort?: {
7900
8088
 
@@ -7939,8 +8127,7 @@ type PerfectionistSortImports = {
7939
8127
  } | string))
7940
8128
  }[]
7941
8129
  } | {
7942
-
7943
- newlinesInside?: ("always" | "never")
8130
+ newlinesInside?: (("always" | "never") | number)
7944
8131
 
7945
8132
  fallbackSort?: {
7946
8133
 
@@ -7983,6 +8170,12 @@ type PerfectionistSortImports = {
7983
8170
  flags?: string
7984
8171
  } | string))
7985
8172
  })[])
8173
+ tsconfig?: {
8174
+
8175
+ rootDir: string
8176
+
8177
+ filename?: string
8178
+ }
7986
8179
 
7987
8180
  maxLineLength?: number
7988
8181
 
@@ -8030,8 +8223,7 @@ type PerfectionistSortImports = {
8030
8223
  })
8031
8224
 
8032
8225
  partitionByNewLine?: boolean
8033
-
8034
- newlinesBetween?: ("ignore" | "always" | "never")
8226
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8035
8227
 
8036
8228
  internalPattern?: (({
8037
8229
 
@@ -8046,8 +8238,9 @@ type PerfectionistSortImports = {
8046
8238
  } | string))
8047
8239
 
8048
8240
  groups?: (string | string[] | {
8241
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8049
8242
 
8050
- newlinesBetween: ("ignore" | "always" | "never")
8243
+ commentAbove?: string
8051
8244
  })[]
8052
8245
  }[]
8053
8246
  // ----- perfectionist/sort-interfaces -----
@@ -8075,8 +8268,7 @@ type PerfectionistSortInterfaces = {
8075
8268
  customGroups?: ({
8076
8269
  [k: string]: (string | string[]) | undefined
8077
8270
  } | ({
8078
-
8079
- newlinesInside?: ("always" | "never")
8271
+ newlinesInside?: (("always" | "never") | number)
8080
8272
 
8081
8273
  fallbackSort?: {
8082
8274
 
@@ -8123,8 +8315,7 @@ type PerfectionistSortInterfaces = {
8123
8315
  sortBy?: ("name" | "value")
8124
8316
  }[]
8125
8317
  } | {
8126
-
8127
- newlinesInside?: ("always" | "never")
8318
+ newlinesInside?: (("always" | "never") | number)
8128
8319
 
8129
8320
  fallbackSort?: {
8130
8321
 
@@ -8237,8 +8428,7 @@ type PerfectionistSortInterfaces = {
8237
8428
  })
8238
8429
 
8239
8430
  partitionByNewLine?: boolean
8240
-
8241
- newlinesBetween?: ("ignore" | "always" | "never")
8431
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8242
8432
 
8243
8433
  ignorePattern?: (({
8244
8434
 
@@ -8254,8 +8444,9 @@ type PerfectionistSortInterfaces = {
8254
8444
  sortBy?: ("name" | "value")
8255
8445
 
8256
8446
  groups?: (string | string[] | {
8447
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8257
8448
 
8258
- newlinesBetween: ("ignore" | "always" | "never")
8449
+ commentAbove?: string
8259
8450
  })[]
8260
8451
  }[]
8261
8452
  // ----- perfectionist/sort-intersection-types -----
@@ -8281,8 +8472,7 @@ type PerfectionistSortIntersectionTypes = {
8281
8472
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
8282
8473
 
8283
8474
  customGroups?: ({
8284
-
8285
- newlinesInside?: ("always" | "never")
8475
+ newlinesInside?: (("always" | "never") | number)
8286
8476
 
8287
8477
  fallbackSort?: {
8288
8478
 
@@ -8313,8 +8503,7 @@ type PerfectionistSortIntersectionTypes = {
8313
8503
  } | string))
8314
8504
  }[]
8315
8505
  } | {
8316
-
8317
- newlinesInside?: ("always" | "never")
8506
+ newlinesInside?: (("always" | "never") | number)
8318
8507
 
8319
8508
  fallbackSort?: {
8320
8509
 
@@ -8382,12 +8571,12 @@ type PerfectionistSortIntersectionTypes = {
8382
8571
  })
8383
8572
 
8384
8573
  partitionByNewLine?: boolean
8385
-
8386
- newlinesBetween?: ("ignore" | "always" | "never")
8574
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8387
8575
 
8388
8576
  groups?: (string | string[] | {
8577
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8389
8578
 
8390
- newlinesBetween: ("ignore" | "always" | "never")
8579
+ commentAbove?: string
8391
8580
  })[]
8392
8581
  }[]
8393
8582
  // ----- perfectionist/sort-jsx-props -----
@@ -8414,8 +8603,7 @@ type PerfectionistSortJsxProps = {
8414
8603
  customGroups?: ({
8415
8604
  [k: string]: (string | string[]) | undefined
8416
8605
  } | ({
8417
-
8418
- newlinesInside?: ("always" | "never")
8606
+ newlinesInside?: (("always" | "never") | number)
8419
8607
 
8420
8608
  fallbackSort?: {
8421
8609
 
@@ -8460,8 +8648,7 @@ type PerfectionistSortJsxProps = {
8460
8648
  } | string))
8461
8649
  }[]
8462
8650
  } | {
8463
-
8464
- newlinesInside?: ("always" | "never")
8651
+ newlinesInside?: (("always" | "never") | number)
8465
8652
 
8466
8653
  fallbackSort?: {
8467
8654
 
@@ -8533,8 +8720,7 @@ type PerfectionistSortJsxProps = {
8533
8720
  }
8534
8721
 
8535
8722
  partitionByNewLine?: boolean
8536
-
8537
- newlinesBetween?: ("ignore" | "always" | "never")
8723
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8538
8724
 
8539
8725
  ignorePattern?: (({
8540
8726
 
@@ -8549,8 +8735,9 @@ type PerfectionistSortJsxProps = {
8549
8735
  } | string))
8550
8736
 
8551
8737
  groups?: (string | string[] | {
8738
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8552
8739
 
8553
- newlinesBetween: ("ignore" | "always" | "never")
8740
+ commentAbove?: string
8554
8741
  })[]
8555
8742
  }[]
8556
8743
  // ----- perfectionist/sort-maps -----
@@ -8576,8 +8763,7 @@ type PerfectionistSortMaps = {
8576
8763
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
8577
8764
 
8578
8765
  customGroups?: ({
8579
-
8580
- newlinesInside?: ("always" | "never")
8766
+ newlinesInside?: (("always" | "never") | number)
8581
8767
 
8582
8768
  fallbackSort?: {
8583
8769
 
@@ -8606,8 +8792,7 @@ type PerfectionistSortMaps = {
8606
8792
  } | string))
8607
8793
  }[]
8608
8794
  } | {
8609
-
8610
- newlinesInside?: ("always" | "never")
8795
+ newlinesInside?: (("always" | "never") | number)
8611
8796
 
8612
8797
  fallbackSort?: {
8613
8798
 
@@ -8688,12 +8873,12 @@ type PerfectionistSortMaps = {
8688
8873
  })
8689
8874
 
8690
8875
  partitionByNewLine?: boolean
8691
-
8692
- newlinesBetween?: ("ignore" | "always" | "never")
8876
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8693
8877
 
8694
8878
  groups?: (string | string[] | {
8879
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8695
8880
 
8696
- newlinesBetween: ("ignore" | "always" | "never")
8881
+ commentAbove?: string
8697
8882
  })[]
8698
8883
  }[]
8699
8884
  // ----- perfectionist/sort-modules -----
@@ -8719,8 +8904,7 @@ type PerfectionistSortModules = []|[{
8719
8904
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
8720
8905
 
8721
8906
  customGroups?: ({
8722
-
8723
- newlinesInside?: ("always" | "never")
8907
+ newlinesInside?: (("always" | "never") | number)
8724
8908
 
8725
8909
  fallbackSort?: {
8726
8910
 
@@ -8765,8 +8949,7 @@ type PerfectionistSortModules = []|[{
8765
8949
  } | string))
8766
8950
  }[]
8767
8951
  } | {
8768
-
8769
- newlinesInside?: ("always" | "never")
8952
+ newlinesInside?: (("always" | "never") | number)
8770
8953
 
8771
8954
  fallbackSort?: {
8772
8955
 
@@ -8848,12 +9031,12 @@ type PerfectionistSortModules = []|[{
8848
9031
  })
8849
9032
 
8850
9033
  partitionByNewLine?: boolean
8851
-
8852
- newlinesBetween?: ("ignore" | "always" | "never")
9034
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8853
9035
 
8854
9036
  groups?: (string | string[] | {
9037
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8855
9038
 
8856
- newlinesBetween: ("ignore" | "always" | "never")
9039
+ commentAbove?: string
8857
9040
  })[]
8858
9041
  }]
8859
9042
  // ----- perfectionist/sort-named-exports -----
@@ -8883,8 +9066,7 @@ type PerfectionistSortNamedExports = {
8883
9066
  ignoreAlias?: boolean
8884
9067
 
8885
9068
  customGroups?: ({
8886
-
8887
- newlinesInside?: ("always" | "never")
9069
+ newlinesInside?: (("always" | "never") | number)
8888
9070
 
8889
9071
  fallbackSort?: {
8890
9072
 
@@ -8917,8 +9099,7 @@ type PerfectionistSortNamedExports = {
8917
9099
  } | string))
8918
9100
  }[]
8919
9101
  } | {
8920
-
8921
- newlinesInside?: ("always" | "never")
9102
+ newlinesInside?: (("always" | "never") | number)
8922
9103
 
8923
9104
  fallbackSort?: {
8924
9105
 
@@ -8988,12 +9169,12 @@ type PerfectionistSortNamedExports = {
8988
9169
  })
8989
9170
 
8990
9171
  partitionByNewLine?: boolean
8991
-
8992
- newlinesBetween?: ("ignore" | "always" | "never")
9172
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8993
9173
 
8994
9174
  groups?: (string | string[] | {
9175
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
8995
9176
 
8996
- newlinesBetween: ("ignore" | "always" | "never")
9177
+ commentAbove?: string
8997
9178
  })[]
8998
9179
  }[]
8999
9180
  // ----- perfectionist/sort-named-imports -----
@@ -9023,8 +9204,7 @@ type PerfectionistSortNamedImports = {
9023
9204
  ignoreAlias?: boolean
9024
9205
 
9025
9206
  customGroups?: ({
9026
-
9027
- newlinesInside?: ("always" | "never")
9207
+ newlinesInside?: (("always" | "never") | number)
9028
9208
 
9029
9209
  fallbackSort?: {
9030
9210
 
@@ -9057,8 +9237,7 @@ type PerfectionistSortNamedImports = {
9057
9237
  } | string))
9058
9238
  }[]
9059
9239
  } | {
9060
-
9061
- newlinesInside?: ("always" | "never")
9240
+ newlinesInside?: (("always" | "never") | number)
9062
9241
 
9063
9242
  fallbackSort?: {
9064
9243
 
@@ -9128,12 +9307,12 @@ type PerfectionistSortNamedImports = {
9128
9307
  })
9129
9308
 
9130
9309
  partitionByNewLine?: boolean
9131
-
9132
- newlinesBetween?: ("ignore" | "always" | "never")
9310
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9133
9311
 
9134
9312
  groups?: (string | string[] | {
9313
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9135
9314
 
9136
- newlinesBetween: ("ignore" | "always" | "never")
9315
+ commentAbove?: string
9137
9316
  })[]
9138
9317
  }[]
9139
9318
  // ----- perfectionist/sort-object-types -----
@@ -9161,8 +9340,7 @@ type PerfectionistSortObjectTypes = {
9161
9340
  customGroups?: ({
9162
9341
  [k: string]: (string | string[]) | undefined
9163
9342
  } | ({
9164
-
9165
- newlinesInside?: ("always" | "never")
9343
+ newlinesInside?: (("always" | "never") | number)
9166
9344
 
9167
9345
  fallbackSort?: {
9168
9346
 
@@ -9209,8 +9387,7 @@ type PerfectionistSortObjectTypes = {
9209
9387
  sortBy?: ("name" | "value")
9210
9388
  }[]
9211
9389
  } | {
9212
-
9213
- newlinesInside?: ("always" | "never")
9390
+ newlinesInside?: (("always" | "never") | number)
9214
9391
 
9215
9392
  fallbackSort?: {
9216
9393
 
@@ -9323,8 +9500,7 @@ type PerfectionistSortObjectTypes = {
9323
9500
  })
9324
9501
 
9325
9502
  partitionByNewLine?: boolean
9326
-
9327
- newlinesBetween?: ("ignore" | "always" | "never")
9503
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9328
9504
 
9329
9505
  ignorePattern?: (({
9330
9506
 
@@ -9340,8 +9516,9 @@ type PerfectionistSortObjectTypes = {
9340
9516
  sortBy?: ("name" | "value")
9341
9517
 
9342
9518
  groups?: (string | string[] | {
9519
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9343
9520
 
9344
- newlinesBetween: ("ignore" | "always" | "never")
9521
+ commentAbove?: string
9345
9522
  })[]
9346
9523
  }[]
9347
9524
  // ----- perfectionist/sort-objects -----
@@ -9373,8 +9550,7 @@ type PerfectionistSortObjects = {
9373
9550
  customGroups?: ({
9374
9551
  [k: string]: (string | string[]) | undefined
9375
9552
  } | ({
9376
-
9377
- newlinesInside?: ("always" | "never")
9553
+ newlinesInside?: (("always" | "never") | number)
9378
9554
 
9379
9555
  fallbackSort?: {
9380
9556
 
@@ -9419,8 +9595,7 @@ type PerfectionistSortObjects = {
9419
9595
  } | string))
9420
9596
  }[]
9421
9597
  } | {
9422
-
9423
- newlinesInside?: ("always" | "never")
9598
+ newlinesInside?: (("always" | "never") | number)
9424
9599
 
9425
9600
  fallbackSort?: {
9426
9601
 
@@ -9535,8 +9710,7 @@ type PerfectionistSortObjects = {
9535
9710
  })
9536
9711
 
9537
9712
  partitionByNewLine?: boolean
9538
-
9539
- newlinesBetween?: ("ignore" | "always" | "never")
9713
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9540
9714
 
9541
9715
  ignorePattern?: (({
9542
9716
 
@@ -9551,8 +9725,9 @@ type PerfectionistSortObjects = {
9551
9725
  } | string))
9552
9726
 
9553
9727
  groups?: (string | string[] | {
9728
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9554
9729
 
9555
- newlinesBetween: ("ignore" | "always" | "never")
9730
+ commentAbove?: string
9556
9731
  })[]
9557
9732
  }[]
9558
9733
  // ----- perfectionist/sort-sets -----
@@ -9580,8 +9755,7 @@ type PerfectionistSortSets = {
9580
9755
  groupKind?: ("mixed" | "literals-first" | "spreads-first")
9581
9756
 
9582
9757
  customGroups?: ({
9583
-
9584
- newlinesInside?: ("always" | "never")
9758
+ newlinesInside?: (("always" | "never") | number)
9585
9759
 
9586
9760
  fallbackSort?: {
9587
9761
 
@@ -9612,8 +9786,7 @@ type PerfectionistSortSets = {
9612
9786
  } | string))
9613
9787
  }[]
9614
9788
  } | {
9615
-
9616
- newlinesInside?: ("always" | "never")
9789
+ newlinesInside?: (("always" | "never") | number)
9617
9790
 
9618
9791
  fallbackSort?: {
9619
9792
 
@@ -9696,12 +9869,12 @@ type PerfectionistSortSets = {
9696
9869
  })
9697
9870
 
9698
9871
  partitionByNewLine?: boolean
9699
-
9700
- newlinesBetween?: ("ignore" | "always" | "never")
9872
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9701
9873
 
9702
9874
  groups?: (string | string[] | {
9875
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9703
9876
 
9704
- newlinesBetween: ("ignore" | "always" | "never")
9877
+ commentAbove?: string
9705
9878
  })[]
9706
9879
  }[]
9707
9880
  // ----- perfectionist/sort-switch-case -----
@@ -9749,8 +9922,7 @@ type PerfectionistSortUnionTypes = {
9749
9922
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9750
9923
 
9751
9924
  customGroups?: ({
9752
-
9753
- newlinesInside?: ("always" | "never")
9925
+ newlinesInside?: (("always" | "never") | number)
9754
9926
 
9755
9927
  fallbackSort?: {
9756
9928
 
@@ -9781,8 +9953,7 @@ type PerfectionistSortUnionTypes = {
9781
9953
  } | string))
9782
9954
  }[]
9783
9955
  } | {
9784
-
9785
- newlinesInside?: ("always" | "never")
9956
+ newlinesInside?: (("always" | "never") | number)
9786
9957
 
9787
9958
  fallbackSort?: {
9788
9959
 
@@ -9850,12 +10021,12 @@ type PerfectionistSortUnionTypes = {
9850
10021
  })
9851
10022
 
9852
10023
  partitionByNewLine?: boolean
9853
-
9854
- newlinesBetween?: ("ignore" | "always" | "never")
10024
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9855
10025
 
9856
10026
  groups?: (string | string[] | {
10027
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9857
10028
 
9858
- newlinesBetween: ("ignore" | "always" | "never")
10029
+ commentAbove?: string
9859
10030
  })[]
9860
10031
  }[]
9861
10032
  // ----- perfectionist/sort-variable-declarations -----
@@ -9881,8 +10052,7 @@ type PerfectionistSortVariableDeclarations = []|[{
9881
10052
  type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
9882
10053
 
9883
10054
  customGroups?: ({
9884
-
9885
- newlinesInside?: ("always" | "never")
10055
+ newlinesInside?: (("always" | "never") | number)
9886
10056
 
9887
10057
  fallbackSort?: {
9888
10058
 
@@ -9913,8 +10083,7 @@ type PerfectionistSortVariableDeclarations = []|[{
9913
10083
  } | string))
9914
10084
  }[]
9915
10085
  } | {
9916
-
9917
- newlinesInside?: ("always" | "never")
10086
+ newlinesInside?: (("always" | "never") | number)
9918
10087
 
9919
10088
  fallbackSort?: {
9920
10089
 
@@ -9982,12 +10151,12 @@ type PerfectionistSortVariableDeclarations = []|[{
9982
10151
  })
9983
10152
 
9984
10153
  partitionByNewLine?: boolean
9985
-
9986
- newlinesBetween?: ("ignore" | "always" | "never")
10154
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9987
10155
 
9988
10156
  groups?: (string | string[] | {
10157
+ newlinesBetween?: (("ignore" | "always" | "never") | number)
9989
10158
 
9990
- newlinesBetween: ("ignore" | "always" | "never")
10159
+ commentAbove?: string
9991
10160
  })[]
9992
10161
  }]
9993
10162
  // ----- prefer-arrow-callback -----
@@ -10786,16 +10955,6 @@ type StyleCurlyNewline = []|[(("always" | "never") | {
10786
10955
  minElements?: number
10787
10956
  consistent?: boolean
10788
10957
  })
10789
- TSEnumBody?: (("always" | "never") | {
10790
- multiline?: boolean
10791
- minElements?: number
10792
- consistent?: boolean
10793
- })
10794
- TSInterfaceBody?: (("always" | "never") | {
10795
- multiline?: boolean
10796
- minElements?: number
10797
- consistent?: boolean
10798
- })
10799
10958
  TSModuleBlock?: (("always" | "never") | {
10800
10959
  multiline?: boolean
10801
10960
  minElements?: number
@@ -10809,14 +10968,6 @@ type StyleCurlyNewline = []|[(("always" | "never") | {
10809
10968
  type StyleDotLocation = []|[("object" | "property")]
10810
10969
  // ----- style/eol-last -----
10811
10970
  type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
10812
- // ----- style/func-call-spacing -----
10813
- type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
10814
- allowNewlines?: boolean
10815
- optionalChain?: {
10816
- before?: boolean
10817
- after?: boolean
10818
- }
10819
- }])
10820
10971
  // ----- style/function-call-argument-newline -----
10821
10972
  type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
10822
10973
  // ----- style/function-call-spacing -----
@@ -10857,16 +11008,19 @@ type StyleIndent = []|[("tab" | number)]|[("tab" | number), {
10857
11008
  var?: (number | ("first" | "off"))
10858
11009
  let?: (number | ("first" | "off"))
10859
11010
  const?: (number | ("first" | "off"))
11011
+ using?: (number | ("first" | "off"))
10860
11012
  })
10861
11013
  outerIIFEBody?: (number | "off")
10862
11014
  MemberExpression?: (number | "off")
10863
11015
  FunctionDeclaration?: {
10864
11016
  parameters?: (number | ("first" | "off"))
10865
11017
  body?: number
11018
+ returnType?: number
10866
11019
  }
10867
11020
  FunctionExpression?: {
10868
11021
  parameters?: (number | ("first" | "off"))
10869
11022
  body?: number
11023
+ returnType?: number
10870
11024
  }
10871
11025
  StaticBlock?: {
10872
11026
  body?: number
@@ -10907,31 +11061,52 @@ type StyleJsxCurlyNewline = []|[(("consistent" | "never") | {
10907
11061
  multiline?: ("consistent" | "require" | "forbid")
10908
11062
  })]
10909
11063
  // ----- style/jsx-curly-spacing -----
10910
- type StyleJsxCurlySpacing = []|[((_StyleJsxCurlySpacing_BasicConfig & {
10911
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
10912
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
10913
- [k: string]: unknown | undefined
10914
- }) | ("always" | "never"))]|[((_StyleJsxCurlySpacing_BasicConfig & {
10915
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
10916
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
10917
- [k: string]: unknown | undefined
10918
- }) | ("always" | "never")), {
11064
+ type StyleJsxCurlySpacing = []|[({
11065
+ when?: ("always" | "never")
10919
11066
  allowMultiline?: boolean
10920
11067
  spacing?: {
10921
11068
  objectLiterals?: ("always" | "never")
10922
- [k: string]: unknown | undefined
10923
11069
  }
10924
- }]
10925
- type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean)
10926
- interface _StyleJsxCurlySpacing_BasicConfig {
11070
+ attributes?: ({
11071
+ when?: ("always" | "never")
11072
+ allowMultiline?: boolean
11073
+ spacing?: {
11074
+ objectLiterals?: ("always" | "never")
11075
+ }
11076
+ } | boolean)
11077
+ children?: ({
11078
+ when?: ("always" | "never")
11079
+ allowMultiline?: boolean
11080
+ spacing?: {
11081
+ objectLiterals?: ("always" | "never")
11082
+ }
11083
+ } | boolean)
11084
+ } | ("always" | "never"))]|[({
10927
11085
  when?: ("always" | "never")
10928
11086
  allowMultiline?: boolean
10929
11087
  spacing?: {
10930
11088
  objectLiterals?: ("always" | "never")
10931
- [k: string]: unknown | undefined
10932
11089
  }
10933
- [k: string]: unknown | undefined
10934
- }
11090
+ attributes?: ({
11091
+ when?: ("always" | "never")
11092
+ allowMultiline?: boolean
11093
+ spacing?: {
11094
+ objectLiterals?: ("always" | "never")
11095
+ }
11096
+ } | boolean)
11097
+ children?: ({
11098
+ when?: ("always" | "never")
11099
+ allowMultiline?: boolean
11100
+ spacing?: {
11101
+ objectLiterals?: ("always" | "never")
11102
+ }
11103
+ } | boolean)
11104
+ } | ("always" | "never")), {
11105
+ allowMultiline?: boolean
11106
+ spacing?: {
11107
+ objectLiterals?: ("always" | "never")
11108
+ }
11109
+ }]
10935
11110
  // ----- style/jsx-equals-spacing -----
10936
11111
  type StyleJsxEqualsSpacing = []|[("always" | "never")]
10937
11112
  // ----- style/jsx-first-prop-new-line -----
@@ -10947,14 +11122,12 @@ type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
10947
11122
  type StyleJsxIndentProps = []|[(("tab" | "first") | number | {
10948
11123
  indentMode?: (("tab" | "first") | number)
10949
11124
  ignoreTernaryOperator?: boolean
10950
- [k: string]: unknown | undefined
10951
11125
  })]
10952
11126
  // ----- style/jsx-max-props-per-line -----
10953
11127
  type StyleJsxMaxPropsPerLine = []|[({
10954
11128
  maximum?: {
10955
11129
  single?: number
10956
11130
  multi?: number
10957
- [k: string]: unknown | undefined
10958
11131
  }
10959
11132
  } | {
10960
11133
  maximum?: number
@@ -10991,7 +11164,8 @@ type StyleJsxSortProps = []|[{
10991
11164
  multiline?: ("ignore" | "first" | "last")
10992
11165
  ignoreCase?: boolean
10993
11166
  noSortAlphabetically?: boolean
10994
- reservedFirst?: (unknown[] | boolean)
11167
+ reservedFirst?: (string[] | boolean)
11168
+ reservedLast?: string[]
10995
11169
  locale?: string
10996
11170
  }]
10997
11171
  // ----- style/jsx-tag-spacing -----
@@ -11068,18 +11242,6 @@ type StyleKeywordSpacing = []|[{
11068
11242
  before?: boolean
11069
11243
  after?: boolean
11070
11244
  }
11071
- as?: {
11072
- before?: boolean
11073
- after?: boolean
11074
- }
11075
- async?: {
11076
- before?: boolean
11077
- after?: boolean
11078
- }
11079
- await?: {
11080
- before?: boolean
11081
- after?: boolean
11082
- }
11083
11245
  boolean?: {
11084
11246
  before?: boolean
11085
11247
  after?: boolean
@@ -11172,18 +11334,10 @@ type StyleKeywordSpacing = []|[{
11172
11334
  before?: boolean
11173
11335
  after?: boolean
11174
11336
  }
11175
- from?: {
11176
- before?: boolean
11177
- after?: boolean
11178
- }
11179
11337
  function?: {
11180
11338
  before?: boolean
11181
11339
  after?: boolean
11182
11340
  }
11183
- get?: {
11184
- before?: boolean
11185
- after?: boolean
11186
- }
11187
11341
  goto?: {
11188
11342
  before?: boolean
11189
11343
  after?: boolean
@@ -11216,10 +11370,6 @@ type StyleKeywordSpacing = []|[{
11216
11370
  before?: boolean
11217
11371
  after?: boolean
11218
11372
  }
11219
- let?: {
11220
- before?: boolean
11221
- after?: boolean
11222
- }
11223
11373
  long?: {
11224
11374
  before?: boolean
11225
11375
  after?: boolean
@@ -11236,10 +11386,6 @@ type StyleKeywordSpacing = []|[{
11236
11386
  before?: boolean
11237
11387
  after?: boolean
11238
11388
  }
11239
- of?: {
11240
- before?: boolean
11241
- after?: boolean
11242
- }
11243
11389
  package?: {
11244
11390
  before?: boolean
11245
11391
  after?: boolean
@@ -11260,14 +11406,6 @@ type StyleKeywordSpacing = []|[{
11260
11406
  before?: boolean
11261
11407
  after?: boolean
11262
11408
  }
11263
- satisfies?: {
11264
- before?: boolean
11265
- after?: boolean
11266
- }
11267
- set?: {
11268
- before?: boolean
11269
- after?: boolean
11270
- }
11271
11409
  short?: {
11272
11410
  before?: boolean
11273
11411
  after?: boolean
@@ -11336,6 +11474,50 @@ type StyleKeywordSpacing = []|[{
11336
11474
  before?: boolean
11337
11475
  after?: boolean
11338
11476
  }
11477
+ accessor?: {
11478
+ before?: boolean
11479
+ after?: boolean
11480
+ }
11481
+ as?: {
11482
+ before?: boolean
11483
+ after?: boolean
11484
+ }
11485
+ async?: {
11486
+ before?: boolean
11487
+ after?: boolean
11488
+ }
11489
+ await?: {
11490
+ before?: boolean
11491
+ after?: boolean
11492
+ }
11493
+ from?: {
11494
+ before?: boolean
11495
+ after?: boolean
11496
+ }
11497
+ get?: {
11498
+ before?: boolean
11499
+ after?: boolean
11500
+ }
11501
+ let?: {
11502
+ before?: boolean
11503
+ after?: boolean
11504
+ }
11505
+ of?: {
11506
+ before?: boolean
11507
+ after?: boolean
11508
+ }
11509
+ satisfies?: {
11510
+ before?: boolean
11511
+ after?: boolean
11512
+ }
11513
+ set?: {
11514
+ before?: boolean
11515
+ after?: boolean
11516
+ }
11517
+ using?: {
11518
+ before?: boolean
11519
+ after?: boolean
11520
+ }
11339
11521
  yield?: {
11340
11522
  before?: boolean
11341
11523
  after?: boolean
@@ -11510,11 +11692,11 @@ interface _StyleMemberDelimiterStyle_DelimiterConfig {
11510
11692
  // ----- style/multiline-comment-style -----
11511
11693
  type StyleMultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", {
11512
11694
  checkJSDoc?: boolean
11695
+ checkExclamation?: boolean
11513
11696
  }])
11514
11697
  // ----- style/multiline-ternary -----
11515
11698
  type StyleMultilineTernary = []|[("always" | "always-multiline" | "never")]|[("always" | "always-multiline" | "never"), {
11516
11699
  ignoreJSX?: boolean
11517
- [k: string]: unknown | undefined
11518
11700
  }]
11519
11701
  // ----- style/new-parens -----
11520
11702
  type StyleNewParens = []|[("always" | "never")]
@@ -11540,6 +11722,11 @@ type StyleNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
11540
11722
  enforceForFunctionPrototypeMethods?: boolean
11541
11723
  allowParensAfterCommentPattern?: string
11542
11724
  nestedConditionalExpressions?: boolean
11725
+ allowNodesInSpreadElement?: {
11726
+ ConditionalExpression?: boolean
11727
+ LogicalExpression?: boolean
11728
+ AwaitExpression?: boolean
11729
+ }
11543
11730
  }])
11544
11731
  // ----- style/no-mixed-operators -----
11545
11732
  type StyleNoMixedOperators = []|[{
@@ -11617,6 +11804,11 @@ type StyleObjectCurlyNewline = []|[((("always" | "never") | {
11617
11804
  minProperties?: number
11618
11805
  consistent?: boolean
11619
11806
  })
11807
+ TSEnumBody?: (("always" | "never") | {
11808
+ multiline?: boolean
11809
+ minProperties?: number
11810
+ consistent?: boolean
11811
+ })
11620
11812
  })]
11621
11813
  // ----- style/object-curly-spacing -----
11622
11814
  type StyleObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
@@ -11626,7 +11818,6 @@ type StyleObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"),
11626
11818
  // ----- style/object-property-newline -----
11627
11819
  type StyleObjectPropertyNewline = []|[{
11628
11820
  allowAllPropertiesOnSameLine?: boolean
11629
- allowMultiplePropertiesPerLine?: boolean
11630
11821
  }]
11631
11822
  // ----- style/one-var-declaration-per-line -----
11632
11823
  type StyleOneVarDeclarationPerLine = []|[("always" | "initializations")]
@@ -11650,11 +11841,12 @@ type StylePaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
11650
11841
  }]
11651
11842
  // ----- style/padding-line-between-statements -----
11652
11843
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
11653
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
11844
+ type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]])
11845
+ type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "return" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using")
11654
11846
  type StylePaddingLineBetweenStatements = {
11655
11847
  blankLine: _StylePaddingLineBetweenStatementsPaddingType
11656
- prev: _StylePaddingLineBetweenStatementsStatementType
11657
- next: _StylePaddingLineBetweenStatementsStatementType
11848
+ prev: _StylePaddingLineBetweenStatementsStatementOption
11849
+ next: _StylePaddingLineBetweenStatementsStatementOption
11658
11850
  }[]
11659
11851
  // ----- style/quote-props -----
11660
11852
  type StyleQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
@@ -11689,12 +11881,14 @@ type StyleSpaceBeforeBlocks = []|[(("always" | "never") | {
11689
11881
  keywords?: ("always" | "never" | "off")
11690
11882
  functions?: ("always" | "never" | "off")
11691
11883
  classes?: ("always" | "never" | "off")
11884
+ modules?: ("always" | "never" | "off")
11692
11885
  })]
11693
11886
  // ----- style/space-before-function-paren -----
11694
11887
  type StyleSpaceBeforeFunctionParen = []|[(("always" | "never") | {
11695
11888
  anonymous?: ("always" | "never" | "ignore")
11696
11889
  named?: ("always" | "never" | "ignore")
11697
11890
  asyncArrow?: ("always" | "never" | "ignore")
11891
+ catch?: ("always" | "never" | "ignore")
11698
11892
  })]
11699
11893
  // ----- style/space-in-parens -----
11700
11894
  type StyleSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
@@ -12271,6 +12465,8 @@ interface _TypescriptNamingConvention_MatchRegexConfig {
12271
12465
  // ----- typescript/no-base-to-string -----
12272
12466
  type TypescriptNoBaseToString = []|[{
12273
12467
 
12468
+ checkUnknown?: boolean
12469
+
12274
12470
  ignoredTypeNames?: string[]
12275
12471
  }]
12276
12472
  // ----- typescript/no-confusing-void-expression -----
@@ -12701,7 +12897,6 @@ type TypescriptPreferDestructuring = []|[({
12701
12897
  enforceForDeclarationWithTypeAnnotation?: boolean
12702
12898
 
12703
12899
  enforceForRenamedProperties?: boolean
12704
- [k: string]: unknown | undefined
12705
12900
  }]
12706
12901
  // ----- typescript/prefer-literal-enum-member -----
12707
12902
  type TypescriptPreferLiteralEnumMember = []|[{
@@ -12730,7 +12925,6 @@ type TypescriptPreferNullishCoalescing = []|[{
12730
12925
  number?: boolean
12731
12926
 
12732
12927
  string?: boolean
12733
- [k: string]: unknown | undefined
12734
12928
  } | true)
12735
12929
 
12736
12930
  ignoreTernaryTests?: boolean
@@ -13009,6 +13203,10 @@ interface _UnicornImportStyle_BooleanObject {
13009
13203
  type UnicornNoArrayReduce = []|[{
13010
13204
  allowSimpleOperations?: boolean
13011
13205
  }]
13206
+ // ----- unicorn/no-array-reverse -----
13207
+ type UnicornNoArrayReverse = []|[{
13208
+ allowExpressionStatement?: boolean
13209
+ }]
13012
13210
  // ----- unicorn/no-instanceof-builtins -----
13013
13211
  type UnicornNoInstanceofBuiltins = []|[{
13014
13212
  useErrorIsError?: boolean