@kitschpatrol/eslint-config 5.5.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -569,7 +569,7 @@ interface RuleOptions {
569
569
  */
570
570
  'html/element-newline'?: Linter.RuleEntry<HtmlElementNewline>
571
571
  /**
572
- * Enforce consistent naming id attributes
572
+ * Enforce consistent naming of id attributes
573
573
  * @see https://html-eslint.org/docs/rules/id-naming-convention
574
574
  */
575
575
  'html/id-naming-convention'?: Linter.RuleEntry<HtmlIdNamingConvention>
@@ -578,47 +578,62 @@ interface RuleOptions {
578
578
  */
579
579
  'html/indent'?: Linter.RuleEntry<HtmlIndent>
580
580
  /**
581
- * Enforce to use lowercase for tag and attribute names.
581
+ * Enforce use of lowercase for tag and attribute names.
582
582
  * @see https://html-eslint.org/docs/rules/lowercase
583
583
  */
584
584
  'html/lowercase'?: Linter.RuleEntry<[]>
585
585
  /**
586
- * Enforce element maximum depth
586
+ * Enforce maximum element depth
587
587
  * @see https://html-eslint.org/docs/rules/max-element-depth
588
588
  */
589
589
  'html/max-element-depth'?: Linter.RuleEntry<HtmlMaxElementDepth>
590
590
  /**
591
- * Disallow to use of abstract roles
591
+ * Disallow use of abstract roles
592
592
  * @see https://html-eslint.org/docs/rules/no-abstract-roles
593
593
  */
594
594
  'html/no-abstract-roles'?: Linter.RuleEntry<[]>
595
595
  /**
596
- * Disallow to use of accesskey attribute
596
+ * Disallow use of accesskey attribute
597
597
  * @see https://html-eslint.org/docs/rules/no-accesskey-attrs
598
598
  */
599
599
  'html/no-accesskey-attrs'?: Linter.RuleEntry<[]>
600
600
  /**
601
- * Disallow to use aria-hidden attributes on the `body` element.
601
+ * Disallow use of aria-hidden attributes on the `body` element.
602
602
  * @see https://html-eslint.org/docs/rules/no-aria-hidden-body
603
603
  */
604
604
  'html/no-aria-hidden-body'?: Linter.RuleEntry<[]>
605
605
  /**
606
- * Disallow to use duplicate attributes
606
+ * Disallow aria-hidden="true" on focusable elements
607
+ * @see https://html-eslint.org/docs/rules/no-aria-hidden-on-focusable
608
+ */
609
+ 'html/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>
610
+ /**
611
+ * Disallow duplicate attributes
607
612
  * @see https://html-eslint.org/docs/rules/no-duplicate-attrs
608
613
  */
609
614
  'html/no-duplicate-attrs'?: Linter.RuleEntry<[]>
610
615
  /**
611
- * Disallow to use duplicate class
616
+ * Disallow duplicate class names
612
617
  * @see https://html-eslint.org/docs/rules/no-duplicate-class
613
618
  */
614
619
  'html/no-duplicate-class'?: Linter.RuleEntry<[]>
615
620
  /**
616
- * Disallow to use duplicate id
621
+ * Disallow duplicate id attributes
617
622
  * @see https://html-eslint.org/docs/rules/no-duplicate-id
618
623
  */
619
624
  'html/no-duplicate-id'?: Linter.RuleEntry<[]>
620
625
  /**
621
- * Disallow an extra spacing around attributes
626
+ * Disallow duplicate tags in `<head>`
627
+ * @see https://html-eslint.org/docs/rules/no-duplicate-in-head
628
+ */
629
+ 'html/no-duplicate-in-head'?: Linter.RuleEntry<[]>
630
+ /**
631
+ * Disallow empty or inaccessible headings.
632
+ * @see https://html-eslint.org/docs/rules/no-empty-headings
633
+ */
634
+ 'html/no-empty-headings'?: Linter.RuleEntry<[]>
635
+ /**
636
+ * Disallow extra spacing around attributes
622
637
  * @see https://html-eslint.org/docs/rules/no-extra-spacing-attrs
623
638
  */
624
639
  'html/no-extra-spacing-attrs'?: Linter.RuleEntry<HtmlNoExtraSpacingAttrs>
@@ -632,11 +647,20 @@ interface RuleOptions {
632
647
  * @see https://html-eslint.org/docs/rules/no-heading-inside-button
633
648
  */
634
649
  'html/no-heading-inside-button'?: Linter.RuleEntry<[]>
650
+ /**
651
+ * Disallow HTML attributes that have no effect in their context
652
+ */
653
+ 'html/no-ineffective-attrs'?: Linter.RuleEntry<[]>
635
654
  /**
636
655
  * Disallow using inline style
637
656
  * @see https://html-eslint.org/docs/rules/no-inline-styles
638
657
  */
639
658
  'html/no-inline-styles'?: Linter.RuleEntry<[]>
659
+ /**
660
+ * Disallows the use of invalid HTML entities
661
+ * @see https://html-eslint.org/docs/rules/no-invalid-entity
662
+ */
663
+ 'html/no-invalid-entity'?: Linter.RuleEntry<[]>
640
664
  /**
641
665
  * Disallows use of invalid role.
642
666
  * @see https://html-eslint.org/docs/rules/no-invalid-role
@@ -663,7 +687,7 @@ interface RuleOptions {
663
687
  */
664
688
  'html/no-non-scalable-viewport'?: Linter.RuleEntry<[]>
665
689
  /**
666
- * Disallow to use obsolete elements in HTML5
690
+ * Disallow use of obsolete elements in HTML5
667
691
  * @see https://html-eslint.org/docs/rules/no-obsolete-tags
668
692
  */
669
693
  'html/no-obsolete-tags'?: Linter.RuleEntry<[]>
@@ -718,7 +742,7 @@ interface RuleOptions {
718
742
  */
719
743
  'html/require-attrs'?: Linter.RuleEntry<HtmlRequireAttrs>
720
744
  /**
721
- * Require use of button element with a valid type attribute.
745
+ * Require use of the button element with a valid type attribute.
722
746
  * @see https://html-eslint.org/docs/rules/require-button-type
723
747
  */
724
748
  'html/require-button-type'?: Linter.RuleEntry<[]>
@@ -728,7 +752,7 @@ interface RuleOptions {
728
752
  */
729
753
  'html/require-closing-tags'?: Linter.RuleEntry<HtmlRequireClosingTags>
730
754
  /**
731
- * Require `<!DOCTYPE HTML>` in html,
755
+ * Require `<!DOCTYPE HTML>` in HTML
732
756
  * @see https://html-eslint.org/docs/rules/require-doctype
733
757
  */
734
758
  'html/require-doctype'?: Linter.RuleEntry<[]>
@@ -748,7 +772,7 @@ interface RuleOptions {
748
772
  */
749
773
  'html/require-frame-title'?: Linter.RuleEntry<[]>
750
774
  /**
751
- * Require `alt` attribute at `<img>` tag
775
+ * Require `alt` attribute on `<img>` tag
752
776
  * @see https://html-eslint.org/docs/rules/require-img-alt
753
777
  */
754
778
  'html/require-img-alt'?: Linter.RuleEntry<HtmlRequireImgAlt>
@@ -758,17 +782,17 @@ interface RuleOptions {
758
782
  */
759
783
  'html/require-input-label'?: Linter.RuleEntry<[]>
760
784
  /**
761
- * Require `lang` attribute at `<html>` tag
785
+ * Require `lang` attribute on `<html>` tag
762
786
  * @see https://html-eslint.org/docs/rules/require-lang
763
787
  */
764
788
  'html/require-lang'?: Linter.RuleEntry<[]>
765
789
  /**
766
- * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
790
+ * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
767
791
  * @see https://html-eslint.org/docs/rules/require-li-container
768
792
  */
769
793
  'html/require-li-container'?: Linter.RuleEntry<[]>
770
794
  /**
771
- * Enforce to use `<meta charset="...">` in `<head>`
795
+ * Enforce use of `<meta charset="...">` in `<head>`
772
796
  * @see https://html-eslint.org/docs/rules/require-meta-charset
773
797
  */
774
798
  'html/require-meta-charset'?: Linter.RuleEntry<[]>
@@ -778,22 +802,22 @@ interface RuleOptions {
778
802
  */
779
803
  'html/require-meta-description'?: Linter.RuleEntry<[]>
780
804
  /**
781
- * Enforce to use `<meta name="viewport">` in `<head>`
805
+ * Enforce use of `<meta name="viewport">` in `<head>`
782
806
  * @see https://html-eslint.org/docs/rules/require-meta-viewport
783
807
  */
784
808
  'html/require-meta-viewport'?: Linter.RuleEntry<[]>
785
809
  /**
786
- * Enforce to use specified meta tags for open graph protocol.
810
+ * Enforce use of specified meta tags for open graph protocol.
787
811
  * @see https://html-eslint.org/docs/rules/require-open-graph-protocol
788
812
  */
789
813
  'html/require-open-graph-protocol'?: Linter.RuleEntry<HtmlRequireOpenGraphProtocol>
790
814
  /**
791
- * Require `<title><title/>` in the `<head><head/>`
815
+ * Require `<title>` in the `<head>`
792
816
  * @see https://html-eslint.org/docs/rules/require-title
793
817
  */
794
818
  'html/require-title'?: Linter.RuleEntry<[]>
795
819
  /**
796
- * Enforce attributes alphabetical sorting
820
+ * Enforce priority and alphabetical sorting of attributes
797
821
  * @see https://html-eslint.org/docs/rules/sort-attrs
798
822
  */
799
823
  'html/sort-attrs'?: Linter.RuleEntry<HtmlSortAttrs>
@@ -831,233 +855,238 @@ interface RuleOptions {
831
855
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
832
856
  /**
833
857
  * Enforce or ban the use of inline type-only markers for named imports.
834
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/consistent-type-specifier-style.md
858
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
835
859
  */
836
860
  'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
837
861
  /**
838
862
  * Ensure a default export is present, given a default import.
839
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/default.md
863
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
840
864
  */
841
865
  'import/default'?: Linter.RuleEntry<[]>
842
866
  /**
843
867
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
844
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/dynamic-import-chunkname.md
868
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
845
869
  */
846
870
  'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
847
871
  /**
848
872
  * Forbid any invalid exports, i.e. re-export of the same name.
849
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/export.md
873
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
850
874
  */
851
875
  'import/export'?: Linter.RuleEntry<[]>
852
876
  /**
853
877
  * Ensure all exports appear after other statements.
854
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/exports-last.md
878
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
855
879
  */
856
880
  'import/exports-last'?: Linter.RuleEntry<[]>
857
881
  /**
858
882
  * Ensure consistent use of file extension within the import path.
859
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/extensions.md
883
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
860
884
  */
861
885
  'import/extensions'?: Linter.RuleEntry<ImportExtensions>
862
886
  /**
863
887
  * Ensure all imports appear before other statements.
864
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/first.md
888
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
865
889
  */
866
890
  'import/first'?: Linter.RuleEntry<ImportFirst>
867
891
  /**
868
892
  * Prefer named exports to be grouped together in a single export declaration.
869
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/group-exports.md
893
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
870
894
  */
871
895
  'import/group-exports'?: Linter.RuleEntry<[]>
872
896
  /**
873
897
  * Replaced by `import-x/first`.
874
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/imports-first.md
898
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
875
899
  * @deprecated
876
900
  */
877
901
  'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
878
902
  /**
879
903
  * Enforce the maximum number of dependencies a module can have.
880
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/max-dependencies.md
904
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
881
905
  */
882
906
  'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
883
907
  /**
884
908
  * Ensure named imports correspond to a named export in the remote file.
885
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/named.md
909
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
886
910
  */
887
911
  'import/named'?: Linter.RuleEntry<ImportNamed>
888
912
  /**
889
913
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
890
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/namespace.md
914
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
891
915
  */
892
916
  'import/namespace'?: Linter.RuleEntry<ImportNamespace>
893
917
  /**
894
918
  * Enforce a newline after import statements.
895
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/newline-after-import.md
919
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
896
920
  */
897
921
  'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
898
922
  /**
899
923
  * Forbid import of modules using absolute paths.
900
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-absolute-path.md
924
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
901
925
  */
902
926
  'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
903
927
  /**
904
928
  * Forbid AMD `require` and `define` calls.
905
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-amd.md
929
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
906
930
  */
907
931
  'import/no-amd'?: Linter.RuleEntry<[]>
908
932
  /**
909
933
  * Forbid anonymous values as default exports.
910
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-anonymous-default-export.md
934
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
911
935
  */
912
936
  'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
913
937
  /**
914
938
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
915
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-commonjs.md
939
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
916
940
  */
917
941
  'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
918
942
  /**
919
943
  * Forbid a module from importing a module with a dependency path back to itself.
920
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-cycle.md
944
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
921
945
  */
922
946
  'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
923
947
  /**
924
948
  * Forbid default exports.
925
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-default-export.md
949
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
926
950
  */
927
951
  'import/no-default-export'?: Linter.RuleEntry<[]>
928
952
  /**
929
953
  * Forbid imported names marked with `@deprecated` documentation tag.
930
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-deprecated.md
954
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
931
955
  */
932
956
  'import/no-deprecated'?: Linter.RuleEntry<[]>
933
957
  /**
934
958
  * Forbid repeated import of the same module in multiple places.
935
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-duplicates.md
959
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
936
960
  */
937
961
  'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
938
962
  /**
939
963
  * Forbid `require()` calls with expressions.
940
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-dynamic-require.md
964
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
941
965
  */
942
966
  'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
943
967
  /**
944
968
  * Forbid empty named import blocks.
945
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-empty-named-blocks.md
969
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
946
970
  */
947
971
  'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
948
972
  /**
949
973
  * Forbid the use of extraneous packages.
950
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-extraneous-dependencies.md
974
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
951
975
  */
952
976
  'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
953
977
  /**
954
978
  * Forbid import statements with CommonJS module.exports.
955
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-import-module-exports.md
979
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
956
980
  */
957
981
  'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
958
982
  /**
959
983
  * Forbid importing the submodules of other modules.
960
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-internal-modules.md
984
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
961
985
  */
962
986
  'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
963
987
  /**
964
988
  * Forbid the use of mutable exports with `var` or `let`.
965
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-mutable-exports.md
989
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
966
990
  */
967
991
  'import/no-mutable-exports'?: Linter.RuleEntry<[]>
968
992
  /**
969
993
  * Forbid use of exported name as identifier of default export.
970
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-as-default.md
994
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
971
995
  */
972
996
  'import/no-named-as-default'?: Linter.RuleEntry<[]>
973
997
  /**
974
998
  * Forbid use of exported name as property of default export.
975
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-as-default-member.md
999
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
976
1000
  */
977
1001
  'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
978
1002
  /**
979
1003
  * Forbid named default exports.
980
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-default.md
1004
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
981
1005
  */
982
1006
  'import/no-named-default'?: Linter.RuleEntry<[]>
983
1007
  /**
984
1008
  * Forbid named exports.
985
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-named-export.md
1009
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
986
1010
  */
987
1011
  'import/no-named-export'?: Linter.RuleEntry<[]>
988
1012
  /**
989
1013
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
990
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-namespace.md
1014
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
991
1015
  */
992
1016
  'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
993
1017
  /**
994
1018
  * Forbid Node.js builtin modules.
995
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-nodejs-modules.md
1019
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
996
1020
  */
997
1021
  'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
998
1022
  /**
999
1023
  * Forbid importing packages through relative paths.
1000
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-relative-packages.md
1024
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
1001
1025
  */
1002
1026
  'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
1003
1027
  /**
1004
1028
  * Forbid importing modules from parent directories.
1005
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-relative-parent-imports.md
1029
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
1006
1030
  */
1007
1031
  'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
1008
1032
  /**
1009
1033
  * Forbid importing a default export by a different name.
1010
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-rename-default.md
1034
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
1011
1035
  */
1012
1036
  'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
1013
1037
  /**
1014
1038
  * Enforce which files can be imported in a given folder.
1015
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-restricted-paths.md
1039
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
1016
1040
  */
1017
1041
  'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
1018
1042
  /**
1019
1043
  * Forbid a module from importing itself.
1020
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-self-import.md
1044
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
1021
1045
  */
1022
1046
  'import/no-self-import'?: Linter.RuleEntry<[]>
1023
1047
  /**
1024
1048
  * Forbid unassigned imports.
1025
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unassigned-import.md
1049
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
1026
1050
  */
1027
1051
  'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
1028
1052
  /**
1029
1053
  * Ensure imports point to a file/module that can be resolved.
1030
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unresolved.md
1054
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
1031
1055
  */
1032
1056
  'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
1033
1057
  /**
1034
1058
  * Forbid modules without exports, or exports without matching import in another module.
1035
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-unused-modules.md
1059
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
1036
1060
  */
1037
1061
  'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
1038
1062
  /**
1039
1063
  * Forbid unnecessary path segments in import and require statements.
1040
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-useless-path-segments.md
1064
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
1041
1065
  */
1042
1066
  'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
1043
1067
  /**
1044
1068
  * Forbid webpack loader syntax in imports.
1045
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/no-webpack-loader-syntax.md
1069
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
1046
1070
  */
1047
1071
  'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1048
1072
  /**
1049
1073
  * Enforce a convention in module import order.
1050
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/order.md
1074
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
1051
1075
  */
1052
1076
  'import/order'?: Linter.RuleEntry<ImportOrder>
1053
1077
  /**
1054
1078
  * Prefer a default export if module exports a single name or multiple names.
1055
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/prefer-default-export.md
1079
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
1056
1080
  */
1057
1081
  'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
1082
+ /**
1083
+ * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
1084
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
1085
+ */
1086
+ 'import/prefer-namespace-import'?: Linter.RuleEntry<ImportPreferNamespaceImport>
1058
1087
  /**
1059
1088
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1060
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.1/docs/rules/unambiguous.md
1089
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
1061
1090
  */
1062
1091
  'import/unambiguous'?: Linter.RuleEntry<[]>
1063
1092
  /**
@@ -1364,91 +1393,213 @@ interface RuleOptions {
1364
1393
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
1365
1394
  /**
1366
1395
  * Reports on unnecessary empty arrays and objects.
1396
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/no-empty-fields.md
1367
1397
  */
1368
- 'json-package/no-empty-fields'?: Linter.RuleEntry<[]>
1398
+ 'json-package/no-empty-fields'?: Linter.RuleEntry<JsonPackageNoEmptyFields>
1369
1399
  /**
1370
1400
  * Prevents adding unnecessary / redundant files.
1401
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/no-redundant-files.md
1371
1402
  */
1372
1403
  'json-package/no-redundant-files'?: Linter.RuleEntry<[]>
1373
1404
  /**
1374
1405
  * Package properties must be declared in standard order
1406
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/order-properties.md
1375
1407
  */
1376
1408
  'json-package/order-properties'?: Linter.RuleEntry<JsonPackageOrderProperties>
1377
1409
  /**
1378
1410
  * Enforce either object or shorthand declaration for repository.
1411
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/repository-shorthand.md
1379
1412
  */
1380
1413
  'json-package/repository-shorthand'?: Linter.RuleEntry<JsonPackageRepositoryShorthand>
1381
1414
  /**
1382
1415
  * Requires the `author` property to be present.
1416
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-author.md
1417
+ */
1418
+ 'json-package/require-author'?: Linter.RuleEntry<JsonPackageRequireAuthor>
1419
+ /**
1420
+ * Requires the `bugs` property to be present.
1421
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-bugs.md
1422
+ */
1423
+ 'json-package/require-bugs'?: Linter.RuleEntry<JsonPackageRequireBugs>
1424
+ /**
1425
+ * Requires the `bundleDependencies` property to be present.
1426
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-bundleDependencies.md
1427
+ */
1428
+ 'json-package/require-bundleDependencies'?: Linter.RuleEntry<JsonPackageRequireBundleDependencies>
1429
+ /**
1430
+ * Requires the `dependencies` property to be present.
1431
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-dependencies.md
1383
1432
  */
1384
- 'json-package/require-author'?: Linter.RuleEntry<[]>
1433
+ 'json-package/require-dependencies'?: Linter.RuleEntry<JsonPackageRequireDependencies>
1385
1434
  /**
1386
1435
  * Requires the `description` property to be present.
1436
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-description.md
1437
+ */
1438
+ 'json-package/require-description'?: Linter.RuleEntry<JsonPackageRequireDescription>
1439
+ /**
1440
+ * Requires the `devDependencies` property to be present.
1441
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-devDependencies.md
1387
1442
  */
1388
- 'json-package/require-description'?: Linter.RuleEntry<[]>
1443
+ 'json-package/require-devDependencies'?: Linter.RuleEntry<JsonPackageRequireDevDependencies>
1389
1444
  /**
1390
1445
  * Requires the `engines` property to be present.
1446
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-engines.md
1391
1447
  */
1392
- 'json-package/require-engines'?: Linter.RuleEntry<[]>
1448
+ 'json-package/require-engines'?: Linter.RuleEntry<JsonPackageRequireEngines>
1393
1449
  /**
1394
1450
  * Requires the `files` property to be present.
1451
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-files.md
1395
1452
  */
1396
- 'json-package/require-files'?: Linter.RuleEntry<[]>
1453
+ 'json-package/require-files'?: Linter.RuleEntry<JsonPackageRequireFiles>
1397
1454
  /**
1398
1455
  * Requires the `keywords` property to be present.
1456
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-keywords.md
1399
1457
  */
1400
- 'json-package/require-keywords'?: Linter.RuleEntry<[]>
1458
+ 'json-package/require-keywords'?: Linter.RuleEntry<JsonPackageRequireKeywords>
1401
1459
  /**
1402
1460
  * Requires the `name` property to be present.
1461
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-name.md
1462
+ */
1463
+ 'json-package/require-name'?: Linter.RuleEntry<JsonPackageRequireName>
1464
+ /**
1465
+ * Requires the `optionalDependencies` property to be present.
1466
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-optionalDependencies.md
1403
1467
  */
1404
- 'json-package/require-name'?: Linter.RuleEntry<[]>
1468
+ 'json-package/require-optionalDependencies'?: Linter.RuleEntry<JsonPackageRequireOptionalDependencies>
1469
+ /**
1470
+ * Requires the `peerDependencies` property to be present.
1471
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-peerDependencies.md
1472
+ */
1473
+ 'json-package/require-peerDependencies'?: Linter.RuleEntry<JsonPackageRequirePeerDependencies>
1405
1474
  /**
1406
1475
  * Requires the `type` property to be present.
1476
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-type.md
1407
1477
  */
1408
- 'json-package/require-type'?: Linter.RuleEntry<[]>
1478
+ 'json-package/require-type'?: Linter.RuleEntry<JsonPackageRequireType>
1409
1479
  /**
1410
1480
  * Requires the `types` property to be present.
1481
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-types.md
1411
1482
  */
1412
- 'json-package/require-types'?: Linter.RuleEntry<[]>
1483
+ 'json-package/require-types'?: Linter.RuleEntry<JsonPackageRequireTypes>
1413
1484
  /**
1414
1485
  * Requires the `version` property to be present.
1486
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/require-version.md
1415
1487
  */
1416
- 'json-package/require-version'?: Linter.RuleEntry<[]>
1488
+ 'json-package/require-version'?: Linter.RuleEntry<JsonPackageRequireVersion>
1417
1489
  /**
1418
1490
  * Restricts the range of dependencies to allow or disallow specific types of ranges.
1491
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/restrict-dependency-ranges.md
1419
1492
  */
1420
1493
  'json-package/restrict-dependency-ranges'?: Linter.RuleEntry<JsonPackageRestrictDependencyRanges>
1421
1494
  /**
1422
1495
  * Dependencies, scripts, and configuration values must be declared in alphabetical order.
1496
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/sort-collections.md
1423
1497
  */
1424
1498
  'json-package/sort-collections'?: Linter.RuleEntry<JsonPackageSortCollections>
1425
1499
  /**
1426
1500
  * Checks a dependency isn't specified more than once (i.e. in `dependencies` and `devDependencies`)
1501
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/unique-dependencies.md
1427
1502
  */
1428
1503
  'json-package/unique-dependencies'?: Linter.RuleEntry<[]>
1504
+ /**
1505
+ * Enforce that the `author` property is valid.
1506
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-author.md
1507
+ */
1508
+ 'json-package/valid-author'?: Linter.RuleEntry<[]>
1509
+ /**
1510
+ * Enforce that the `bin` property is valid.
1511
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-bin.md
1512
+ */
1513
+ 'json-package/valid-bin'?: Linter.RuleEntry<JsonPackageValidBin>
1514
+ /**
1515
+ * Enforce that the `bundleDependencies` (also: `bundledDependencies`) property is valid.
1516
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-bundleDependencies.md
1517
+ */
1518
+ 'json-package/valid-bundleDependencies'?: Linter.RuleEntry<[]>
1519
+ /**
1520
+ * Enforce that the `config` property is valid.
1521
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-config.md
1522
+ */
1523
+ 'json-package/valid-config'?: Linter.RuleEntry<[]>
1524
+ /**
1525
+ * Enforce that the `cpu` property is valid.
1526
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-cpu.md
1527
+ */
1528
+ 'json-package/valid-cpu'?: Linter.RuleEntry<[]>
1529
+ /**
1530
+ * Enforce that the `dependencies` property is valid.
1531
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-dependencies.md
1532
+ */
1533
+ 'json-package/valid-dependencies'?: Linter.RuleEntry<[]>
1534
+ /**
1535
+ * Enforce that the `description` property is valid.
1536
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-description.md
1537
+ */
1538
+ 'json-package/valid-description'?: Linter.RuleEntry<[]>
1539
+ /**
1540
+ * Enforce that the `devDependencies` property is valid.
1541
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-devDependencies.md
1542
+ */
1543
+ 'json-package/valid-devDependencies'?: Linter.RuleEntry<[]>
1544
+ /**
1545
+ * Enforce that the `directories` property is valid.
1546
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-directories.md
1547
+ */
1548
+ 'json-package/valid-directories'?: Linter.RuleEntry<[]>
1549
+ /**
1550
+ * Enforce that the `exports` property is valid.
1551
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-exports.md
1552
+ */
1553
+ 'json-package/valid-exports'?: Linter.RuleEntry<[]>
1554
+ /**
1555
+ * Enforce that the `license` property is valid.
1556
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-license.md
1557
+ */
1558
+ 'json-package/valid-license'?: Linter.RuleEntry<[]>
1429
1559
  /**
1430
1560
  * Checks existence of local dependencies in the package.json
1561
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-local-dependency.md
1562
+ * @deprecated
1431
1563
  */
1432
1564
  'json-package/valid-local-dependency'?: Linter.RuleEntry<[]>
1433
1565
  /**
1434
1566
  * Enforce that package names are valid npm package names
1567
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-name.md
1435
1568
  */
1436
1569
  'json-package/valid-name'?: Linter.RuleEntry<[]>
1437
1570
  /**
1438
- * Enforce that package.json has all properties required by the npm spec
1439
- * @deprecated
1571
+ * Enforce that the `optionalDependencies` property is valid.
1572
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-optionalDependencies.md
1440
1573
  */
1441
- 'json-package/valid-package-def'?: Linter.RuleEntry<JsonPackageValidPackageDef>
1574
+ 'json-package/valid-optionalDependencies'?: Linter.RuleEntry<[]>
1442
1575
  /**
1443
1576
  * Enforce that package.json has all properties required by the npm spec
1577
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-package-definition.md
1444
1578
  */
1445
1579
  'json-package/valid-package-definition'?: Linter.RuleEntry<JsonPackageValidPackageDefinition>
1580
+ /**
1581
+ * Enforce that the `peerDependencies` property is valid.
1582
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-peerDependencies.md
1583
+ */
1584
+ 'json-package/valid-peerDependencies'?: Linter.RuleEntry<[]>
1446
1585
  /**
1447
1586
  * Enforce that if repository directory is specified, it matches the path to the package.json file
1587
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-repository-directory.md
1448
1588
  */
1449
1589
  'json-package/valid-repository-directory'?: Linter.RuleEntry<[]>
1590
+ /**
1591
+ * Enforce that the `scripts` property is valid.
1592
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-scripts.md
1593
+ */
1594
+ 'json-package/valid-scripts'?: Linter.RuleEntry<[]>
1595
+ /**
1596
+ * Enforce that the `type` property is valid.
1597
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-type.md
1598
+ */
1599
+ 'json-package/valid-type'?: Linter.RuleEntry<[]>
1450
1600
  /**
1451
1601
  * Enforce that package versions are valid semver specifiers
1602
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-version.md
1452
1603
  */
1453
1604
  'json-package/valid-version'?: Linter.RuleEntry<[]>
1454
1605
  /**
@@ -2088,7 +2239,7 @@ interface RuleOptions {
2088
2239
  */
2089
2240
  'no-console'?: Linter.RuleEntry<NoConsole>
2090
2241
  /**
2091
- * Disallow reassigning `const` variables
2242
+ * Disallow reassigning `const`, `using`, and `await using` variables
2092
2243
  * @see https://eslint.org/docs/latest/rules/no-const-assign
2093
2244
  */
2094
2245
  'no-const-assign'?: Linter.RuleEntry<[]>
@@ -3695,7 +3846,7 @@ interface RuleOptions {
3695
3846
  'react/no-nested-components'?: Linter.RuleEntry<[]>
3696
3847
  /**
3697
3848
  * Disallow nesting lazy component declarations inside other components.
3698
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3849
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3699
3850
  */
3700
3851
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3701
3852
  /**
@@ -4621,6 +4772,11 @@ interface RuleOptions {
4621
4772
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/
4622
4773
  */
4623
4774
  'svelte/prefer-style-directive'?: Linter.RuleEntry<[]>
4775
+ /**
4776
+ * disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity
4777
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-svelte-reactivity/
4778
+ */
4779
+ 'svelte/prefer-svelte-reactivity'?: Linter.RuleEntry<[]>
4624
4780
  /**
4625
4781
  * Prefer using writable $derived instead of $state and $effect
4626
4782
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-writable-derived/
@@ -4739,6 +4895,11 @@ interface RuleOptions {
4739
4895
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
4740
4896
  */
4741
4897
  'test/consistent-test-it'?: Linter.RuleEntry<TestConsistentTestIt>
4898
+ /**
4899
+ * enforce using vitest or vi but not both
4900
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
4901
+ */
4902
+ 'test/consistent-vitest-vi'?: Linter.RuleEntry<TestConsistentVitestVi>
4742
4903
  /**
4743
4904
  * enforce having expectation in test body
4744
4905
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
@@ -4815,6 +4976,11 @@ interface RuleOptions {
4815
4976
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
4816
4977
  */
4817
4978
  'test/no-import-node-test'?: Linter.RuleEntry<[]>
4979
+ /**
4980
+ * disallow importing Vitest globals
4981
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
4982
+ */
4983
+ 'test/no-importing-vitest-globals'?: Linter.RuleEntry<[]>
4818
4984
  /**
4819
4985
  * disallow string interpolation in snapshots
4820
4986
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
@@ -4851,7 +5017,7 @@ interface RuleOptions {
4851
5017
  */
4852
5018
  'test/no-standalone-expect'?: Linter.RuleEntry<TestNoStandaloneExpect>
4853
5019
  /**
4854
- * Disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
5020
+ * disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
4855
5021
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
4856
5022
  */
4857
5023
  'test/no-test-prefixes'?: Linter.RuleEntry<[]>
@@ -4900,6 +5066,16 @@ interface RuleOptions {
4900
5066
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
4901
5067
  */
4902
5068
  'test/padding-around-test-blocks'?: Linter.RuleEntry<[]>
5069
+ /**
5070
+ * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
5071
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
5072
+ */
5073
+ 'test/prefer-called-once'?: Linter.RuleEntry<[]>
5074
+ /**
5075
+ * enforce using `toBeCalledTimes(1)` or `toHaveBeenCalledTimes(1)`
5076
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
5077
+ */
5078
+ 'test/prefer-called-times'?: Linter.RuleEntry<[]>
4903
5079
  /**
4904
5080
  * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4905
5081
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
@@ -4945,6 +5121,11 @@ interface RuleOptions {
4945
5121
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
4946
5122
  */
4947
5123
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
5124
+ /**
5125
+ * enforce importing Vitest globals
5126
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
5127
+ */
5128
+ 'test/prefer-importing-vitest-globals'?: Linter.RuleEntry<[]>
4948
5129
  /**
4949
5130
  * enforce lowercase titles
4950
5131
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
@@ -5060,6 +5241,11 @@ interface RuleOptions {
5060
5241
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
5061
5242
  */
5062
5243
  'test/valid-title'?: Linter.RuleEntry<TestValidTitle>
5244
+ /**
5245
+ * disallow `.todo` usage
5246
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md
5247
+ */
5248
+ 'test/warn-todo'?: Linter.RuleEntry<[]>
5063
5249
  /**
5064
5250
  * enforce linebreaks after opening and before closing array brackets
5065
5251
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/array-bracket-newline.html
@@ -5840,670 +6026,690 @@ interface RuleOptions {
5840
6026
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
5841
6027
  /**
5842
6028
  * Improve regexes by making them shorter, consistent, and safer.
5843
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
6029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/better-regex.md
5844
6030
  */
5845
6031
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
5846
6032
  /**
5847
6033
  * Enforce a specific parameter name in catch clauses.
5848
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
6034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/catch-error-name.md
5849
6035
  */
5850
6036
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
5851
6037
  /**
5852
6038
  * Enforce consistent assertion style with `node:assert`.
5853
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
6039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-assert.md
5854
6040
  */
5855
6041
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
5856
6042
  /**
5857
6043
  * Prefer passing `Date` directly to the constructor when cloning.
5858
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
6044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-date-clone.md
5859
6045
  */
5860
6046
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
5861
6047
  /**
5862
6048
  * Use destructured variables over properties.
5863
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
6049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-destructuring.md
5864
6050
  */
5865
6051
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
5866
6052
  /**
5867
6053
  * Prefer consistent types when spreading a ternary in an array literal.
5868
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
6054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-empty-array-spread.md
5869
6055
  */
5870
6056
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
5871
6057
  /**
5872
6058
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5873
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
6059
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-existence-index-check.md
5874
6060
  */
5875
6061
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
5876
6062
  /**
5877
6063
  * Move function definitions to the highest possible scope.
5878
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
6064
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/consistent-function-scoping.md
5879
6065
  */
5880
6066
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
5881
6067
  /**
5882
6068
  * Enforce correct `Error` subclassing.
5883
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
6069
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/custom-error-definition.md
5884
6070
  */
5885
6071
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
5886
6072
  /**
5887
6073
  * Enforce no spaces between braces.
5888
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
6074
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/empty-brace-spaces.md
5889
6075
  */
5890
6076
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
5891
6077
  /**
5892
6078
  * Enforce passing a `message` value when creating a built-in error.
5893
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
6079
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/error-message.md
5894
6080
  */
5895
6081
  'unicorn/error-message'?: Linter.RuleEntry<[]>
5896
6082
  /**
5897
6083
  * Require escape sequences to use uppercase or lowercase values.
5898
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
6084
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/escape-case.md
5899
6085
  */
5900
6086
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
5901
6087
  /**
5902
6088
  * Add expiration conditions to TODO comments.
5903
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
6089
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/expiring-todo-comments.md
5904
6090
  */
5905
6091
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
5906
6092
  /**
5907
6093
  * Enforce explicitly comparing the `length` or `size` property of a value.
5908
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
6094
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/explicit-length-check.md
5909
6095
  */
5910
6096
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
5911
6097
  /**
5912
6098
  * Enforce a case style for filenames.
5913
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
6099
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/filename-case.md
5914
6100
  */
5915
6101
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
5916
6102
  /**
5917
6103
  * Enforce specific import styles per module.
5918
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
6104
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/import-style.md
5919
6105
  */
5920
6106
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
5921
6107
  /**
5922
6108
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
5923
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
6109
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/new-for-builtins.md
5924
6110
  */
5925
6111
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
5926
6112
  /**
5927
6113
  * Enforce specifying rules to disable in `eslint-disable` comments.
5928
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
6114
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-abusive-eslint-disable.md
5929
6115
  */
5930
6116
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
5931
6117
  /**
5932
6118
  * Disallow recursive access to `this` within getters and setters.
5933
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
6119
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-accessor-recursion.md
5934
6120
  */
5935
6121
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
5936
6122
  /**
5937
6123
  * Disallow anonymous functions and classes as the default export.
5938
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
6124
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-anonymous-default-export.md
5939
6125
  */
5940
6126
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
5941
6127
  /**
5942
6128
  * Prevent passing a function reference directly to iterator methods.
5943
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
6129
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-callback-reference.md
5944
6130
  */
5945
6131
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
5946
6132
  /**
5947
6133
  * Prefer `for…of` over the `forEach` method.
5948
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
6134
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-for-each.md
5949
6135
  */
5950
6136
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
5951
6137
  /**
5952
6138
  * Disallow using the `this` argument in array methods.
5953
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
6139
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-method-this-argument.md
5954
6140
  */
5955
6141
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
5956
6142
  /**
5957
6143
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
5958
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
6144
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-array-push-push
5959
6145
  * @deprecated
5960
6146
  */
5961
6147
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
5962
6148
  /**
5963
6149
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
5964
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
6150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reduce.md
5965
6151
  */
5966
6152
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
6153
+ /**
6154
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
6155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-array-reverse.md
6156
+ */
6157
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
5967
6158
  /**
5968
6159
  * Disallow member access from await expression.
5969
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
6160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-expression-member.md
5970
6161
  */
5971
6162
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
5972
6163
  /**
5973
6164
  * Disallow using `await` in `Promise` method parameters.
5974
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
6165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-await-in-promise-methods.md
5975
6166
  */
5976
6167
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
5977
6168
  /**
5978
6169
  * Do not use leading/trailing space between `console.log` parameters.
5979
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
6170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-console-spaces.md
5980
6171
  */
5981
6172
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
5982
6173
  /**
5983
6174
  * Do not use `document.cookie` directly.
5984
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
6175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-document-cookie.md
5985
6176
  */
5986
6177
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
5987
6178
  /**
5988
6179
  * Disallow empty files.
5989
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
6180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-empty-file.md
5990
6181
  */
5991
6182
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
5992
6183
  /**
5993
6184
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
5994
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
6185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-for-loop.md
5995
6186
  */
5996
6187
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
5997
6188
  /**
5998
6189
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
5999
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
6190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-hex-escape.md
6000
6191
  */
6001
6192
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
6002
6193
  /**
6003
6194
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6004
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
6195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-instanceof-array
6005
6196
  * @deprecated
6006
6197
  */
6007
6198
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
6008
6199
  /**
6009
6200
  * Disallow `instanceof` with built-in objects
6010
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
6201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-instanceof-builtins.md
6011
6202
  */
6012
6203
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
6013
6204
  /**
6014
6205
  * Disallow invalid options in `fetch()` and `new Request()`.
6015
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
6206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-fetch-options.md
6016
6207
  */
6017
6208
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
6018
6209
  /**
6019
6210
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6020
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
6211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-invalid-remove-event-listener.md
6021
6212
  */
6022
6213
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
6023
6214
  /**
6024
6215
  * Disallow identifiers starting with `new` or `class`.
6025
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
6216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-keyword-prefix.md
6026
6217
  */
6027
6218
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
6028
6219
  /**
6029
6220
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6030
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
6221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/deprecated-rules.md#no-length-as-slice-end
6031
6222
  * @deprecated
6032
6223
  */
6033
6224
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
6034
6225
  /**
6035
6226
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6036
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
6227
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-lonely-if.md
6037
6228
  */
6038
6229
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
6039
6230
  /**
6040
6231
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6041
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
6232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-magic-array-flat-depth.md
6042
6233
  */
6043
6234
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
6044
6235
  /**
6045
6236
  * Disallow named usage of default import and export.
6046
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
6237
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-named-default.md
6047
6238
  */
6048
6239
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
6049
6240
  /**
6050
6241
  * Disallow negated conditions.
6051
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
6242
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negated-condition.md
6052
6243
  */
6053
6244
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
6054
6245
  /**
6055
6246
  * Disallow negated expression in equality check.
6056
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
6247
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-negation-in-equality-check.md
6057
6248
  */
6058
6249
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
6059
6250
  /**
6060
6251
  * Disallow nested ternary expressions.
6061
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
6252
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-nested-ternary.md
6062
6253
  */
6063
6254
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
6064
6255
  /**
6065
6256
  * Disallow `new Array()`.
6066
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
6257
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-array.md
6067
6258
  */
6068
6259
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
6069
6260
  /**
6070
6261
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6071
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
6262
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-new-buffer.md
6072
6263
  */
6073
6264
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
6074
6265
  /**
6075
6266
  * Disallow the use of the `null` literal.
6076
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
6267
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-null.md
6077
6268
  */
6078
6269
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
6079
6270
  /**
6080
6271
  * Disallow the use of objects as default parameters.
6081
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
6272
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-object-as-default-parameter.md
6082
6273
  */
6083
6274
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
6084
6275
  /**
6085
6276
  * Disallow `process.exit()`.
6086
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
6277
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-process-exit.md
6087
6278
  */
6088
6279
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
6089
6280
  /**
6090
6281
  * Disallow passing single-element arrays to `Promise` methods.
6091
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
6282
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-single-promise-in-promise-methods.md
6092
6283
  */
6093
6284
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
6094
6285
  /**
6095
6286
  * Disallow classes that only have static members.
6096
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
6287
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-static-only-class.md
6097
6288
  */
6098
6289
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
6099
6290
  /**
6100
6291
  * Disallow `then` property.
6101
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
6292
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-thenable.md
6102
6293
  */
6103
6294
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
6104
6295
  /**
6105
6296
  * Disallow assigning `this` to a variable.
6106
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
6297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-this-assignment.md
6107
6298
  */
6108
6299
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
6109
6300
  /**
6110
6301
  * Disallow comparing `undefined` using `typeof`.
6111
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
6302
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-typeof-undefined.md
6112
6303
  */
6113
6304
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
6114
6305
  /**
6115
6306
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6116
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
6307
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6117
6308
  */
6118
6309
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
6119
6310
  /**
6120
6311
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6121
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
6312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-array-splice-count.md
6122
6313
  */
6123
6314
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
6124
6315
  /**
6125
6316
  * Disallow awaiting non-promise values.
6126
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
6317
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-await.md
6127
6318
  */
6128
6319
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
6129
6320
  /**
6130
6321
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6131
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
6322
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-polyfills.md
6132
6323
  */
6133
6324
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
6134
6325
  /**
6135
6326
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6136
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
6327
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unnecessary-slice-end.md
6137
6328
  */
6138
6329
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
6139
6330
  /**
6140
6331
  * Disallow unreadable array destructuring.
6141
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
6332
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-array-destructuring.md
6142
6333
  */
6143
6334
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
6144
6335
  /**
6145
6336
  * Disallow unreadable IIFEs.
6146
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
6337
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unreadable-iife.md
6147
6338
  */
6148
6339
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
6149
6340
  /**
6150
6341
  * Disallow unused object properties.
6151
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
6342
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-unused-properties.md
6152
6343
  */
6153
6344
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
6345
+ /**
6346
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
6347
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6348
+ */
6349
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
6154
6350
  /**
6155
6351
  * Disallow useless fallback when spreading in object literals.
6156
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
6352
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-fallback-in-spread.md
6157
6353
  */
6158
6354
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
6159
6355
  /**
6160
6356
  * Disallow useless array length check.
6161
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
6357
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-length-check.md
6162
6358
  */
6163
6359
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
6164
6360
  /**
6165
6361
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6166
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
6362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-promise-resolve-reject.md
6167
6363
  */
6168
6364
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
6169
6365
  /**
6170
6366
  * Disallow unnecessary spread.
6171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
6367
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-spread.md
6172
6368
  */
6173
6369
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
6174
6370
  /**
6175
6371
  * Disallow useless case in switch statements.
6176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
6372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-switch-case.md
6177
6373
  */
6178
6374
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
6179
6375
  /**
6180
6376
  * Disallow useless `undefined`.
6181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
6377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-useless-undefined.md
6182
6378
  */
6183
6379
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
6184
6380
  /**
6185
6381
  * Disallow number literals with zero fractions or dangling dots.
6186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
6382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/no-zero-fractions.md
6187
6383
  */
6188
6384
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
6189
6385
  /**
6190
6386
  * Enforce proper case for numeric literals.
6191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
6387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/number-literal-case.md
6192
6388
  */
6193
6389
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
6194
6390
  /**
6195
6391
  * Enforce the style of numeric separators by correctly grouping digits.
6196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
6392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/numeric-separators-style.md
6197
6393
  */
6198
6394
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
6199
6395
  /**
6200
6396
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
6397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-add-event-listener.md
6202
6398
  */
6203
6399
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
6204
6400
  /**
6205
6401
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
6402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-find.md
6207
6403
  */
6208
6404
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
6209
6405
  /**
6210
6406
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
6407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat.md
6212
6408
  */
6213
6409
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
6214
6410
  /**
6215
6411
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
6412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-flat-map.md
6217
6413
  */
6218
6414
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
6219
6415
  /**
6220
6416
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
6417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-index-of.md
6222
6418
  */
6223
6419
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
6224
6420
  /**
6225
6421
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
6422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-array-some.md
6227
6423
  */
6228
6424
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
6229
6425
  /**
6230
6426
  * Prefer `.at()` method for index access and `String#charAt()`.
6231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
6427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-at.md
6232
6428
  */
6233
6429
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
6234
6430
  /**
6235
6431
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
6432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-blob-reading-methods.md
6237
6433
  */
6238
6434
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
6435
+ /**
6436
+ * Prefer class field declarations over `this` assignments in constructors.
6437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-class-fields.md
6438
+ */
6439
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
6239
6440
  /**
6240
6441
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
6442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-code-point.md
6242
6443
  */
6243
6444
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
6244
6445
  /**
6245
6446
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
6447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-date-now.md
6247
6448
  */
6248
6449
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
6249
6450
  /**
6250
6451
  * Prefer default parameters over reassignment.
6251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
6452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-default-parameters.md
6252
6453
  */
6253
6454
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
6254
6455
  /**
6255
6456
  * Prefer `Node#append()` over `Node#appendChild()`.
6256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
6457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-append.md
6257
6458
  */
6258
6459
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
6259
6460
  /**
6260
6461
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
6261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
6462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-dataset.md
6262
6463
  */
6263
6464
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
6264
6465
  /**
6265
6466
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
6467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-remove.md
6267
6468
  */
6268
6469
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
6269
6470
  /**
6270
6471
  * Prefer `.textContent` over `.innerText`.
6271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
6472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-dom-node-text-content.md
6272
6473
  */
6273
6474
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
6274
6475
  /**
6275
6476
  * Prefer `EventTarget` over `EventEmitter`.
6276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
6477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-event-target.md
6277
6478
  */
6278
6479
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
6279
6480
  /**
6280
6481
  * Prefer `export…from` when re-exporting.
6281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
6482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-export-from.md
6282
6483
  */
6283
6484
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
6284
6485
  /**
6285
6486
  * Prefer `globalThis` over `window`, `self`, and `global`.
6286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
6487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-global-this.md
6287
6488
  */
6288
6489
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
6289
6490
  /**
6290
6491
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
6492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-import-meta-properties.md
6292
6493
  */
6293
6494
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
6294
6495
  /**
6295
6496
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
6497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-includes.md
6297
6498
  */
6298
6499
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
6299
6500
  /**
6300
6501
  * Prefer reading a JSON file as a buffer.
6301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
6502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-json-parse-buffer.md
6302
6503
  */
6303
6504
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
6304
6505
  /**
6305
6506
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
6507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-keyboard-event-key.md
6307
6508
  */
6308
6509
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
6309
6510
  /**
6310
6511
  * Prefer using a logical operator over a ternary.
6311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
6512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6312
6513
  */
6313
6514
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
6314
6515
  /**
6315
6516
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
6517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-min-max.md
6317
6518
  */
6318
6519
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
6319
6520
  /**
6320
6521
  * Enforce the use of `Math.trunc` instead of bitwise operators.
6321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
6522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-math-trunc.md
6322
6523
  */
6323
6524
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
6324
6525
  /**
6325
6526
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
6527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-dom-apis.md
6327
6528
  */
6328
6529
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
6329
6530
  /**
6330
6531
  * Prefer modern `Math` APIs over legacy patterns.
6331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
6532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-modern-math-apis.md
6332
6533
  */
6333
6534
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
6334
6535
  /**
6335
6536
  * Prefer JavaScript modules (ESM) over CommonJS.
6336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
6537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-module.md
6337
6538
  */
6338
6539
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
6339
6540
  /**
6340
6541
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
6542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-native-coercion-functions.md
6342
6543
  */
6343
6544
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
6344
6545
  /**
6345
6546
  * Prefer negative index over `.length - index` when possible.
6346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
6547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-negative-index.md
6347
6548
  */
6348
6549
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
6349
6550
  /**
6350
6551
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
6552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-node-protocol.md
6352
6553
  */
6353
6554
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
6354
6555
  /**
6355
6556
  * Prefer `Number` static properties over global ones.
6356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
6557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-number-properties.md
6357
6558
  */
6358
6559
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
6359
6560
  /**
6360
6561
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
6562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-object-from-entries.md
6362
6563
  */
6363
6564
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
6364
6565
  /**
6365
6566
  * Prefer omitting the `catch` binding parameter.
6366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
6567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-optional-catch-binding.md
6367
6568
  */
6368
6569
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
6369
6570
  /**
6370
6571
  * Prefer borrowing methods from the prototype instead of the instance.
6371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
6572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-prototype-methods.md
6372
6573
  */
6373
6574
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
6374
6575
  /**
6375
6576
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
6577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-query-selector.md
6377
6578
  */
6378
6579
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
6379
6580
  /**
6380
6581
  * Prefer `Reflect.apply()` over `Function#apply()`.
6381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
6582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-reflect-apply.md
6382
6583
  */
6383
6584
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
6384
6585
  /**
6385
6586
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
6587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-regexp-test.md
6387
6588
  */
6388
6589
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
6389
6590
  /**
6390
6591
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
6592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-has.md
6392
6593
  */
6393
6594
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
6394
6595
  /**
6395
6596
  * Prefer using `Set#size` instead of `Array#length`.
6396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
6597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-set-size.md
6397
6598
  */
6398
6599
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
6399
6600
  /**
6400
6601
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
6602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-single-call.md
6402
6603
  */
6403
6604
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
6404
6605
  /**
6405
6606
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
6607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-spread.md
6407
6608
  */
6408
6609
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
6409
6610
  /**
6410
6611
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
6612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-raw.md
6412
6613
  */
6413
6614
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
6414
6615
  /**
6415
6616
  * Prefer `String#replaceAll()` over regex searches with the global flag.
6416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
6617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-replace-all.md
6417
6618
  */
6418
6619
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
6419
6620
  /**
6420
6621
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
6421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
6622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-slice.md
6422
6623
  */
6423
6624
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
6424
6625
  /**
6425
6626
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
6426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
6627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-starts-ends-with.md
6427
6628
  */
6428
6629
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
6429
6630
  /**
6430
6631
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
6431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
6632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-string-trim-start-end.md
6432
6633
  */
6433
6634
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
6434
6635
  /**
6435
6636
  * Prefer using `structuredClone` to create a deep clone.
6436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
6637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-structured-clone.md
6437
6638
  */
6438
6639
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
6439
6640
  /**
6440
6641
  * Prefer `switch` over multiple `else-if`.
6441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
6642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-switch.md
6442
6643
  */
6443
6644
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
6444
6645
  /**
6445
6646
  * Prefer ternary expressions over simple `if-else` statements.
6446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
6647
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-ternary.md
6447
6648
  */
6448
6649
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
6449
6650
  /**
6450
6651
  * Prefer top-level await over top-level promises and async function calls.
6451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
6652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-top-level-await.md
6452
6653
  */
6453
6654
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
6454
6655
  /**
6455
6656
  * Enforce throwing `TypeError` in type checking conditions.
6456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
6657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prefer-type-error.md
6457
6658
  */
6458
6659
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
6459
6660
  /**
6460
6661
  * Prevent abbreviations.
6461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
6662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/prevent-abbreviations.md
6462
6663
  */
6463
6664
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
6464
6665
  /**
6465
6666
  * Enforce consistent relative URL style.
6466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
6667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/relative-url-style.md
6467
6668
  */
6468
6669
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
6469
6670
  /**
6470
6671
  * Enforce using the separator argument with `Array#join()`.
6471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
6672
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-array-join-separator.md
6472
6673
  */
6473
6674
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
6675
+ /**
6676
+ * Require non-empty specifier list in import and export statements.
6677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-module-specifiers.md
6678
+ */
6679
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
6474
6680
  /**
6475
6681
  * Enforce using the digits argument with `Number#toFixed()`.
6476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
6682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6477
6683
  */
6478
6684
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
6479
6685
  /**
6480
6686
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
6481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
6687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/require-post-message-target-origin.md
6482
6688
  */
6483
6689
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
6484
6690
  /**
6485
6691
  * Enforce better string content.
6486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
6692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/string-content.md
6487
6693
  */
6488
6694
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
6489
6695
  /**
6490
6696
  * Enforce consistent brace style for `case` clauses.
6491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
6697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/switch-case-braces.md
6492
6698
  */
6493
6699
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
6494
6700
  /**
6495
6701
  * Fix whitespace-insensitive template indentation.
6496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
6702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/template-indent.md
6497
6703
  */
6498
6704
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
6499
6705
  /**
6500
6706
  * Enforce consistent case for text encoding identifiers.
6501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
6707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/text-encoding-identifier-case.md
6502
6708
  */
6503
6709
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
6504
6710
  /**
6505
6711
  * Require `new` when creating an error.
6506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
6712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v60.0.0/docs/rules/throw-new-error.md
6507
6713
  */
6508
6714
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
6509
6715
  /**
@@ -6695,6 +6901,7 @@ type AccessorPairs =
6695
6901
  getWithoutSet?: boolean
6696
6902
  setWithoutGet?: boolean
6697
6903
  enforceForClassMembers?: boolean
6904
+ enforceForTSTypes?: boolean
6698
6905
  },
6699
6906
  ]
6700
6907
  // ----- array-bracket-newline -----
@@ -7518,7 +7725,15 @@ type GetterReturn =
7518
7725
  },
7519
7726
  ]
7520
7727
  // ----- grouped-accessor-pairs -----
7521
- type GroupedAccessorPairs = [] | ['anyOrder' | 'getBeforeSet' | 'setBeforeGet']
7728
+ type GroupedAccessorPairs =
7729
+ | []
7730
+ | ['anyOrder' | 'getBeforeSet' | 'setBeforeGet']
7731
+ | [
7732
+ 'anyOrder' | 'getBeforeSet' | 'setBeforeGet',
7733
+ {
7734
+ enforceForTSTypes?: boolean
7735
+ },
7736
+ ]
7522
7737
  // ----- handle-callback-err -----
7523
7738
  type HandleCallbackErr = [] | [string]
7524
7739
  // ----- html/attrs-newline -----
@@ -7528,7 +7743,6 @@ type HtmlAttrsNewline =
7528
7743
  {
7529
7744
  closeStyle?: 'newline' | 'sameline'
7530
7745
  ifAttrsMoreThan?: number
7531
- [k: string]: unknown | undefined
7532
7746
  },
7533
7747
  ]
7534
7748
  // ----- html/element-newline -----
@@ -7538,7 +7752,6 @@ type HtmlElementNewline =
7538
7752
  {
7539
7753
  inline?: string[]
7540
7754
  skip?: string[]
7541
- [k: string]: unknown | undefined
7542
7755
  },
7543
7756
  ]
7544
7757
  // ----- html/id-naming-convention -----
@@ -7563,7 +7776,6 @@ type HtmlIndent =
7563
7776
  tagChildrenIndent?: {
7564
7777
  [k: string]: number
7565
7778
  }
7566
- [k: string]: unknown | undefined
7567
7779
  },
7568
7780
  ]
7569
7781
  // ----- html/max-element-depth -----
@@ -7583,7 +7795,6 @@ type HtmlNoExtraSpacingAttrs =
7583
7795
  disallowMissing?: boolean
7584
7796
  disallowTabs?: boolean
7585
7797
  enforceBeforeSelfClose?: boolean
7586
- [k: string]: unknown | undefined
7587
7798
  },
7588
7799
  ]
7589
7800
  // ----- html/no-extra-spacing-text -----
@@ -7607,22 +7818,29 @@ type HtmlNoRestrictedAttrValues = {
7607
7818
  attrPatterns: string[]
7608
7819
  attrValuePatterns: string[]
7609
7820
  message?: string
7610
- [k: string]: unknown | undefined
7611
7821
  }[]
7612
7822
  // ----- html/no-restricted-attrs -----
7613
7823
  type HtmlNoRestrictedAttrs = {
7614
7824
  tagPatterns: string[]
7615
7825
  attrPatterns: string[]
7616
7826
  message?: string
7617
- [k: string]: unknown | undefined
7618
7827
  }[]
7619
7828
  // ----- html/quotes -----
7620
- type HtmlQuotes = [] | ['single' | 'double']
7829
+ type HtmlQuotes =
7830
+ | []
7831
+ | ['single' | 'double']
7832
+ | [
7833
+ 'single' | 'double',
7834
+ {
7835
+ enforceTemplatedAttrValue?: boolean
7836
+ },
7837
+ ]
7621
7838
  // ----- html/require-attrs -----
7622
7839
  type HtmlRequireAttrs = {
7623
7840
  tag: string
7624
7841
  attr: string
7625
7842
  value?: string
7843
+ message?: string
7626
7844
  }[]
7627
7845
  // ----- html/require-closing-tags -----
7628
7846
  type HtmlRequireClosingTags =
@@ -7648,7 +7866,6 @@ type HtmlRequireImgAlt =
7648
7866
  | [
7649
7867
  {
7650
7868
  substitute?: string[]
7651
- [k: string]: unknown | undefined
7652
7869
  },
7653
7870
  ]
7654
7871
  // ----- html/require-open-graph-protocol -----
@@ -7658,8 +7875,12 @@ type HtmlSortAttrs =
7658
7875
  | []
7659
7876
  | [
7660
7877
  {
7661
- priority?: string[]
7662
- [k: string]: unknown | undefined
7878
+ priority?: (
7879
+ | string
7880
+ | {
7881
+ pattern: string
7882
+ }
7883
+ )[]
7663
7884
  },
7664
7885
  ]
7665
7886
  // ----- html/use-baseline -----
@@ -8101,6 +8322,14 @@ type ImportPreferDefaultExport =
8101
8322
  target?: 'single' | 'any'
8102
8323
  },
8103
8324
  ]
8325
+ // ----- import/prefer-namespace-import -----
8326
+ type ImportPreferNamespaceImport =
8327
+ | []
8328
+ | [
8329
+ {
8330
+ patterns?: string[]
8331
+ },
8332
+ ]
8104
8333
  // ----- indent -----
8105
8334
  type Indent =
8106
8335
  | []
@@ -8375,6 +8604,7 @@ type JsdocLinesBeforeBlock =
8375
8604
  checkBlockStarts?: boolean
8376
8605
  excludedTags?: string[]
8377
8606
  ignoreSameLine?: boolean
8607
+ ignoreSingleLines?: boolean
8378
8608
  lines?: number
8379
8609
  },
8380
8610
  ]
@@ -8422,8 +8652,8 @@ type JsdocMatchName =
8422
8652
  context?: string
8423
8653
  disallowName?: string
8424
8654
  message?: string
8655
+ replacement?: string
8425
8656
  tags?: string[]
8426
- [k: string]: unknown | undefined
8427
8657
  }[]
8428
8658
  },
8429
8659
  ]
@@ -8439,6 +8669,7 @@ type JsdocMultilineBlocks =
8439
8669
  noMultilineBlocks?: boolean
8440
8670
  noSingleLineBlocks?: boolean
8441
8671
  noZeroLineText?: boolean
8672
+ requireSingleLineUnderCount?: number
8442
8673
  singleLineTags?: string[]
8443
8674
  },
8444
8675
  ]
@@ -8550,7 +8781,6 @@ type JsdocRequireAsteriskPrefix =
8550
8781
  always?: string[]
8551
8782
  any?: string[]
8552
8783
  never?: string[]
8553
- [k: string]: unknown | undefined
8554
8784
  }
8555
8785
  },
8556
8786
  ]
@@ -8883,7 +9113,6 @@ type JsdocSortTags =
8883
9113
  reportTagGroupSpacing?: boolean
8884
9114
  tagSequence?: {
8885
9115
  tags?: string[]
8886
- [k: string]: unknown | undefined
8887
9116
  }[]
8888
9117
  },
8889
9118
  ]
@@ -8923,13 +9152,20 @@ type JsdocValidTypes =
8923
9152
  allowEmptyNamepaths?: boolean
8924
9153
  },
8925
9154
  ]
9155
+ // ----- json-package/no-empty-fields -----
9156
+ type JsonPackageNoEmptyFields =
9157
+ | []
9158
+ | [
9159
+ {
9160
+ ignoreProperties?: string[]
9161
+ },
9162
+ ]
8926
9163
  // ----- json-package/order-properties -----
8927
9164
  type JsonPackageOrderProperties =
8928
9165
  | []
8929
9166
  | [
8930
9167
  {
8931
9168
  order?: ('legacy' | 'sort-package-json') | string[]
8932
- [k: string]: unknown | undefined
8933
9169
  },
8934
9170
  ]
8935
9171
  // ----- json-package/repository-shorthand -----
@@ -8938,7 +9174,126 @@ type JsonPackageRepositoryShorthand =
8938
9174
  | [
8939
9175
  {
8940
9176
  form?: 'object' | 'shorthand'
8941
- [k: string]: unknown | undefined
9177
+ },
9178
+ ]
9179
+ // ----- json-package/require-author -----
9180
+ type JsonPackageRequireAuthor =
9181
+ | []
9182
+ | [
9183
+ {
9184
+ ignorePrivate?: boolean
9185
+ },
9186
+ ]
9187
+ // ----- json-package/require-bugs -----
9188
+ type JsonPackageRequireBugs =
9189
+ | []
9190
+ | [
9191
+ {
9192
+ ignorePrivate?: boolean
9193
+ },
9194
+ ]
9195
+ // ----- json-package/require-bundleDependencies -----
9196
+ type JsonPackageRequireBundleDependencies =
9197
+ | []
9198
+ | [
9199
+ {
9200
+ ignorePrivate?: boolean
9201
+ },
9202
+ ]
9203
+ // ----- json-package/require-dependencies -----
9204
+ type JsonPackageRequireDependencies =
9205
+ | []
9206
+ | [
9207
+ {
9208
+ ignorePrivate?: boolean
9209
+ },
9210
+ ]
9211
+ // ----- json-package/require-description -----
9212
+ type JsonPackageRequireDescription =
9213
+ | []
9214
+ | [
9215
+ {
9216
+ ignorePrivate?: boolean
9217
+ },
9218
+ ]
9219
+ // ----- json-package/require-devDependencies -----
9220
+ type JsonPackageRequireDevDependencies =
9221
+ | []
9222
+ | [
9223
+ {
9224
+ ignorePrivate?: boolean
9225
+ },
9226
+ ]
9227
+ // ----- json-package/require-engines -----
9228
+ type JsonPackageRequireEngines =
9229
+ | []
9230
+ | [
9231
+ {
9232
+ ignorePrivate?: boolean
9233
+ },
9234
+ ]
9235
+ // ----- json-package/require-files -----
9236
+ type JsonPackageRequireFiles =
9237
+ | []
9238
+ | [
9239
+ {
9240
+ ignorePrivate?: boolean
9241
+ },
9242
+ ]
9243
+ // ----- json-package/require-keywords -----
9244
+ type JsonPackageRequireKeywords =
9245
+ | []
9246
+ | [
9247
+ {
9248
+ ignorePrivate?: boolean
9249
+ },
9250
+ ]
9251
+ // ----- json-package/require-name -----
9252
+ type JsonPackageRequireName =
9253
+ | []
9254
+ | [
9255
+ {
9256
+ ignorePrivate?: boolean
9257
+ },
9258
+ ]
9259
+ // ----- json-package/require-optionalDependencies -----
9260
+ type JsonPackageRequireOptionalDependencies =
9261
+ | []
9262
+ | [
9263
+ {
9264
+ ignorePrivate?: boolean
9265
+ },
9266
+ ]
9267
+ // ----- json-package/require-peerDependencies -----
9268
+ type JsonPackageRequirePeerDependencies =
9269
+ | []
9270
+ | [
9271
+ {
9272
+ ignorePrivate?: boolean
9273
+ },
9274
+ ]
9275
+ // ----- json-package/require-type -----
9276
+ type JsonPackageRequireType =
9277
+ | []
9278
+ | [
9279
+ {
9280
+ ignorePrivate?: boolean
9281
+ },
9282
+ ]
9283
+ // ----- json-package/require-types -----
9284
+ type JsonPackageRequireTypes =
9285
+ | []
9286
+ | [
9287
+ {
9288
+ ignorePrivate?: boolean
9289
+ },
9290
+ ]
9291
+ // ----- json-package/require-version -----
9292
+ type JsonPackageRequireVersion =
9293
+ | []
9294
+ | [
9295
+ {
9296
+ ignorePrivate?: boolean
8942
9297
  },
8943
9298
  ]
8944
9299
  // ----- json-package/restrict-dependency-ranges -----
@@ -8952,8 +9307,11 @@ type JsonPackageRestrictDependencyRanges =
8952
9307
  | 'optionalDependencies'
8953
9308
  | 'peerDependencies'
8954
9309
  )[]
9310
+
8955
9311
  forPackages?: string[]
9312
+
8956
9313
  forVersions?: string
9314
+
8957
9315
  rangeType: ('caret' | 'pin' | 'tilde') | ('caret' | 'pin' | 'tilde')[]
8958
9316
  }
8959
9317
  | {
@@ -8963,19 +9321,22 @@ type JsonPackageRestrictDependencyRanges =
8963
9321
  | 'optionalDependencies'
8964
9322
  | 'peerDependencies'
8965
9323
  )[]
9324
+
8966
9325
  forPackages?: string[]
9326
+
8967
9327
  forVersions?: string
9328
+
8968
9329
  rangeType: ('caret' | 'pin' | 'tilde') | ('caret' | 'pin' | 'tilde')[]
8969
9330
  }[],
8970
9331
  ]
8971
9332
  // ----- json-package/sort-collections -----
8972
9333
  type JsonPackageSortCollections = [] | [string[]]
8973
- // ----- json-package/valid-package-def -----
8974
- type JsonPackageValidPackageDef =
9334
+ // ----- json-package/valid-bin -----
9335
+ type JsonPackageValidBin =
8975
9336
  | []
8976
9337
  | [
8977
9338
  {
8978
- ignoreProperties?: string[]
9339
+ enforceCase?: boolean
8979
9340
  },
8980
9341
  ]
8981
9342
  // ----- json-package/valid-package-definition -----
@@ -10528,6 +10889,7 @@ type NoDuplicateImports =
10528
10889
  | [
10529
10890
  {
10530
10891
  includeExports?: boolean
10892
+ allowSeparateTypeImports?: boolean
10531
10893
  },
10532
10894
  ]
10533
10895
  // ----- no-else-return -----
@@ -10947,13 +11309,28 @@ type NoRestrictedExports =
10947
11309
  },
10948
11310
  ]
10949
11311
  // ----- no-restricted-globals -----
10950
- type NoRestrictedGlobals = (
10951
- | string
10952
- | {
10953
- name: string
10954
- message?: string
10955
- }
10956
- )[]
11312
+ type NoRestrictedGlobals =
11313
+ | (
11314
+ | string
11315
+ | {
11316
+ name: string
11317
+ message?: string
11318
+ }
11319
+ )[]
11320
+ | []
11321
+ | [
11322
+ {
11323
+ globals: (
11324
+ | string
11325
+ | {
11326
+ name: string
11327
+ message?: string
11328
+ }
11329
+ )[]
11330
+ checkGlobalObject?: boolean
11331
+ globalObjects?: string[]
11332
+ },
11333
+ ]
10957
11334
  // ----- no-restricted-imports -----
10958
11335
  type NoRestrictedImports =
10959
11336
  | (
@@ -11178,6 +11555,7 @@ type NoUnusedVars =
11178
11555
  caughtErrorsIgnorePattern?: string
11179
11556
  destructuredArrayIgnorePattern?: string
11180
11557
  ignoreClassWithStaticInitBlock?: boolean
11558
+ ignoreUsingDeclarations?: boolean
11181
11559
  reportUsedIgnorePattern?: boolean
11182
11560
  },
11183
11561
  ]
@@ -14305,6 +14683,8 @@ type OneVar =
14305
14683
  var?: 'always' | 'never' | 'consecutive'
14306
14684
  let?: 'always' | 'never' | 'consecutive'
14307
14685
  const?: 'always' | 'never' | 'consecutive'
14686
+ using?: 'always' | 'never' | 'consecutive'
14687
+ awaitUsing?: 'always' | 'never' | 'consecutive'
14308
14688
  }
14309
14689
  | {
14310
14690
  initialized?: 'always' | 'never' | 'consecutive'
@@ -14505,7 +14885,7 @@ type PerfectionistSortArrayIncludes = {
14505
14885
 
14506
14886
  customGroups?: (
14507
14887
  | {
14508
- newlinesInside?: 'always' | 'never'
14888
+ newlinesInside?: ('always' | 'never') | number
14509
14889
 
14510
14890
  fallbackSort?: {
14511
14891
  order?: 'asc' | 'desc'
@@ -14541,7 +14921,7 @@ type PerfectionistSortArrayIncludes = {
14541
14921
  }[]
14542
14922
  }
14543
14923
  | {
14544
- newlinesInside?: 'always' | 'never'
14924
+ newlinesInside?: ('always' | 'never') | number
14545
14925
 
14546
14926
  fallbackSort?: {
14547
14927
  order?: 'asc' | 'desc'
@@ -14662,14 +15042,13 @@ type PerfectionistSortArrayIncludes = {
14662
15042
  }
14663
15043
 
14664
15044
  partitionByNewLine?: boolean
14665
-
14666
- newlinesBetween?: 'ignore' | 'always' | 'never'
15045
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
14667
15046
 
14668
15047
  groups?: (
14669
15048
  | string
14670
15049
  | string[]
14671
15050
  | {
14672
- newlinesBetween?: 'ignore' | 'always' | 'never'
15051
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
14673
15052
 
14674
15053
  commentAbove?: string
14675
15054
  }
@@ -14700,7 +15079,7 @@ type PerfectionistSortClasses =
14700
15079
 
14701
15080
  customGroups?: (
14702
15081
  | {
14703
- newlinesInside?: 'always' | 'never'
15082
+ newlinesInside?: ('always' | 'never') | number
14704
15083
 
14705
15084
  fallbackSort?: {
14706
15085
  order?: 'asc' | 'desc'
@@ -14795,7 +15174,7 @@ type PerfectionistSortClasses =
14795
15174
  }[]
14796
15175
  }
14797
15176
  | {
14798
- newlinesInside?: 'always' | 'never'
15177
+ newlinesInside?: ('always' | 'never') | number
14799
15178
 
14800
15179
  fallbackSort?: {
14801
15180
  order?: 'asc' | 'desc'
@@ -14973,14 +15352,13 @@ type PerfectionistSortClasses =
14973
15352
  }
14974
15353
 
14975
15354
  partitionByNewLine?: boolean
14976
-
14977
- newlinesBetween?: 'ignore' | 'always' | 'never'
15355
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
14978
15356
 
14979
15357
  groups?: (
14980
15358
  | string
14981
15359
  | string[]
14982
15360
  | {
14983
- newlinesBetween?: 'ignore' | 'always' | 'never'
15361
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
14984
15362
 
14985
15363
  commentAbove?: string
14986
15364
  }
@@ -15092,7 +15470,7 @@ type PerfectionistSortDecorators =
15092
15470
  | string
15093
15471
  | string[]
15094
15472
  | {
15095
- newlinesBetween?: 'ignore' | 'always' | 'never'
15473
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15096
15474
 
15097
15475
  commentAbove?: string
15098
15476
  }
@@ -15127,7 +15505,7 @@ type PerfectionistSortEnums =
15127
15505
  }
15128
15506
  | (
15129
15507
  | {
15130
- newlinesInside?: 'always' | 'never'
15508
+ newlinesInside?: ('always' | 'never') | number
15131
15509
 
15132
15510
  fallbackSort?: {
15133
15511
  order?: 'asc' | 'desc'
@@ -15179,7 +15557,7 @@ type PerfectionistSortEnums =
15179
15557
  }[]
15180
15558
  }
15181
15559
  | {
15182
- newlinesInside?: 'always' | 'never'
15560
+ newlinesInside?: ('always' | 'never') | number
15183
15561
 
15184
15562
  fallbackSort?: {
15185
15563
  order?: 'asc' | 'desc'
@@ -15300,14 +15678,13 @@ type PerfectionistSortEnums =
15300
15678
  }
15301
15679
 
15302
15680
  partitionByNewLine?: boolean
15303
-
15304
- newlinesBetween?: 'ignore' | 'always' | 'never'
15681
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15305
15682
 
15306
15683
  groups?: (
15307
15684
  | string
15308
15685
  | string[]
15309
15686
  | {
15310
- newlinesBetween?: 'ignore' | 'always' | 'never'
15687
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15311
15688
 
15312
15689
  commentAbove?: string
15313
15690
  }
@@ -15338,7 +15715,7 @@ type PerfectionistSortExports = {
15338
15715
 
15339
15716
  customGroups?: (
15340
15717
  | {
15341
- newlinesInside?: 'always' | 'never'
15718
+ newlinesInside?: ('always' | 'never') | number
15342
15719
 
15343
15720
  fallbackSort?: {
15344
15721
  order?: 'asc' | 'desc'
@@ -15376,7 +15753,7 @@ type PerfectionistSortExports = {
15376
15753
  }[]
15377
15754
  }
15378
15755
  | {
15379
- newlinesInside?: 'always' | 'never'
15756
+ newlinesInside?: ('always' | 'never') | number
15380
15757
 
15381
15758
  fallbackSort?: {
15382
15759
  order?: 'asc' | 'desc'
@@ -15479,14 +15856,13 @@ type PerfectionistSortExports = {
15479
15856
  }
15480
15857
 
15481
15858
  partitionByNewLine?: boolean
15482
-
15483
- newlinesBetween?: 'ignore' | 'always' | 'never'
15859
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15484
15860
 
15485
15861
  groups?: (
15486
15862
  | string
15487
15863
  | string[]
15488
15864
  | {
15489
- newlinesBetween?: 'ignore' | 'always' | 'never'
15865
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15490
15866
 
15491
15867
  commentAbove?: string
15492
15868
  }
@@ -15523,7 +15899,7 @@ type PerfectionistSortHeritageClauses =
15523
15899
  | string
15524
15900
  | string[]
15525
15901
  | {
15526
- newlinesBetween?: 'ignore' | 'always' | 'never'
15902
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15527
15903
 
15528
15904
  commentAbove?: string
15529
15905
  }
@@ -15561,7 +15937,7 @@ type PerfectionistSortImports = {
15561
15937
  }
15562
15938
  | (
15563
15939
  | {
15564
- newlinesInside?: 'always' | 'never'
15940
+ newlinesInside?: ('always' | 'never') | number
15565
15941
 
15566
15942
  fallbackSort?: {
15567
15943
  order?: 'asc' | 'desc'
@@ -15639,7 +16015,7 @@ type PerfectionistSortImports = {
15639
16015
  }[]
15640
16016
  }
15641
16017
  | {
15642
- newlinesInside?: 'always' | 'never'
16018
+ newlinesInside?: ('always' | 'never') | number
15643
16019
 
15644
16020
  fallbackSort?: {
15645
16021
  order?: 'asc' | 'desc'
@@ -15795,8 +16171,7 @@ type PerfectionistSortImports = {
15795
16171
  }
15796
16172
 
15797
16173
  partitionByNewLine?: boolean
15798
-
15799
- newlinesBetween?: 'ignore' | 'always' | 'never'
16174
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15800
16175
 
15801
16176
  internalPattern?:
15802
16177
  | (
@@ -15820,7 +16195,7 @@ type PerfectionistSortImports = {
15820
16195
  | string
15821
16196
  | string[]
15822
16197
  | {
15823
- newlinesBetween?: 'ignore' | 'always' | 'never'
16198
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
15824
16199
 
15825
16200
  commentAbove?: string
15826
16201
  }
@@ -15852,7 +16227,7 @@ type PerfectionistSortInterfaces = {
15852
16227
  }
15853
16228
  | (
15854
16229
  | {
15855
- newlinesInside?: 'always' | 'never'
16230
+ newlinesInside?: ('always' | 'never') | number
15856
16231
 
15857
16232
  fallbackSort?: {
15858
16233
  order?: 'asc' | 'desc'
@@ -15910,7 +16285,7 @@ type PerfectionistSortInterfaces = {
15910
16285
  }[]
15911
16286
  }
15912
16287
  | {
15913
- newlinesInside?: 'always' | 'never'
16288
+ newlinesInside?: ('always' | 'never') | number
15914
16289
 
15915
16290
  fallbackSort?: {
15916
16291
  order?: 'asc' | 'desc'
@@ -16073,8 +16448,7 @@ type PerfectionistSortInterfaces = {
16073
16448
  }
16074
16449
 
16075
16450
  partitionByNewLine?: boolean
16076
-
16077
- newlinesBetween?: 'ignore' | 'always' | 'never'
16451
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16078
16452
 
16079
16453
  ignorePattern?:
16080
16454
  | (
@@ -16099,7 +16473,7 @@ type PerfectionistSortInterfaces = {
16099
16473
  | string
16100
16474
  | string[]
16101
16475
  | {
16102
- newlinesBetween?: 'ignore' | 'always' | 'never'
16476
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16103
16477
 
16104
16478
  commentAbove?: string
16105
16479
  }
@@ -16127,7 +16501,7 @@ type PerfectionistSortIntersectionTypes = {
16127
16501
 
16128
16502
  customGroups?: (
16129
16503
  | {
16130
- newlinesInside?: 'always' | 'never'
16504
+ newlinesInside?: ('always' | 'never') | number
16131
16505
 
16132
16506
  fallbackSort?: {
16133
16507
  order?: 'asc' | 'desc'
@@ -16175,7 +16549,7 @@ type PerfectionistSortIntersectionTypes = {
16175
16549
  }[]
16176
16550
  }
16177
16551
  | {
16178
- newlinesInside?: 'always' | 'never'
16552
+ newlinesInside?: ('always' | 'never') | number
16179
16553
 
16180
16554
  fallbackSort?: {
16181
16555
  order?: 'asc' | 'desc'
@@ -16288,14 +16662,13 @@ type PerfectionistSortIntersectionTypes = {
16288
16662
  }
16289
16663
 
16290
16664
  partitionByNewLine?: boolean
16291
-
16292
- newlinesBetween?: 'ignore' | 'always' | 'never'
16665
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16293
16666
 
16294
16667
  groups?: (
16295
16668
  | string
16296
16669
  | string[]
16297
16670
  | {
16298
- newlinesBetween?: 'ignore' | 'always' | 'never'
16671
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16299
16672
 
16300
16673
  commentAbove?: string
16301
16674
  }
@@ -16326,7 +16699,7 @@ type PerfectionistSortJsxProps = {
16326
16699
  }
16327
16700
  | (
16328
16701
  | {
16329
- newlinesInside?: 'always' | 'never'
16702
+ newlinesInside?: ('always' | 'never') | number
16330
16703
 
16331
16704
  fallbackSort?: {
16332
16705
  order?: 'asc' | 'desc'
@@ -16382,7 +16755,7 @@ type PerfectionistSortJsxProps = {
16382
16755
  }[]
16383
16756
  }
16384
16757
  | {
16385
- newlinesInside?: 'always' | 'never'
16758
+ newlinesInside?: ('always' | 'never') | number
16386
16759
 
16387
16760
  fallbackSort?: {
16388
16761
  order?: 'asc' | 'desc'
@@ -16477,8 +16850,7 @@ type PerfectionistSortJsxProps = {
16477
16850
  }
16478
16851
 
16479
16852
  partitionByNewLine?: boolean
16480
-
16481
- newlinesBetween?: 'ignore' | 'always' | 'never'
16853
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16482
16854
 
16483
16855
  ignorePattern?:
16484
16856
  | (
@@ -16502,7 +16874,7 @@ type PerfectionistSortJsxProps = {
16502
16874
  | string
16503
16875
  | string[]
16504
16876
  | {
16505
- newlinesBetween?: 'ignore' | 'always' | 'never'
16877
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16506
16878
 
16507
16879
  commentAbove?: string
16508
16880
  }
@@ -16530,7 +16902,7 @@ type PerfectionistSortMaps = {
16530
16902
 
16531
16903
  customGroups?: (
16532
16904
  | {
16533
- newlinesInside?: 'always' | 'never'
16905
+ newlinesInside?: ('always' | 'never') | number
16534
16906
 
16535
16907
  fallbackSort?: {
16536
16908
  order?: 'asc' | 'desc'
@@ -16564,7 +16936,7 @@ type PerfectionistSortMaps = {
16564
16936
  }[]
16565
16937
  }
16566
16938
  | {
16567
- newlinesInside?: 'always' | 'never'
16939
+ newlinesInside?: ('always' | 'never') | number
16568
16940
 
16569
16941
  fallbackSort?: {
16570
16942
  order?: 'asc' | 'desc'
@@ -16683,14 +17055,13 @@ type PerfectionistSortMaps = {
16683
17055
  }
16684
17056
 
16685
17057
  partitionByNewLine?: boolean
16686
-
16687
- newlinesBetween?: 'ignore' | 'always' | 'never'
17058
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16688
17059
 
16689
17060
  groups?: (
16690
17061
  | string
16691
17062
  | string[]
16692
17063
  | {
16693
- newlinesBetween?: 'ignore' | 'always' | 'never'
17064
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16694
17065
 
16695
17066
  commentAbove?: string
16696
17067
  }
@@ -16721,7 +17092,7 @@ type PerfectionistSortModules =
16721
17092
 
16722
17093
  customGroups?: (
16723
17094
  | {
16724
- newlinesInside?: 'always' | 'never'
17095
+ newlinesInside?: ('always' | 'never') | number
16725
17096
 
16726
17097
  fallbackSort?: {
16727
17098
  order?: 'asc' | 'desc'
@@ -16777,7 +17148,7 @@ type PerfectionistSortModules =
16777
17148
  }[]
16778
17149
  }
16779
17150
  | {
16780
- newlinesInside?: 'always' | 'never'
17151
+ newlinesInside?: ('always' | 'never') | number
16781
17152
 
16782
17153
  fallbackSort?: {
16783
17154
  order?: 'asc' | 'desc'
@@ -16898,14 +17269,13 @@ type PerfectionistSortModules =
16898
17269
  }
16899
17270
 
16900
17271
  partitionByNewLine?: boolean
16901
-
16902
- newlinesBetween?: 'ignore' | 'always' | 'never'
17272
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16903
17273
 
16904
17274
  groups?: (
16905
17275
  | string
16906
17276
  | string[]
16907
17277
  | {
16908
- newlinesBetween?: 'ignore' | 'always' | 'never'
17278
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
16909
17279
 
16910
17280
  commentAbove?: string
16911
17281
  }
@@ -16938,7 +17308,7 @@ type PerfectionistSortNamedExports = {
16938
17308
 
16939
17309
  customGroups?: (
16940
17310
  | {
16941
- newlinesInside?: 'always' | 'never'
17311
+ newlinesInside?: ('always' | 'never') | number
16942
17312
 
16943
17313
  fallbackSort?: {
16944
17314
  order?: 'asc' | 'desc'
@@ -16976,7 +17346,7 @@ type PerfectionistSortNamedExports = {
16976
17346
  }[]
16977
17347
  }
16978
17348
  | {
16979
- newlinesInside?: 'always' | 'never'
17349
+ newlinesInside?: ('always' | 'never') | number
16980
17350
 
16981
17351
  fallbackSort?: {
16982
17352
  order?: 'asc' | 'desc'
@@ -17079,14 +17449,13 @@ type PerfectionistSortNamedExports = {
17079
17449
  }
17080
17450
 
17081
17451
  partitionByNewLine?: boolean
17082
-
17083
- newlinesBetween?: 'ignore' | 'always' | 'never'
17452
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17084
17453
 
17085
17454
  groups?: (
17086
17455
  | string
17087
17456
  | string[]
17088
17457
  | {
17089
- newlinesBetween?: 'ignore' | 'always' | 'never'
17458
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17090
17459
 
17091
17460
  commentAbove?: string
17092
17461
  }
@@ -17118,7 +17487,7 @@ type PerfectionistSortNamedImports = {
17118
17487
 
17119
17488
  customGroups?: (
17120
17489
  | {
17121
- newlinesInside?: 'always' | 'never'
17490
+ newlinesInside?: ('always' | 'never') | number
17122
17491
 
17123
17492
  fallbackSort?: {
17124
17493
  order?: 'asc' | 'desc'
@@ -17156,7 +17525,7 @@ type PerfectionistSortNamedImports = {
17156
17525
  }[]
17157
17526
  }
17158
17527
  | {
17159
- newlinesInside?: 'always' | 'never'
17528
+ newlinesInside?: ('always' | 'never') | number
17160
17529
 
17161
17530
  fallbackSort?: {
17162
17531
  order?: 'asc' | 'desc'
@@ -17259,14 +17628,13 @@ type PerfectionistSortNamedImports = {
17259
17628
  }
17260
17629
 
17261
17630
  partitionByNewLine?: boolean
17262
-
17263
- newlinesBetween?: 'ignore' | 'always' | 'never'
17631
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17264
17632
 
17265
17633
  groups?: (
17266
17634
  | string
17267
17635
  | string[]
17268
17636
  | {
17269
- newlinesBetween?: 'ignore' | 'always' | 'never'
17637
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17270
17638
 
17271
17639
  commentAbove?: string
17272
17640
  }
@@ -17298,7 +17666,7 @@ type PerfectionistSortObjectTypes = {
17298
17666
  }
17299
17667
  | (
17300
17668
  | {
17301
- newlinesInside?: 'always' | 'never'
17669
+ newlinesInside?: ('always' | 'never') | number
17302
17670
 
17303
17671
  fallbackSort?: {
17304
17672
  order?: 'asc' | 'desc'
@@ -17356,7 +17724,7 @@ type PerfectionistSortObjectTypes = {
17356
17724
  }[]
17357
17725
  }
17358
17726
  | {
17359
- newlinesInside?: 'always' | 'never'
17727
+ newlinesInside?: ('always' | 'never') | number
17360
17728
 
17361
17729
  fallbackSort?: {
17362
17730
  order?: 'asc' | 'desc'
@@ -17519,8 +17887,7 @@ type PerfectionistSortObjectTypes = {
17519
17887
  }
17520
17888
 
17521
17889
  partitionByNewLine?: boolean
17522
-
17523
- newlinesBetween?: 'ignore' | 'always' | 'never'
17890
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17524
17891
 
17525
17892
  ignorePattern?:
17526
17893
  | (
@@ -17545,7 +17912,7 @@ type PerfectionistSortObjectTypes = {
17545
17912
  | string
17546
17913
  | string[]
17547
17914
  | {
17548
- newlinesBetween?: 'ignore' | 'always' | 'never'
17915
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17549
17916
 
17550
17917
  commentAbove?: string
17551
17918
  }
@@ -17582,7 +17949,7 @@ type PerfectionistSortObjects = {
17582
17949
  }
17583
17950
  | (
17584
17951
  | {
17585
- newlinesInside?: 'always' | 'never'
17952
+ newlinesInside?: ('always' | 'never') | number
17586
17953
 
17587
17954
  fallbackSort?: {
17588
17955
  order?: 'asc' | 'desc'
@@ -17638,7 +18005,7 @@ type PerfectionistSortObjects = {
17638
18005
  }[]
17639
18006
  }
17640
18007
  | {
17641
- newlinesInside?: 'always' | 'never'
18008
+ newlinesInside?: ('always' | 'never') | number
17642
18009
 
17643
18010
  fallbackSort?: {
17644
18011
  order?: 'asc' | 'desc'
@@ -17803,8 +18170,7 @@ type PerfectionistSortObjects = {
17803
18170
  }
17804
18171
 
17805
18172
  partitionByNewLine?: boolean
17806
-
17807
- newlinesBetween?: 'ignore' | 'always' | 'never'
18173
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17808
18174
 
17809
18175
  ignorePattern?:
17810
18176
  | (
@@ -17828,7 +18194,7 @@ type PerfectionistSortObjects = {
17828
18194
  | string
17829
18195
  | string[]
17830
18196
  | {
17831
- newlinesBetween?: 'ignore' | 'always' | 'never'
18197
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
17832
18198
 
17833
18199
  commentAbove?: string
17834
18200
  }
@@ -17858,7 +18224,7 @@ type PerfectionistSortSets = {
17858
18224
 
17859
18225
  customGroups?: (
17860
18226
  | {
17861
- newlinesInside?: 'always' | 'never'
18227
+ newlinesInside?: ('always' | 'never') | number
17862
18228
 
17863
18229
  fallbackSort?: {
17864
18230
  order?: 'asc' | 'desc'
@@ -17894,7 +18260,7 @@ type PerfectionistSortSets = {
17894
18260
  }[]
17895
18261
  }
17896
18262
  | {
17897
- newlinesInside?: 'always' | 'never'
18263
+ newlinesInside?: ('always' | 'never') | number
17898
18264
 
17899
18265
  fallbackSort?: {
17900
18266
  order?: 'asc' | 'desc'
@@ -18015,14 +18381,13 @@ type PerfectionistSortSets = {
18015
18381
  }
18016
18382
 
18017
18383
  partitionByNewLine?: boolean
18018
-
18019
- newlinesBetween?: 'ignore' | 'always' | 'never'
18384
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18020
18385
 
18021
18386
  groups?: (
18022
18387
  | string
18023
18388
  | string[]
18024
18389
  | {
18025
- newlinesBetween?: 'ignore' | 'always' | 'never'
18390
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18026
18391
 
18027
18392
  commentAbove?: string
18028
18393
  }
@@ -18074,7 +18439,7 @@ type PerfectionistSortUnionTypes = {
18074
18439
 
18075
18440
  customGroups?: (
18076
18441
  | {
18077
- newlinesInside?: 'always' | 'never'
18442
+ newlinesInside?: ('always' | 'never') | number
18078
18443
 
18079
18444
  fallbackSort?: {
18080
18445
  order?: 'asc' | 'desc'
@@ -18122,7 +18487,7 @@ type PerfectionistSortUnionTypes = {
18122
18487
  }[]
18123
18488
  }
18124
18489
  | {
18125
- newlinesInside?: 'always' | 'never'
18490
+ newlinesInside?: ('always' | 'never') | number
18126
18491
 
18127
18492
  fallbackSort?: {
18128
18493
  order?: 'asc' | 'desc'
@@ -18235,14 +18600,13 @@ type PerfectionistSortUnionTypes = {
18235
18600
  }
18236
18601
 
18237
18602
  partitionByNewLine?: boolean
18238
-
18239
- newlinesBetween?: 'ignore' | 'always' | 'never'
18603
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18240
18604
 
18241
18605
  groups?: (
18242
18606
  | string
18243
18607
  | string[]
18244
18608
  | {
18245
- newlinesBetween?: 'ignore' | 'always' | 'never'
18609
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18246
18610
 
18247
18611
  commentAbove?: string
18248
18612
  }
@@ -18273,7 +18637,7 @@ type PerfectionistSortVariableDeclarations =
18273
18637
 
18274
18638
  customGroups?: (
18275
18639
  | {
18276
- newlinesInside?: 'always' | 'never'
18640
+ newlinesInside?: ('always' | 'never') | number
18277
18641
 
18278
18642
  fallbackSort?: {
18279
18643
  order?: 'asc' | 'desc'
@@ -18309,7 +18673,7 @@ type PerfectionistSortVariableDeclarations =
18309
18673
  }[]
18310
18674
  }
18311
18675
  | {
18312
- newlinesInside?: 'always' | 'never'
18676
+ newlinesInside?: ('always' | 'never') | number
18313
18677
 
18314
18678
  fallbackSort?: {
18315
18679
  order?: 'asc' | 'desc'
@@ -18410,14 +18774,13 @@ type PerfectionistSortVariableDeclarations =
18410
18774
  }
18411
18775
 
18412
18776
  partitionByNewLine?: boolean
18413
-
18414
- newlinesBetween?: 'ignore' | 'always' | 'never'
18777
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18415
18778
 
18416
18779
  groups?: (
18417
18780
  | string
18418
18781
  | string[]
18419
18782
  | {
18420
- newlinesBetween?: 'ignore' | 'always' | 'never'
18783
+ newlinesBetween?: ('ignore' | 'always' | 'never') | number
18421
18784
 
18422
18785
  commentAbove?: string
18423
18786
  }
@@ -19381,6 +19744,14 @@ type TestConsistentTestIt =
19381
19744
  withinDescribe?: 'test' | 'it'
19382
19745
  },
19383
19746
  ]
19747
+ // ----- test/consistent-vitest-vi -----
19748
+ type TestConsistentVitestVi =
19749
+ | []
19750
+ | [
19751
+ {
19752
+ fn?: 'vi' | 'vitest'
19753
+ },
19754
+ ]
19384
19755
  // ----- test/expect-expect -----
19385
19756
  type TestExpectExpect =
19386
19757
  | []
@@ -22466,6 +22837,8 @@ type TsNoBaseToString =
22466
22837
  | []
22467
22838
  | [
22468
22839
  {
22840
+ checkUnknown?: boolean
22841
+
22469
22842
  ignoredTypeNames?: string[]
22470
22843
  },
22471
22844
  ]
@@ -23094,7 +23467,6 @@ type TsPreferDestructuring =
23094
23467
  enforceForDeclarationWithTypeAnnotation?: boolean
23095
23468
 
23096
23469
  enforceForRenamedProperties?: boolean
23097
- [k: string]: unknown | undefined
23098
23470
  },
23099
23471
  ]
23100
23472
  // ----- ts/prefer-literal-enum-member -----
@@ -23129,7 +23501,6 @@ type TsPreferNullishCoalescing =
23129
23501
  number?: boolean
23130
23502
 
23131
23503
  string?: boolean
23132
- [k: string]: unknown | undefined
23133
23504
  }
23134
23505
  | true
23135
23506
 
@@ -23516,6 +23887,14 @@ type UnicornNoArrayReduce =
23516
23887
  allowSimpleOperations?: boolean
23517
23888
  },
23518
23889
  ]
23890
+ // ----- unicorn/no-array-reverse -----
23891
+ type UnicornNoArrayReverse =
23892
+ | []
23893
+ | [
23894
+ {
23895
+ allowExpressionStatement?: boolean
23896
+ },
23897
+ ]
23519
23898
  // ----- unicorn/no-instanceof-builtins -----
23520
23899
  type UnicornNoInstanceofBuiltins =
23521
23900
  | []