@w5s/eslint-config 3.0.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -48,7 +48,6 @@ interface PluginOptionsBase<Rules> {
48
48
  stylistic?: boolean | StylisticParameters;
49
49
  }
50
50
 
51
- /* eslint-disable unicorn/no-abusive-eslint-disable */
52
51
  /* eslint-disable */
53
52
  /* prettier-ignore */
54
53
 
@@ -566,7 +565,6 @@ declare namespace ignores {
566
565
  }
567
566
  }
568
567
 
569
- /* eslint-disable unicorn/no-abusive-eslint-disable */
570
568
  /* eslint-disable */
571
569
  /* prettier-ignore */
572
570
 
@@ -1736,7 +1734,6 @@ declare namespace jsonc {
1736
1734
  }
1737
1735
  }
1738
1736
 
1739
- /* eslint-disable unicorn/no-abusive-eslint-disable */
1740
1737
  /* eslint-disable */
1741
1738
  /* prettier-ignore */
1742
1739
 
@@ -2245,7 +2242,6 @@ declare namespace imports {
2245
2242
  }
2246
2243
  }
2247
2244
 
2248
- /* eslint-disable unicorn/no-abusive-eslint-disable */
2249
2245
  /* eslint-disable */
2250
2246
  /* prettier-ignore */
2251
2247
 
@@ -2782,7 +2778,6 @@ declare namespace node {
2782
2778
  }
2783
2779
  }
2784
2780
 
2785
- /* eslint-disable unicorn/no-abusive-eslint-disable */
2786
2781
  /* eslint-disable */
2787
2782
  /* prettier-ignore */
2788
2783
 
@@ -2796,483 +2791,484 @@ declare module 'eslint' {
2796
2791
  interface RuleOptions$4 {
2797
2792
  /**
2798
2793
  * Enforce linebreaks after opening and before closing array brackets
2799
- * @see https://eslint.style/rules/js/array-bracket-newline
2794
+ * @see https://eslint.style/rules/array-bracket-newline
2800
2795
  */
2801
2796
  'style/array-bracket-newline'?: Linter.RuleEntry<StyleArrayBracketNewline>
2802
2797
  /**
2803
2798
  * Enforce consistent spacing inside array brackets
2804
- * @see https://eslint.style/rules/js/array-bracket-spacing
2799
+ * @see https://eslint.style/rules/array-bracket-spacing
2805
2800
  */
2806
2801
  'style/array-bracket-spacing'?: Linter.RuleEntry<StyleArrayBracketSpacing>
2807
2802
  /**
2808
2803
  * Enforce line breaks after each array element
2809
- * @see https://eslint.style/rules/js/array-element-newline
2804
+ * @see https://eslint.style/rules/array-element-newline
2810
2805
  */
2811
2806
  'style/array-element-newline'?: Linter.RuleEntry<StyleArrayElementNewline>
2812
2807
  /**
2813
2808
  * Require parentheses around arrow function arguments
2814
- * @see https://eslint.style/rules/js/arrow-parens
2809
+ * @see https://eslint.style/rules/arrow-parens
2815
2810
  */
2816
2811
  'style/arrow-parens'?: Linter.RuleEntry<StyleArrowParens>
2817
2812
  /**
2818
2813
  * Enforce consistent spacing before and after the arrow in arrow functions
2819
- * @see https://eslint.style/rules/js/arrow-spacing
2814
+ * @see https://eslint.style/rules/arrow-spacing
2820
2815
  */
2821
2816
  'style/arrow-spacing'?: Linter.RuleEntry<StyleArrowSpacing>
2822
2817
  /**
2823
2818
  * Disallow or enforce spaces inside of blocks after opening block and before closing block
2824
- * @see https://eslint.style/rules/ts/block-spacing
2819
+ * @see https://eslint.style/rules/block-spacing
2825
2820
  */
2826
2821
  'style/block-spacing'?: Linter.RuleEntry<StyleBlockSpacing>
2827
2822
  /**
2828
2823
  * Enforce consistent brace style for blocks
2829
- * @see https://eslint.style/rules/ts/brace-style
2824
+ * @see https://eslint.style/rules/brace-style
2830
2825
  */
2831
2826
  'style/brace-style'?: Linter.RuleEntry<StyleBraceStyle>
2832
2827
  /**
2833
2828
  * Require or disallow trailing commas
2834
- * @see https://eslint.style/rules/ts/comma-dangle
2829
+ * @see https://eslint.style/rules/comma-dangle
2835
2830
  */
2836
2831
  'style/comma-dangle'?: Linter.RuleEntry<StyleCommaDangle>
2837
2832
  /**
2838
2833
  * Enforce consistent spacing before and after commas
2839
- * @see https://eslint.style/rules/ts/comma-spacing
2834
+ * @see https://eslint.style/rules/comma-spacing
2840
2835
  */
2841
2836
  'style/comma-spacing'?: Linter.RuleEntry<StyleCommaSpacing>
2842
2837
  /**
2843
2838
  * Enforce consistent comma style
2844
- * @see https://eslint.style/rules/js/comma-style
2839
+ * @see https://eslint.style/rules/comma-style
2845
2840
  */
2846
2841
  'style/comma-style'?: Linter.RuleEntry<StyleCommaStyle>
2847
2842
  /**
2848
2843
  * Enforce consistent spacing inside computed property brackets
2849
- * @see https://eslint.style/rules/js/computed-property-spacing
2844
+ * @see https://eslint.style/rules/computed-property-spacing
2850
2845
  */
2851
2846
  'style/computed-property-spacing'?: Linter.RuleEntry<StyleComputedPropertySpacing>
2852
2847
  /**
2853
2848
  * Enforce consistent line breaks after opening and before closing braces
2854
- * @see https://eslint.style/rules/plus/curly-newline
2849
+ * @see https://eslint.style/rules/curly-newline
2855
2850
  */
2856
2851
  'style/curly-newline'?: Linter.RuleEntry<StyleCurlyNewline>
2857
2852
  /**
2858
2853
  * Enforce consistent newlines before and after dots
2859
- * @see https://eslint.style/rules/js/dot-location
2854
+ * @see https://eslint.style/rules/dot-location
2860
2855
  */
2861
2856
  'style/dot-location'?: Linter.RuleEntry<StyleDotLocation>
2862
2857
  /**
2863
2858
  * Require or disallow newline at the end of files
2864
- * @see https://eslint.style/rules/js/eol-last
2859
+ * @see https://eslint.style/rules/eol-last
2865
2860
  */
2866
2861
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>
2867
2862
  /**
2868
- * Require or disallow spacing between function identifiers and their invocations
2869
- * @see https://eslint.style/rules/ts/function-call-spacing
2863
+ * Enforce consistent spacing and line break styles inside brackets.
2864
+ * @see https://eslint.style/rules/list-style
2870
2865
  */
2871
- 'style/func-call-spacing'?: Linter.RuleEntry<StyleFuncCallSpacing>
2866
+ 'style/exp-list-style'?: Linter.RuleEntry<StyleExpListStyle>
2872
2867
  /**
2873
2868
  * Enforce line breaks between arguments of a function call
2874
- * @see https://eslint.style/rules/js/function-call-argument-newline
2869
+ * @see https://eslint.style/rules/function-call-argument-newline
2875
2870
  */
2876
2871
  'style/function-call-argument-newline'?: Linter.RuleEntry<StyleFunctionCallArgumentNewline>
2877
2872
  /**
2878
2873
  * Require or disallow spacing between function identifiers and their invocations
2879
- * @see https://eslint.style/rules/ts/function-call-spacing
2874
+ * @see https://eslint.style/rules/function-call-spacing
2880
2875
  */
2881
2876
  'style/function-call-spacing'?: Linter.RuleEntry<StyleFunctionCallSpacing>
2882
2877
  /**
2883
2878
  * Enforce consistent line breaks inside function parentheses
2884
- * @see https://eslint.style/rules/js/function-paren-newline
2879
+ * @see https://eslint.style/rules/function-paren-newline
2885
2880
  */
2886
2881
  'style/function-paren-newline'?: Linter.RuleEntry<StyleFunctionParenNewline>
2887
2882
  /**
2888
2883
  * Enforce consistent spacing around `*` operators in generator functions
2889
- * @see https://eslint.style/rules/js/generator-star-spacing
2884
+ * @see https://eslint.style/rules/generator-star-spacing
2890
2885
  */
2891
2886
  'style/generator-star-spacing'?: Linter.RuleEntry<StyleGeneratorStarSpacing>
2892
2887
  /**
2893
2888
  * Enforce the location of arrow function bodies
2894
- * @see https://eslint.style/rules/js/implicit-arrow-linebreak
2889
+ * @see https://eslint.style/rules/implicit-arrow-linebreak
2895
2890
  */
2896
2891
  'style/implicit-arrow-linebreak'?: Linter.RuleEntry<StyleImplicitArrowLinebreak>
2897
2892
  /**
2898
2893
  * Enforce consistent indentation
2899
- * @see https://eslint.style/rules/ts/indent
2894
+ * @see https://eslint.style/rules/indent
2900
2895
  */
2901
2896
  'style/indent'?: Linter.RuleEntry<StyleIndent>
2902
2897
  /**
2903
2898
  * Indentation for binary operators
2904
- * @see https://eslint.style/rules/plus/indent-binary-ops
2899
+ * @see https://eslint.style/rules/indent-binary-ops
2905
2900
  */
2906
2901
  'style/indent-binary-ops'?: Linter.RuleEntry<StyleIndentBinaryOps>
2907
2902
  /**
2908
2903
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2909
- * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
2904
+ * @see https://eslint.style/rules/jsx-child-element-spacing
2910
2905
  */
2911
2906
  'style/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
2912
2907
  /**
2913
2908
  * Enforce closing bracket location in JSX
2914
- * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
2909
+ * @see https://eslint.style/rules/jsx-closing-bracket-location
2915
2910
  */
2916
2911
  'style/jsx-closing-bracket-location'?: Linter.RuleEntry<StyleJsxClosingBracketLocation>
2917
2912
  /**
2918
2913
  * Enforce closing tag location for multiline JSX
2919
- * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
2914
+ * @see https://eslint.style/rules/jsx-closing-tag-location
2920
2915
  */
2921
2916
  'style/jsx-closing-tag-location'?: Linter.RuleEntry<StyleJsxClosingTagLocation>
2922
2917
  /**
2923
2918
  * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
2924
- * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
2919
+ * @see https://eslint.style/rules/jsx-curly-brace-presence
2925
2920
  */
2926
2921
  'style/jsx-curly-brace-presence'?: Linter.RuleEntry<StyleJsxCurlyBracePresence>
2927
2922
  /**
2928
2923
  * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
2929
- * @see https://eslint.style/rules/jsx/jsx-curly-newline
2924
+ * @see https://eslint.style/rules/jsx-curly-newline
2930
2925
  */
2931
2926
  'style/jsx-curly-newline'?: Linter.RuleEntry<StyleJsxCurlyNewline>
2932
2927
  /**
2933
2928
  * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2934
- * @see https://eslint.style/rules/jsx/jsx-curly-spacing
2929
+ * @see https://eslint.style/rules/jsx-curly-spacing
2935
2930
  */
2936
2931
  'style/jsx-curly-spacing'?: Linter.RuleEntry<StyleJsxCurlySpacing>
2937
2932
  /**
2938
2933
  * Enforce or disallow spaces around equal signs in JSX attributes
2939
- * @see https://eslint.style/rules/jsx/jsx-equals-spacing
2934
+ * @see https://eslint.style/rules/jsx-equals-spacing
2940
2935
  */
2941
2936
  'style/jsx-equals-spacing'?: Linter.RuleEntry<StyleJsxEqualsSpacing>
2942
2937
  /**
2943
2938
  * Enforce proper position of the first property in JSX
2944
- * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
2939
+ * @see https://eslint.style/rules/jsx-first-prop-new-line
2945
2940
  */
2946
2941
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
2947
2942
  /**
2948
2943
  * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
2949
- * @see https://eslint.style/rules/jsx/jsx-function-call-newline
2944
+ * @see https://eslint.style/rules/jsx-function-call-newline
2950
2945
  */
2951
2946
  'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
2952
2947
  /**
2953
2948
  * Enforce JSX indentation. Deprecated, use `indent` rule instead.
2954
- * @see https://eslint.style/rules/jsx/jsx-indent
2949
+ * @see https://eslint.style/rules/jsx-indent
2955
2950
  * @deprecated
2956
2951
  */
2957
2952
  'style/jsx-indent'?: Linter.RuleEntry<StyleJsxIndent>
2958
2953
  /**
2959
2954
  * Enforce props indentation in JSX
2960
- * @see https://eslint.style/rules/jsx/jsx-indent-props
2955
+ * @see https://eslint.style/rules/jsx-indent-props
2961
2956
  */
2962
2957
  'style/jsx-indent-props'?: Linter.RuleEntry<StyleJsxIndentProps>
2963
2958
  /**
2964
2959
  * Enforce maximum of props on a single line in JSX
2965
- * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
2960
+ * @see https://eslint.style/rules/jsx-max-props-per-line
2966
2961
  */
2967
2962
  'style/jsx-max-props-per-line'?: Linter.RuleEntry<StyleJsxMaxPropsPerLine>
2968
2963
  /**
2969
2964
  * Require or prevent a new line after jsx elements and expressions.
2970
- * @see https://eslint.style/rules/jsx/jsx-newline
2965
+ * @see https://eslint.style/rules/jsx-newline
2971
2966
  */
2972
2967
  'style/jsx-newline'?: Linter.RuleEntry<StyleJsxNewline>
2973
2968
  /**
2974
2969
  * Require one JSX element per line
2975
- * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
2970
+ * @see https://eslint.style/rules/jsx-one-expression-per-line
2976
2971
  */
2977
2972
  'style/jsx-one-expression-per-line'?: Linter.RuleEntry<StyleJsxOneExpressionPerLine>
2978
2973
  /**
2979
2974
  * Enforce PascalCase for user-defined JSX components
2980
- * @see https://eslint.style/rules/jsx/jsx-pascal-case
2975
+ * @see https://eslint.style/rules/jsx-pascal-case
2981
2976
  */
2982
2977
  'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>
2983
2978
  /**
2984
- * Disallow multiple spaces between inline JSX props
2985
- * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
2979
+ * Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
2980
+ * @see https://eslint.style/rules/jsx-props-no-multi-spaces
2981
+ * @deprecated
2986
2982
  */
2987
2983
  'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
2988
2984
  /**
2989
2985
  * Enforce the consistent use of either double or single quotes in JSX attributes
2990
- * @see https://eslint.style/rules/js/jsx-quotes
2986
+ * @see https://eslint.style/rules/jsx-quotes
2991
2987
  */
2992
2988
  'style/jsx-quotes'?: Linter.RuleEntry<StyleJsxQuotes>
2993
2989
  /**
2994
2990
  * Disallow extra closing tags for components without children
2995
- * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
2991
+ * @see https://eslint.style/rules/jsx-self-closing-comp
2996
2992
  */
2997
2993
  'style/jsx-self-closing-comp'?: Linter.RuleEntry<StyleJsxSelfClosingComp>
2998
2994
  /**
2999
2995
  * Enforce props alphabetical sorting
3000
- * @see https://eslint.style/rules/jsx/jsx-sort-props
2996
+ * @see https://eslint.style/rules/jsx-sort-props
3001
2997
  */
3002
2998
  'style/jsx-sort-props'?: Linter.RuleEntry<StyleJsxSortProps>
3003
2999
  /**
3004
3000
  * Enforce whitespace in and around the JSX opening and closing brackets
3005
- * @see https://eslint.style/rules/jsx/jsx-tag-spacing
3001
+ * @see https://eslint.style/rules/jsx-tag-spacing
3006
3002
  */
3007
3003
  'style/jsx-tag-spacing'?: Linter.RuleEntry<StyleJsxTagSpacing>
3008
3004
  /**
3009
3005
  * Disallow missing parentheses around multiline JSX
3010
- * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
3006
+ * @see https://eslint.style/rules/jsx-wrap-multilines
3011
3007
  */
3012
3008
  'style/jsx-wrap-multilines'?: Linter.RuleEntry<StyleJsxWrapMultilines>
3013
3009
  /**
3014
3010
  * Enforce consistent spacing between property names and type annotations in types and interfaces
3015
- * @see https://eslint.style/rules/ts/key-spacing
3011
+ * @see https://eslint.style/rules/key-spacing
3016
3012
  */
3017
3013
  'style/key-spacing'?: Linter.RuleEntry<StyleKeySpacing>
3018
3014
  /**
3019
3015
  * Enforce consistent spacing before and after keywords
3020
- * @see https://eslint.style/rules/ts/keyword-spacing
3016
+ * @see https://eslint.style/rules/keyword-spacing
3021
3017
  */
3022
3018
  'style/keyword-spacing'?: Linter.RuleEntry<StyleKeywordSpacing>
3023
3019
  /**
3024
3020
  * Enforce position of line comments
3025
- * @see https://eslint.style/rules/js/line-comment-position
3021
+ * @see https://eslint.style/rules/line-comment-position
3026
3022
  */
3027
3023
  'style/line-comment-position'?: Linter.RuleEntry<StyleLineCommentPosition>
3028
3024
  /**
3029
3025
  * Enforce consistent linebreak style
3030
- * @see https://eslint.style/rules/js/linebreak-style
3026
+ * @see https://eslint.style/rules/linebreak-style
3031
3027
  */
3032
3028
  'style/linebreak-style'?: Linter.RuleEntry<StyleLinebreakStyle>
3033
3029
  /**
3034
3030
  * Require empty lines around comments
3035
- * @see https://eslint.style/rules/ts/lines-around-comment
3031
+ * @see https://eslint.style/rules/lines-around-comment
3036
3032
  */
3037
3033
  'style/lines-around-comment'?: Linter.RuleEntry<StyleLinesAroundComment>
3038
3034
  /**
3039
3035
  * Require or disallow an empty line between class members
3040
- * @see https://eslint.style/rules/ts/lines-between-class-members
3036
+ * @see https://eslint.style/rules/lines-between-class-members
3041
3037
  */
3042
3038
  'style/lines-between-class-members'?: Linter.RuleEntry<StyleLinesBetweenClassMembers>
3043
3039
  /**
3044
3040
  * Enforce a maximum line length
3045
- * @see https://eslint.style/rules/js/max-len
3041
+ * @see https://eslint.style/rules/max-len
3046
3042
  */
3047
3043
  'style/max-len'?: Linter.RuleEntry<StyleMaxLen>
3048
3044
  /**
3049
3045
  * Enforce a maximum number of statements allowed per line
3050
- * @see https://eslint.style/rules/js/max-statements-per-line
3046
+ * @see https://eslint.style/rules/max-statements-per-line
3051
3047
  */
3052
3048
  'style/max-statements-per-line'?: Linter.RuleEntry<StyleMaxStatementsPerLine>
3053
3049
  /**
3054
3050
  * Require a specific member delimiter style for interfaces and type literals
3055
- * @see https://eslint.style/rules/ts/member-delimiter-style
3051
+ * @see https://eslint.style/rules/member-delimiter-style
3056
3052
  */
3057
3053
  'style/member-delimiter-style'?: Linter.RuleEntry<StyleMemberDelimiterStyle>
3058
3054
  /**
3059
3055
  * Enforce a particular style for multiline comments
3060
- * @see https://eslint.style/rules/js/multiline-comment-style
3056
+ * @see https://eslint.style/rules/multiline-comment-style
3061
3057
  */
3062
3058
  'style/multiline-comment-style'?: Linter.RuleEntry<StyleMultilineCommentStyle>
3063
3059
  /**
3064
3060
  * Enforce newlines between operands of ternary expressions
3065
- * @see https://eslint.style/rules/js/multiline-ternary
3061
+ * @see https://eslint.style/rules/multiline-ternary
3066
3062
  */
3067
3063
  'style/multiline-ternary'?: Linter.RuleEntry<StyleMultilineTernary>
3068
3064
  /**
3069
3065
  * Enforce or disallow parentheses when invoking a constructor with no arguments
3070
- * @see https://eslint.style/rules/js/new-parens
3066
+ * @see https://eslint.style/rules/new-parens
3071
3067
  */
3072
3068
  'style/new-parens'?: Linter.RuleEntry<StyleNewParens>
3073
3069
  /**
3074
3070
  * Require a newline after each call in a method chain
3075
- * @see https://eslint.style/rules/js/newline-per-chained-call
3071
+ * @see https://eslint.style/rules/newline-per-chained-call
3076
3072
  */
3077
3073
  'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>
3078
3074
  /**
3079
3075
  * Disallow arrow functions where they could be confused with comparisons
3080
- * @see https://eslint.style/rules/js/no-confusing-arrow
3076
+ * @see https://eslint.style/rules/no-confusing-arrow
3081
3077
  */
3082
3078
  'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>
3083
3079
  /**
3084
3080
  * Disallow unnecessary parentheses
3085
- * @see https://eslint.style/rules/ts/no-extra-parens
3081
+ * @see https://eslint.style/rules/no-extra-parens
3086
3082
  */
3087
3083
  'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>
3088
3084
  /**
3089
3085
  * Disallow unnecessary semicolons
3090
- * @see https://eslint.style/rules/ts/no-extra-semi
3086
+ * @see https://eslint.style/rules/no-extra-semi
3091
3087
  */
3092
3088
  'style/no-extra-semi'?: Linter.RuleEntry<[]>
3093
3089
  /**
3094
3090
  * Disallow leading or trailing decimal points in numeric literals
3095
- * @see https://eslint.style/rules/js/no-floating-decimal
3091
+ * @see https://eslint.style/rules/no-floating-decimal
3096
3092
  */
3097
3093
  'style/no-floating-decimal'?: Linter.RuleEntry<[]>
3098
3094
  /**
3099
3095
  * Disallow mixed binary operators
3100
- * @see https://eslint.style/rules/js/no-mixed-operators
3096
+ * @see https://eslint.style/rules/no-mixed-operators
3101
3097
  */
3102
3098
  'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>
3103
3099
  /**
3104
3100
  * Disallow mixed spaces and tabs for indentation
3105
- * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
3101
+ * @see https://eslint.style/rules/no-mixed-spaces-and-tabs
3106
3102
  */
3107
3103
  'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>
3108
3104
  /**
3109
3105
  * Disallow multiple spaces
3110
- * @see https://eslint.style/rules/js/no-multi-spaces
3106
+ * @see https://eslint.style/rules/no-multi-spaces
3111
3107
  */
3112
3108
  'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>
3113
3109
  /**
3114
3110
  * Disallow multiple empty lines
3115
- * @see https://eslint.style/rules/js/no-multiple-empty-lines
3111
+ * @see https://eslint.style/rules/no-multiple-empty-lines
3116
3112
  */
3117
3113
  'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>
3118
3114
  /**
3119
3115
  * Disallow all tabs
3120
- * @see https://eslint.style/rules/js/no-tabs
3116
+ * @see https://eslint.style/rules/no-tabs
3121
3117
  */
3122
3118
  'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>
3123
3119
  /**
3124
3120
  * Disallow trailing whitespace at the end of lines
3125
- * @see https://eslint.style/rules/js/no-trailing-spaces
3121
+ * @see https://eslint.style/rules/no-trailing-spaces
3126
3122
  */
3127
3123
  'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3128
3124
  /**
3129
3125
  * Disallow whitespace before properties
3130
- * @see https://eslint.style/rules/js/no-whitespace-before-property
3126
+ * @see https://eslint.style/rules/no-whitespace-before-property
3131
3127
  */
3132
3128
  'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3133
3129
  /**
3134
3130
  * Enforce the location of single-line statements
3135
- * @see https://eslint.style/rules/js/nonblock-statement-body-position
3131
+ * @see https://eslint.style/rules/nonblock-statement-body-position
3136
3132
  */
3137
3133
  'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3138
3134
  /**
3139
3135
  * Enforce consistent line breaks after opening and before closing braces
3140
- * @see https://eslint.style/rules/ts/object-curly-newline
3136
+ * @see https://eslint.style/rules/object-curly-newline
3141
3137
  */
3142
3138
  'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3143
3139
  /**
3144
3140
  * Enforce consistent spacing inside braces
3145
- * @see https://eslint.style/rules/ts/object-curly-spacing
3141
+ * @see https://eslint.style/rules/object-curly-spacing
3146
3142
  */
3147
3143
  'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3148
3144
  /**
3149
3145
  * Enforce placing object properties on separate lines
3150
- * @see https://eslint.style/rules/ts/object-property-newline
3146
+ * @see https://eslint.style/rules/object-property-newline
3151
3147
  */
3152
3148
  'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3153
3149
  /**
3154
3150
  * Require or disallow newlines around variable declarations
3155
- * @see https://eslint.style/rules/js/one-var-declaration-per-line
3151
+ * @see https://eslint.style/rules/one-var-declaration-per-line
3156
3152
  */
3157
3153
  'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3158
3154
  /**
3159
3155
  * Enforce consistent linebreak style for operators
3160
- * @see https://eslint.style/rules/js/operator-linebreak
3156
+ * @see https://eslint.style/rules/operator-linebreak
3161
3157
  */
3162
3158
  'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3163
3159
  /**
3164
3160
  * Require or disallow padding within blocks
3165
- * @see https://eslint.style/rules/js/padded-blocks
3161
+ * @see https://eslint.style/rules/padded-blocks
3166
3162
  */
3167
3163
  'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3168
3164
  /**
3169
3165
  * Require or disallow padding lines between statements
3170
- * @see https://eslint.style/rules/ts/padding-line-between-statements
3166
+ * @see https://eslint.style/rules/padding-line-between-statements
3171
3167
  */
3172
3168
  'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3173
3169
  /**
3174
3170
  * Require quotes around object literal, type literal, interfaces and enums property names
3175
- * @see https://eslint.style/rules/ts/quote-props
3171
+ * @see https://eslint.style/rules/quote-props
3176
3172
  */
3177
3173
  'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3178
3174
  /**
3179
3175
  * Enforce the consistent use of either backticks, double, or single quotes
3180
- * @see https://eslint.style/rules/ts/quotes
3176
+ * @see https://eslint.style/rules/quotes
3181
3177
  */
3182
3178
  'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3183
3179
  /**
3184
3180
  * Enforce spacing between rest and spread operators and their expressions
3185
- * @see https://eslint.style/rules/js/rest-spread-spacing
3181
+ * @see https://eslint.style/rules/rest-spread-spacing
3186
3182
  */
3187
3183
  'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3188
3184
  /**
3189
3185
  * Require or disallow semicolons instead of ASI
3190
- * @see https://eslint.style/rules/ts/semi
3186
+ * @see https://eslint.style/rules/semi
3191
3187
  */
3192
3188
  'style/semi'?: Linter.RuleEntry<StyleSemi>
3193
3189
  /**
3194
3190
  * Enforce consistent spacing before and after semicolons
3195
- * @see https://eslint.style/rules/js/semi-spacing
3191
+ * @see https://eslint.style/rules/semi-spacing
3196
3192
  */
3197
3193
  'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3198
3194
  /**
3199
3195
  * Enforce location of semicolons
3200
- * @see https://eslint.style/rules/js/semi-style
3196
+ * @see https://eslint.style/rules/semi-style
3201
3197
  */
3202
3198
  'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3203
3199
  /**
3204
3200
  * Enforce consistent spacing before blocks
3205
- * @see https://eslint.style/rules/ts/space-before-blocks
3201
+ * @see https://eslint.style/rules/space-before-blocks
3206
3202
  */
3207
3203
  'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3208
3204
  /**
3209
3205
  * Enforce consistent spacing before function parenthesis
3210
- * @see https://eslint.style/rules/ts/space-before-function-paren
3206
+ * @see https://eslint.style/rules/space-before-function-paren
3211
3207
  */
3212
3208
  'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3213
3209
  /**
3214
3210
  * Enforce consistent spacing inside parentheses
3215
- * @see https://eslint.style/rules/js/space-in-parens
3211
+ * @see https://eslint.style/rules/space-in-parens
3216
3212
  */
3217
3213
  'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3218
3214
  /**
3219
3215
  * Require spacing around infix operators
3220
- * @see https://eslint.style/rules/ts/space-infix-ops
3216
+ * @see https://eslint.style/rules/space-infix-ops
3221
3217
  */
3222
3218
  'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3223
3219
  /**
3224
3220
  * Enforce consistent spacing before or after unary operators
3225
- * @see https://eslint.style/rules/js/space-unary-ops
3221
+ * @see https://eslint.style/rules/space-unary-ops
3226
3222
  */
3227
3223
  'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3228
3224
  /**
3229
3225
  * Enforce consistent spacing after the `//` or `/*` in a comment
3230
- * @see https://eslint.style/rules/js/spaced-comment
3226
+ * @see https://eslint.style/rules/spaced-comment
3231
3227
  */
3232
3228
  'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3233
3229
  /**
3234
3230
  * Enforce spacing around colons of switch statements
3235
- * @see https://eslint.style/rules/js/switch-colon-spacing
3231
+ * @see https://eslint.style/rules/switch-colon-spacing
3236
3232
  */
3237
3233
  'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3238
3234
  /**
3239
3235
  * Require or disallow spacing around embedded expressions of template strings
3240
- * @see https://eslint.style/rules/js/template-curly-spacing
3236
+ * @see https://eslint.style/rules/template-curly-spacing
3241
3237
  */
3242
3238
  'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3243
3239
  /**
3244
3240
  * Require or disallow spacing between template tags and their literals
3245
- * @see https://eslint.style/rules/js/template-tag-spacing
3241
+ * @see https://eslint.style/rules/template-tag-spacing
3246
3242
  */
3247
3243
  'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
3248
3244
  /**
3249
3245
  * Require consistent spacing around type annotations
3250
- * @see https://eslint.style/rules/ts/type-annotation-spacing
3246
+ * @see https://eslint.style/rules/type-annotation-spacing
3251
3247
  */
3252
3248
  'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
3253
3249
  /**
3254
3250
  * Enforces consistent spacing inside TypeScript type generics
3255
- * @see https://eslint.style/rules/plus/type-generic-spacing
3251
+ * @see https://eslint.style/rules/type-generic-spacing
3256
3252
  */
3257
3253
  'style/type-generic-spacing'?: Linter.RuleEntry<[]>
3258
3254
  /**
3259
3255
  * Expect space before the type declaration in the named tuple
3260
- * @see https://eslint.style/rules/plus/type-named-tuple-spacing
3256
+ * @see https://eslint.style/rules/type-named-tuple-spacing
3261
3257
  */
3262
3258
  'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
3263
3259
  /**
3264
3260
  * Require parentheses around immediate `function` invocations
3265
- * @see https://eslint.style/rules/js/wrap-iife
3261
+ * @see https://eslint.style/rules/wrap-iife
3266
3262
  */
3267
3263
  'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
3268
3264
  /**
3269
3265
  * Require parenthesis around regex literals
3270
- * @see https://eslint.style/rules/js/wrap-regex
3266
+ * @see https://eslint.style/rules/wrap-regex
3271
3267
  */
3272
3268
  'style/wrap-regex'?: Linter.RuleEntry<[]>
3273
3269
  /**
3274
3270
  * Require or disallow spacing around the `*` in `yield*` expressions
3275
- * @see https://eslint.style/rules/js/yield-star-spacing
3271
+ * @see https://eslint.style/rules/yield-star-spacing
3276
3272
  */
3277
3273
  'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
3278
3274
  }
@@ -3446,16 +3442,6 @@ type StyleCurlyNewline = []|[(("always" | "never") | {
3446
3442
  minElements?: number
3447
3443
  consistent?: boolean
3448
3444
  })
3449
- TSEnumBody?: (("always" | "never") | {
3450
- multiline?: boolean
3451
- minElements?: number
3452
- consistent?: boolean
3453
- })
3454
- TSInterfaceBody?: (("always" | "never") | {
3455
- multiline?: boolean
3456
- minElements?: number
3457
- consistent?: boolean
3458
- })
3459
3445
  TSModuleBlock?: (("always" | "never") | {
3460
3446
  multiline?: boolean
3461
3447
  minElements?: number
@@ -3469,14 +3455,50 @@ type StyleCurlyNewline = []|[(("always" | "never") | {
3469
3455
  type StyleDotLocation = []|[("object" | "property")]
3470
3456
  // ----- style/eol-last -----
3471
3457
  type StyleEolLast = []|[("always" | "never" | "unix" | "windows")]
3472
- // ----- style/func-call-spacing -----
3473
- type StyleFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
3474
- allowNewlines?: boolean
3475
- optionalChain?: {
3476
- before?: boolean
3477
- after?: boolean
3458
+ // ----- style/exp-list-style -----
3459
+ type StyleExpListStyle = []|[{
3460
+ singleLine?: _StyleExpListStyle_SingleLineConfig
3461
+ multiLine?: _StyleExpListStyle_MultiLineConfig
3462
+ overrides?: {
3463
+ "[]"?: _StyleExpListStyle_BaseConfig
3464
+ "{}"?: _StyleExpListStyle_BaseConfig
3465
+ "<>"?: _StyleExpListStyle_BaseConfig
3466
+ "()"?: _StyleExpListStyle_BaseConfig
3467
+ ArrayExpression?: _StyleExpListStyle_BaseConfig
3468
+ ArrayPattern?: _StyleExpListStyle_BaseConfig
3469
+ ArrowFunctionExpression?: _StyleExpListStyle_BaseConfig
3470
+ CallExpression?: _StyleExpListStyle_BaseConfig
3471
+ ExportNamedDeclaration?: _StyleExpListStyle_BaseConfig
3472
+ FunctionDeclaration?: _StyleExpListStyle_BaseConfig
3473
+ FunctionExpression?: _StyleExpListStyle_BaseConfig
3474
+ ImportDeclaration?: _StyleExpListStyle_BaseConfig
3475
+ ImportAttributes?: _StyleExpListStyle_BaseConfig
3476
+ NewExpression?: _StyleExpListStyle_BaseConfig
3477
+ ObjectExpression?: _StyleExpListStyle_BaseConfig
3478
+ ObjectPattern?: _StyleExpListStyle_BaseConfig
3479
+ TSDeclareFunction?: _StyleExpListStyle_BaseConfig
3480
+ TSFunctionType?: _StyleExpListStyle_BaseConfig
3481
+ TSInterfaceBody?: _StyleExpListStyle_BaseConfig
3482
+ TSEnumBody?: _StyleExpListStyle_BaseConfig
3483
+ TSTupleType?: _StyleExpListStyle_BaseConfig
3484
+ TSTypeLiteral?: _StyleExpListStyle_BaseConfig
3485
+ TSTypeParameterDeclaration?: _StyleExpListStyle_BaseConfig
3486
+ TSTypeParameterInstantiation?: _StyleExpListStyle_BaseConfig
3487
+ JSONArrayExpression?: _StyleExpListStyle_BaseConfig
3488
+ JSONObjectExpression?: _StyleExpListStyle_BaseConfig
3478
3489
  }
3479
- }])
3490
+ }]
3491
+ interface _StyleExpListStyle_SingleLineConfig {
3492
+ spacing?: ("always" | "never")
3493
+ maxItems?: number
3494
+ }
3495
+ interface _StyleExpListStyle_MultiLineConfig {
3496
+ minItems?: number
3497
+ }
3498
+ interface _StyleExpListStyle_BaseConfig {
3499
+ singleLine?: _StyleExpListStyle_SingleLineConfig
3500
+ multiline?: _StyleExpListStyle_MultiLineConfig
3501
+ }
3480
3502
  // ----- style/function-call-argument-newline -----
3481
3503
  type StyleFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
3482
3504
  // ----- style/function-call-spacing -----
@@ -3507,6 +3529,10 @@ type StyleGeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither")
3507
3529
  before?: boolean
3508
3530
  after?: boolean
3509
3531
  })
3532
+ shorthand?: (("before" | "after" | "both" | "neither") | {
3533
+ before?: boolean
3534
+ after?: boolean
3535
+ })
3510
3536
  })]
3511
3537
  // ----- style/implicit-arrow-linebreak -----
3512
3538
  type StyleImplicitArrowLinebreak = []|[("beside" | "below")]
@@ -3517,16 +3543,20 @@ type StyleIndent = []|[("tab" | number)]|[("tab" | number), {
3517
3543
  var?: (number | ("first" | "off"))
3518
3544
  let?: (number | ("first" | "off"))
3519
3545
  const?: (number | ("first" | "off"))
3546
+ using?: (number | ("first" | "off"))
3520
3547
  })
3548
+ assignmentOperator?: (number | "off")
3521
3549
  outerIIFEBody?: (number | "off")
3522
3550
  MemberExpression?: (number | "off")
3523
3551
  FunctionDeclaration?: {
3524
3552
  parameters?: (number | ("first" | "off"))
3525
3553
  body?: number
3554
+ returnType?: number
3526
3555
  }
3527
3556
  FunctionExpression?: {
3528
3557
  parameters?: (number | ("first" | "off"))
3529
3558
  body?: number
3559
+ returnType?: number
3530
3560
  }
3531
3561
  StaticBlock?: {
3532
3562
  body?: number
@@ -3538,7 +3568,11 @@ type StyleIndent = []|[("tab" | number)]|[("tab" | number), {
3538
3568
  ObjectExpression?: (number | ("first" | "off"))
3539
3569
  ImportDeclaration?: (number | ("first" | "off"))
3540
3570
  flatTernaryExpressions?: boolean
3541
- offsetTernaryExpressions?: boolean
3571
+ offsetTernaryExpressions?: (boolean | {
3572
+ CallExpression?: boolean
3573
+ AwaitExpression?: boolean
3574
+ NewExpression?: boolean
3575
+ })
3542
3576
  offsetTernaryExpressionsOffsetCallExpressions?: boolean
3543
3577
  ignoredNodes?: string[]
3544
3578
  ignoreComments?: boolean
@@ -3567,31 +3601,52 @@ type StyleJsxCurlyNewline = []|[(("consistent" | "never") | {
3567
3601
  multiline?: ("consistent" | "require" | "forbid")
3568
3602
  })]
3569
3603
  // ----- style/jsx-curly-spacing -----
3570
- type StyleJsxCurlySpacing = []|[((_StyleJsxCurlySpacing_BasicConfig & {
3571
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
3572
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
3573
- [k: string]: unknown | undefined
3574
- }) | ("always" | "never"))]|[((_StyleJsxCurlySpacing_BasicConfig & {
3575
- attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean
3576
- children?: _StyleJsxCurlySpacingBasicConfigOrBoolean
3577
- [k: string]: unknown | undefined
3578
- }) | ("always" | "never")), {
3604
+ type StyleJsxCurlySpacing = []|[({
3605
+ when?: ("always" | "never")
3579
3606
  allowMultiline?: boolean
3580
3607
  spacing?: {
3581
3608
  objectLiterals?: ("always" | "never")
3582
- [k: string]: unknown | undefined
3583
3609
  }
3584
- }]
3585
- type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean)
3586
- interface _StyleJsxCurlySpacing_BasicConfig {
3610
+ attributes?: ({
3611
+ when?: ("always" | "never")
3612
+ allowMultiline?: boolean
3613
+ spacing?: {
3614
+ objectLiterals?: ("always" | "never")
3615
+ }
3616
+ } | boolean)
3617
+ children?: ({
3618
+ when?: ("always" | "never")
3619
+ allowMultiline?: boolean
3620
+ spacing?: {
3621
+ objectLiterals?: ("always" | "never")
3622
+ }
3623
+ } | boolean)
3624
+ } | ("always" | "never"))]|[({
3587
3625
  when?: ("always" | "never")
3588
3626
  allowMultiline?: boolean
3589
3627
  spacing?: {
3590
3628
  objectLiterals?: ("always" | "never")
3591
- [k: string]: unknown | undefined
3592
3629
  }
3593
- [k: string]: unknown | undefined
3594
- }
3630
+ attributes?: ({
3631
+ when?: ("always" | "never")
3632
+ allowMultiline?: boolean
3633
+ spacing?: {
3634
+ objectLiterals?: ("always" | "never")
3635
+ }
3636
+ } | boolean)
3637
+ children?: ({
3638
+ when?: ("always" | "never")
3639
+ allowMultiline?: boolean
3640
+ spacing?: {
3641
+ objectLiterals?: ("always" | "never")
3642
+ }
3643
+ } | boolean)
3644
+ } | ("always" | "never")), {
3645
+ allowMultiline?: boolean
3646
+ spacing?: {
3647
+ objectLiterals?: ("always" | "never")
3648
+ }
3649
+ }]
3595
3650
  // ----- style/jsx-equals-spacing -----
3596
3651
  type StyleJsxEqualsSpacing = []|[("always" | "never")]
3597
3652
  // ----- style/jsx-first-prop-new-line -----
@@ -3607,14 +3662,12 @@ type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
3607
3662
  type StyleJsxIndentProps = []|[(("tab" | "first") | number | {
3608
3663
  indentMode?: (("tab" | "first") | number)
3609
3664
  ignoreTernaryOperator?: boolean
3610
- [k: string]: unknown | undefined
3611
3665
  })]
3612
3666
  // ----- style/jsx-max-props-per-line -----
3613
3667
  type StyleJsxMaxPropsPerLine = []|[({
3614
3668
  maximum?: {
3615
3669
  single?: number
3616
3670
  multi?: number
3617
- [k: string]: unknown | undefined
3618
3671
  }
3619
3672
  } | {
3620
3673
  maximum?: number
@@ -3651,7 +3704,8 @@ type StyleJsxSortProps = []|[{
3651
3704
  multiline?: ("ignore" | "first" | "last")
3652
3705
  ignoreCase?: boolean
3653
3706
  noSortAlphabetically?: boolean
3654
- reservedFirst?: (unknown[] | boolean)
3707
+ reservedFirst?: (string[] | boolean)
3708
+ reservedLast?: string[]
3655
3709
  locale?: string
3656
3710
  }]
3657
3711
  // ----- style/jsx-tag-spacing -----
@@ -3683,6 +3737,7 @@ type StyleKeySpacing = []|[({
3683
3737
  mode?: ("strict" | "minimum")
3684
3738
  beforeColon?: boolean
3685
3739
  afterColon?: boolean
3740
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
3686
3741
  } | {
3687
3742
  singleLine?: {
3688
3743
  mode?: ("strict" | "minimum")
@@ -3727,18 +3782,6 @@ type StyleKeywordSpacing = []|[{
3727
3782
  before?: boolean
3728
3783
  after?: boolean
3729
3784
  }
3730
- as?: {
3731
- before?: boolean
3732
- after?: boolean
3733
- }
3734
- async?: {
3735
- before?: boolean
3736
- after?: boolean
3737
- }
3738
- await?: {
3739
- before?: boolean
3740
- after?: boolean
3741
- }
3742
3785
  boolean?: {
3743
3786
  before?: boolean
3744
3787
  after?: boolean
@@ -3831,18 +3874,10 @@ type StyleKeywordSpacing = []|[{
3831
3874
  before?: boolean
3832
3875
  after?: boolean
3833
3876
  }
3834
- from?: {
3835
- before?: boolean
3836
- after?: boolean
3837
- }
3838
3877
  function?: {
3839
3878
  before?: boolean
3840
3879
  after?: boolean
3841
3880
  }
3842
- get?: {
3843
- before?: boolean
3844
- after?: boolean
3845
- }
3846
3881
  goto?: {
3847
3882
  before?: boolean
3848
3883
  after?: boolean
@@ -3875,10 +3910,6 @@ type StyleKeywordSpacing = []|[{
3875
3910
  before?: boolean
3876
3911
  after?: boolean
3877
3912
  }
3878
- let?: {
3879
- before?: boolean
3880
- after?: boolean
3881
- }
3882
3913
  long?: {
3883
3914
  before?: boolean
3884
3915
  after?: boolean
@@ -3895,10 +3926,6 @@ type StyleKeywordSpacing = []|[{
3895
3926
  before?: boolean
3896
3927
  after?: boolean
3897
3928
  }
3898
- of?: {
3899
- before?: boolean
3900
- after?: boolean
3901
- }
3902
3929
  package?: {
3903
3930
  before?: boolean
3904
3931
  after?: boolean
@@ -3919,14 +3946,6 @@ type StyleKeywordSpacing = []|[{
3919
3946
  before?: boolean
3920
3947
  after?: boolean
3921
3948
  }
3922
- satisfies?: {
3923
- before?: boolean
3924
- after?: boolean
3925
- }
3926
- set?: {
3927
- before?: boolean
3928
- after?: boolean
3929
- }
3930
3949
  short?: {
3931
3950
  before?: boolean
3932
3951
  after?: boolean
@@ -3995,7 +4014,43 @@ type StyleKeywordSpacing = []|[{
3995
4014
  before?: boolean
3996
4015
  after?: boolean
3997
4016
  }
3998
- yield?: {
4017
+ arguments?: {
4018
+ before?: boolean
4019
+ after?: boolean
4020
+ }
4021
+ as?: {
4022
+ before?: boolean
4023
+ after?: boolean
4024
+ }
4025
+ async?: {
4026
+ before?: boolean
4027
+ after?: boolean
4028
+ }
4029
+ await?: {
4030
+ before?: boolean
4031
+ after?: boolean
4032
+ }
4033
+ eval?: {
4034
+ before?: boolean
4035
+ after?: boolean
4036
+ }
4037
+ from?: {
4038
+ before?: boolean
4039
+ after?: boolean
4040
+ }
4041
+ get?: {
4042
+ before?: boolean
4043
+ after?: boolean
4044
+ }
4045
+ let?: {
4046
+ before?: boolean
4047
+ after?: boolean
4048
+ }
4049
+ of?: {
4050
+ before?: boolean
4051
+ after?: boolean
4052
+ }
4053
+ set?: {
3999
4054
  before?: boolean
4000
4055
  after?: boolean
4001
4056
  }
@@ -4003,6 +4058,22 @@ type StyleKeywordSpacing = []|[{
4003
4058
  before?: boolean
4004
4059
  after?: boolean
4005
4060
  }
4061
+ using?: {
4062
+ before?: boolean
4063
+ after?: boolean
4064
+ }
4065
+ yield?: {
4066
+ before?: boolean
4067
+ after?: boolean
4068
+ }
4069
+ accessor?: {
4070
+ before?: boolean
4071
+ after?: boolean
4072
+ }
4073
+ satisfies?: {
4074
+ before?: boolean
4075
+ after?: boolean
4076
+ }
4006
4077
  }
4007
4078
  }]
4008
4079
  // ----- style/line-comment-position -----
@@ -4169,11 +4240,11 @@ interface _StyleMemberDelimiterStyle_DelimiterConfig {
4169
4240
  // ----- style/multiline-comment-style -----
4170
4241
  type StyleMultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", {
4171
4242
  checkJSDoc?: boolean
4243
+ checkExclamation?: boolean
4172
4244
  }])
4173
4245
  // ----- style/multiline-ternary -----
4174
4246
  type StyleMultilineTernary = []|[("always" | "always-multiline" | "never")]|[("always" | "always-multiline" | "never"), {
4175
4247
  ignoreJSX?: boolean
4176
- [k: string]: unknown | undefined
4177
4248
  }]
4178
4249
  // ----- style/new-parens -----
4179
4250
  type StyleNewParens = []|[("always" | "never")]
@@ -4198,6 +4269,13 @@ type StyleNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
4198
4269
  enforceForNewInMemberExpressions?: boolean
4199
4270
  enforceForFunctionPrototypeMethods?: boolean
4200
4271
  allowParensAfterCommentPattern?: string
4272
+ nestedConditionalExpressions?: boolean
4273
+ allowNodesInSpreadElement?: {
4274
+ ConditionalExpression?: boolean
4275
+ LogicalExpression?: boolean
4276
+ AwaitExpression?: boolean
4277
+ }
4278
+ ignoredNodes?: string[]
4201
4279
  }])
4202
4280
  // ----- style/no-mixed-operators -----
4203
4281
  type StyleNoMixedOperators = []|[{
@@ -4275,16 +4353,33 @@ type StyleObjectCurlyNewline = []|[((("always" | "never") | {
4275
4353
  minProperties?: number
4276
4354
  consistent?: boolean
4277
4355
  })
4356
+ TSEnumBody?: (("always" | "never") | {
4357
+ multiline?: boolean
4358
+ minProperties?: number
4359
+ consistent?: boolean
4360
+ })
4278
4361
  })]
4279
4362
  // ----- style/object-curly-spacing -----
4280
4363
  type StyleObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
4281
4364
  arraysInObjects?: boolean
4282
4365
  objectsInObjects?: boolean
4366
+ overrides?: {
4367
+ ObjectPattern?: ("always" | "never")
4368
+ ObjectExpression?: ("always" | "never")
4369
+ ImportDeclaration?: ("always" | "never")
4370
+ ImportAttributes?: ("always" | "never")
4371
+ ExportNamedDeclaration?: ("always" | "never")
4372
+ ExportAllDeclaration?: ("always" | "never")
4373
+ TSMappedType?: ("always" | "never")
4374
+ TSTypeLiteral?: ("always" | "never")
4375
+ TSInterfaceBody?: ("always" | "never")
4376
+ TSEnumBody?: ("always" | "never")
4377
+ }
4378
+ emptyObjects?: ("ignore" | "always" | "never")
4283
4379
  }]
4284
4380
  // ----- style/object-property-newline -----
4285
4381
  type StyleObjectPropertyNewline = []|[{
4286
4382
  allowAllPropertiesOnSameLine?: boolean
4287
- allowMultiplePropertiesPerLine?: boolean
4288
4383
  }]
4289
4384
  // ----- style/one-var-declaration-per-line -----
4290
4385
  type StyleOneVarDeclarationPerLine = []|[("always" | "initializations")]
@@ -4295,24 +4390,25 @@ type StyleOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(("af
4295
4390
  }
4296
4391
  }]
4297
4392
  // ----- style/padded-blocks -----
4298
- type StylePaddedBlocks = []|[(("always" | "never") | {
4299
- blocks?: ("always" | "never")
4300
- switches?: ("always" | "never")
4301
- classes?: ("always" | "never")
4302
- })]|[(("always" | "never") | {
4303
- blocks?: ("always" | "never")
4304
- switches?: ("always" | "never")
4305
- classes?: ("always" | "never")
4393
+ type StylePaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
4394
+ blocks?: ("always" | "never" | "start" | "end")
4395
+ switches?: ("always" | "never" | "start" | "end")
4396
+ classes?: ("always" | "never" | "start" | "end")
4397
+ })]|[(("always" | "never" | "start" | "end") | {
4398
+ blocks?: ("always" | "never" | "start" | "end")
4399
+ switches?: ("always" | "never" | "start" | "end")
4400
+ classes?: ("always" | "never" | "start" | "end")
4306
4401
  }), {
4307
4402
  allowSingleLineBlocks?: boolean
4308
4403
  }]
4309
4404
  // ----- style/padding-line-between-statements -----
4310
4405
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
4311
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
4406
+ type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]])
4407
+ type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type")
4312
4408
  type StylePaddingLineBetweenStatements = {
4313
4409
  blankLine: _StylePaddingLineBetweenStatementsPaddingType
4314
- prev: _StylePaddingLineBetweenStatementsStatementType
4315
- next: _StylePaddingLineBetweenStatementsStatementType
4410
+ prev: _StylePaddingLineBetweenStatementsStatementOption
4411
+ next: _StylePaddingLineBetweenStatementsStatementOption
4316
4412
  }[]
4317
4413
  // ----- style/quote-props -----
4318
4414
  type StyleQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
@@ -4323,7 +4419,7 @@ type StyleQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent
4323
4419
  // ----- style/quotes -----
4324
4420
  type StyleQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
4325
4421
  avoidEscape?: boolean
4326
- allowTemplateLiterals?: boolean
4422
+ allowTemplateLiterals?: (boolean | ("never" | "avoidEscape" | "always"))
4327
4423
  ignoreStringLiterals?: boolean
4328
4424
  })]
4329
4425
  // ----- style/rest-spread-spacing -----
@@ -4347,12 +4443,14 @@ type StyleSpaceBeforeBlocks = []|[(("always" | "never") | {
4347
4443
  keywords?: ("always" | "never" | "off")
4348
4444
  functions?: ("always" | "never" | "off")
4349
4445
  classes?: ("always" | "never" | "off")
4446
+ modules?: ("always" | "never" | "off")
4350
4447
  })]
4351
4448
  // ----- style/space-before-function-paren -----
4352
4449
  type StyleSpaceBeforeFunctionParen = []|[(("always" | "never") | {
4353
4450
  anonymous?: ("always" | "never" | "ignore")
4354
4451
  named?: ("always" | "never" | "ignore")
4355
4452
  asyncArrow?: ("always" | "never" | "ignore")
4453
+ catch?: ("always" | "never" | "ignore")
4356
4454
  })]
4357
4455
  // ----- style/space-in-parens -----
4358
4456
  type StyleSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
@@ -4361,6 +4459,7 @@ type StyleSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
4361
4459
  // ----- style/space-infix-ops -----
4362
4460
  type StyleSpaceInfixOps = []|[{
4363
4461
  int32Hint?: boolean
4462
+ ignoreTypes?: boolean
4364
4463
  }]
4365
4464
  // ----- style/space-unary-ops -----
4366
4465
  type StyleSpaceUnaryOps = []|[{
@@ -4427,7 +4526,6 @@ declare namespace stylistic {
4427
4526
  }
4428
4527
  }
4429
4528
 
4430
- /* eslint-disable unicorn/no-abusive-eslint-disable */
4431
4529
  /* eslint-disable */
4432
4530
  /* prettier-ignore */
4433
4531
 
@@ -4865,7 +4963,6 @@ declare namespace test {
4865
4963
  }
4866
4964
  }
4867
4965
 
4868
- /* eslint-disable unicorn/no-abusive-eslint-disable */
4869
4966
  /* eslint-disable */
4870
4967
  /* prettier-ignore */
4871
4968
 
@@ -6746,7 +6843,6 @@ declare namespace ts {
6746
6843
  }
6747
6844
  }
6748
6845
 
6749
- /* eslint-disable unicorn/no-abusive-eslint-disable */
6750
6846
  /* eslint-disable */
6751
6847
  /* prettier-ignore */
6752
6848
 
@@ -6760,702 +6856,710 @@ declare module 'eslint' {
6760
6856
  interface RuleOptions$1 {
6761
6857
  /**
6762
6858
  * Improve regexes by making them shorter, consistent, and safer.
6763
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/better-regex.md
6859
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/better-regex.md
6764
6860
  */
6765
6861
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
6766
6862
  /**
6767
6863
  * Enforce a specific parameter name in catch clauses.
6768
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/catch-error-name.md
6864
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/catch-error-name.md
6769
6865
  */
6770
6866
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
6867
+ /**
6868
+ * Enforce consistent assertion style with `node:assert`.
6869
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-assert.md
6870
+ */
6871
+ 'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
6872
+ /**
6873
+ * Prefer passing `Date` directly to the constructor when cloning.
6874
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-date-clone.md
6875
+ */
6876
+ 'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
6771
6877
  /**
6772
6878
  * Use destructured variables over properties.
6773
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/consistent-destructuring.md
6879
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-destructuring.md
6774
6880
  */
6775
6881
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
6776
6882
  /**
6777
6883
  * Prefer consistent types when spreading a ternary in an array literal.
6778
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/consistent-empty-array-spread.md
6884
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-empty-array-spread.md
6779
6885
  */
6780
6886
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
6781
6887
  /**
6782
6888
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6783
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/consistent-existence-index-check.md
6889
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-existence-index-check.md
6784
6890
  */
6785
6891
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
6786
6892
  /**
6787
6893
  * Move function definitions to the highest possible scope.
6788
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/consistent-function-scoping.md
6894
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-function-scoping.md
6789
6895
  */
6790
6896
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
6791
6897
  /**
6792
6898
  * Enforce correct `Error` subclassing.
6793
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/custom-error-definition.md
6899
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/custom-error-definition.md
6794
6900
  */
6795
6901
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
6796
6902
  /**
6797
6903
  * Enforce no spaces between braces.
6798
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/empty-brace-spaces.md
6904
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/empty-brace-spaces.md
6799
6905
  */
6800
6906
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
6801
6907
  /**
6802
6908
  * Enforce passing a `message` value when creating a built-in error.
6803
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/error-message.md
6909
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/error-message.md
6804
6910
  */
6805
6911
  'unicorn/error-message'?: Linter.RuleEntry<[]>
6806
6912
  /**
6807
- * Require escape sequences to use uppercase values.
6808
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/escape-case.md
6913
+ * Require escape sequences to use uppercase or lowercase values.
6914
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/escape-case.md
6809
6915
  */
6810
- 'unicorn/escape-case'?: Linter.RuleEntry<[]>
6916
+ 'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
6811
6917
  /**
6812
6918
  * Add expiration conditions to TODO comments.
6813
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/expiring-todo-comments.md
6919
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/expiring-todo-comments.md
6814
6920
  */
6815
6921
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
6816
6922
  /**
6817
6923
  * Enforce explicitly comparing the `length` or `size` property of a value.
6818
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/explicit-length-check.md
6924
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/explicit-length-check.md
6819
6925
  */
6820
6926
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
6821
6927
  /**
6822
6928
  * Enforce a case style for filenames.
6823
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/filename-case.md
6929
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/filename-case.md
6824
6930
  */
6825
6931
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
6826
- /**
6827
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#import-index
6828
- * @deprecated
6829
- */
6830
- 'unicorn/import-index'?: Linter.RuleEntry<[]>
6831
6932
  /**
6832
6933
  * Enforce specific import styles per module.
6833
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/import-style.md
6934
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/import-style.md
6834
6935
  */
6835
6936
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
6836
6937
  /**
6837
6938
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6838
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/new-for-builtins.md
6939
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/new-for-builtins.md
6839
6940
  */
6840
6941
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
6841
6942
  /**
6842
6943
  * Enforce specifying rules to disable in `eslint-disable` comments.
6843
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-abusive-eslint-disable.md
6944
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-abusive-eslint-disable.md
6844
6945
  */
6845
6946
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
6947
+ /**
6948
+ * Disallow recursive access to `this` within getters and setters.
6949
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-accessor-recursion.md
6950
+ */
6951
+ 'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
6846
6952
  /**
6847
6953
  * Disallow anonymous functions and classes as the default export.
6848
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-anonymous-default-export.md
6954
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-anonymous-default-export.md
6849
6955
  */
6850
6956
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
6851
6957
  /**
6852
6958
  * Prevent passing a function reference directly to iterator methods.
6853
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-array-callback-reference.md
6959
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-callback-reference.md
6854
6960
  */
6855
6961
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
6856
6962
  /**
6857
6963
  * Prefer `for…of` over the `forEach` method.
6858
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-array-for-each.md
6964
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-for-each.md
6859
6965
  */
6860
6966
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
6861
- /**
6862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#no-array-instanceof
6863
- * @deprecated
6864
- */
6865
- 'unicorn/no-array-instanceof'?: Linter.RuleEntry<[]>
6866
6967
  /**
6867
6968
  * Disallow using the `this` argument in array methods.
6868
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-array-method-this-argument.md
6969
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-method-this-argument.md
6869
6970
  */
6870
6971
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
6871
6972
  /**
6872
- * Enforce combining multiple `Array#push()` into one call.
6873
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-array-push-push.md
6973
+ * Replaced by `unicorn/prefer-single-call` which covers more cases.
6974
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-array-push-push
6975
+ * @deprecated
6874
6976
  */
6875
- 'unicorn/no-array-push-push'?: Linter.RuleEntry<UnicornNoArrayPushPush>
6977
+ 'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
6876
6978
  /**
6877
6979
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6878
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-array-reduce.md
6980
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reduce.md
6879
6981
  */
6880
6982
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
6983
+ /**
6984
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
6985
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reverse.md
6986
+ */
6987
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
6988
+ /**
6989
+ * Prefer `Array#toSorted()` over `Array#sort()`.
6990
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-sort.md
6991
+ */
6992
+ 'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>
6881
6993
  /**
6882
6994
  * Disallow member access from await expression.
6883
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-await-expression-member.md
6995
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-expression-member.md
6884
6996
  */
6885
6997
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
6886
6998
  /**
6887
6999
  * Disallow using `await` in `Promise` method parameters.
6888
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-await-in-promise-methods.md
7000
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-in-promise-methods.md
6889
7001
  */
6890
7002
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
6891
7003
  /**
6892
7004
  * Do not use leading/trailing space between `console.log` parameters.
6893
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-console-spaces.md
7005
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-console-spaces.md
6894
7006
  */
6895
7007
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
6896
7008
  /**
6897
7009
  * Do not use `document.cookie` directly.
6898
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-document-cookie.md
7010
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-document-cookie.md
6899
7011
  */
6900
7012
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
6901
7013
  /**
6902
7014
  * Disallow empty files.
6903
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-empty-file.md
7015
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-empty-file.md
6904
7016
  */
6905
7017
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
6906
- /**
6907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#no-fn-reference-in-iterator
6908
- * @deprecated
6909
- */
6910
- 'unicorn/no-fn-reference-in-iterator'?: Linter.RuleEntry<[]>
6911
7018
  /**
6912
7019
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6913
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-for-loop.md
7020
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-for-loop.md
6914
7021
  */
6915
7022
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
6916
7023
  /**
6917
7024
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6918
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-hex-escape.md
7025
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-hex-escape.md
6919
7026
  */
6920
7027
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
6921
7028
  /**
6922
- * Require `Array.isArray()` instead of `instanceof Array`.
6923
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-instanceof-array.md
7029
+ * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7030
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-instanceof-array
7031
+ * @deprecated
6924
7032
  */
6925
7033
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
7034
+ /**
7035
+ * Disallow `instanceof` with built-in objects
7036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-instanceof-builtins.md
7037
+ */
7038
+ 'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
6926
7039
  /**
6927
7040
  * Disallow invalid options in `fetch()` and `new Request()`.
6928
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-invalid-fetch-options.md
7041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-fetch-options.md
6929
7042
  */
6930
7043
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
6931
7044
  /**
6932
7045
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6933
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-invalid-remove-event-listener.md
7046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-remove-event-listener.md
6934
7047
  */
6935
7048
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
6936
7049
  /**
6937
7050
  * Disallow identifiers starting with `new` or `class`.
6938
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-keyword-prefix.md
7051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-keyword-prefix.md
6939
7052
  */
6940
7053
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
6941
7054
  /**
6942
- * Disallow using `.length` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6943
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-length-as-slice-end.md
7055
+ * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-length-as-slice-end
7057
+ * @deprecated
6944
7058
  */
6945
7059
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
6946
7060
  /**
6947
7061
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6948
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-lonely-if.md
7062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-lonely-if.md
6949
7063
  */
6950
7064
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
6951
7065
  /**
6952
7066
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6953
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-magic-array-flat-depth.md
7067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-magic-array-flat-depth.md
6954
7068
  */
6955
7069
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
7070
+ /**
7071
+ * Disallow named usage of default import and export.
7072
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-named-default.md
7073
+ */
7074
+ 'unicorn/no-named-default'?: Linter.RuleEntry<[]>
6956
7075
  /**
6957
7076
  * Disallow negated conditions.
6958
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-negated-condition.md
7077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negated-condition.md
6959
7078
  */
6960
7079
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
6961
7080
  /**
6962
7081
  * Disallow negated expression in equality check.
6963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-negation-in-equality-check.md
7082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negation-in-equality-check.md
6964
7083
  */
6965
7084
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
6966
7085
  /**
6967
7086
  * Disallow nested ternary expressions.
6968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-nested-ternary.md
7087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-nested-ternary.md
6969
7088
  */
6970
7089
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
6971
7090
  /**
6972
7091
  * Disallow `new Array()`.
6973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-new-array.md
7092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-array.md
6974
7093
  */
6975
7094
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
6976
7095
  /**
6977
7096
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-new-buffer.md
7097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-buffer.md
6979
7098
  */
6980
7099
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
6981
7100
  /**
6982
7101
  * Disallow the use of the `null` literal.
6983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-null.md
7102
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-null.md
6984
7103
  */
6985
7104
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
6986
7105
  /**
6987
7106
  * Disallow the use of objects as default parameters.
6988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-object-as-default-parameter.md
7107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-object-as-default-parameter.md
6989
7108
  */
6990
7109
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
6991
7110
  /**
6992
7111
  * Disallow `process.exit()`.
6993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-process-exit.md
7112
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-process-exit.md
6994
7113
  */
6995
7114
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
6996
- /**
6997
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#no-reduce
6998
- * @deprecated
6999
- */
7000
- 'unicorn/no-reduce'?: Linter.RuleEntry<[]>
7001
7115
  /**
7002
7116
  * Disallow passing single-element arrays to `Promise` methods.
7003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-single-promise-in-promise-methods.md
7117
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-single-promise-in-promise-methods.md
7004
7118
  */
7005
7119
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
7006
7120
  /**
7007
7121
  * Disallow classes that only have static members.
7008
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-static-only-class.md
7122
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-static-only-class.md
7009
7123
  */
7010
7124
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
7011
7125
  /**
7012
7126
  * Disallow `then` property.
7013
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-thenable.md
7127
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-thenable.md
7014
7128
  */
7015
7129
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
7016
7130
  /**
7017
7131
  * Disallow assigning `this` to a variable.
7018
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-this-assignment.md
7132
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-this-assignment.md
7019
7133
  */
7020
7134
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
7021
7135
  /**
7022
7136
  * Disallow comparing `undefined` using `typeof`.
7023
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-typeof-undefined.md
7137
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-typeof-undefined.md
7024
7138
  */
7025
7139
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
7140
+ /**
7141
+ * Disallow using `1` as the `depth` argument of `Array#flat()`.
7142
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-flat-depth.md
7143
+ */
7144
+ 'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
7145
+ /**
7146
+ * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7147
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-splice-count.md
7148
+ */
7149
+ 'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
7026
7150
  /**
7027
7151
  * Disallow awaiting non-promise values.
7028
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-unnecessary-await.md
7152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-await.md
7029
7153
  */
7030
7154
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
7031
7155
  /**
7032
7156
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7033
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-unnecessary-polyfills.md
7157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-polyfills.md
7034
7158
  */
7035
7159
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
7160
+ /**
7161
+ * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-slice-end.md
7163
+ */
7164
+ 'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
7036
7165
  /**
7037
7166
  * Disallow unreadable array destructuring.
7038
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-unreadable-array-destructuring.md
7167
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-array-destructuring.md
7039
7168
  */
7040
7169
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
7041
7170
  /**
7042
7171
  * Disallow unreadable IIFEs.
7043
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-unreadable-iife.md
7172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-iife.md
7044
7173
  */
7045
7174
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
7046
- /**
7047
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#no-unsafe-regex
7048
- * @deprecated
7049
- */
7050
- 'unicorn/no-unsafe-regex'?: Linter.RuleEntry<[]>
7051
7175
  /**
7052
7176
  * Disallow unused object properties.
7053
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-unused-properties.md
7177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unused-properties.md
7054
7178
  */
7055
7179
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
7180
+ /**
7181
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
7182
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-error-capture-stack-trace.md
7183
+ */
7184
+ 'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
7056
7185
  /**
7057
7186
  * Disallow useless fallback when spreading in object literals.
7058
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-fallback-in-spread.md
7187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-fallback-in-spread.md
7059
7188
  */
7060
7189
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
7061
7190
  /**
7062
7191
  * Disallow useless array length check.
7063
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-length-check.md
7192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-length-check.md
7064
7193
  */
7065
7194
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
7066
7195
  /**
7067
7196
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7068
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-promise-resolve-reject.md
7197
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-promise-resolve-reject.md
7069
7198
  */
7070
7199
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
7071
7200
  /**
7072
7201
  * Disallow unnecessary spread.
7073
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-spread.md
7202
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-spread.md
7074
7203
  */
7075
7204
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
7076
7205
  /**
7077
7206
  * Disallow useless case in switch statements.
7078
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-switch-case.md
7207
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-switch-case.md
7079
7208
  */
7080
7209
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
7081
7210
  /**
7082
7211
  * Disallow useless `undefined`.
7083
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-useless-undefined.md
7212
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-undefined.md
7084
7213
  */
7085
7214
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
7086
7215
  /**
7087
7216
  * Disallow number literals with zero fractions or dangling dots.
7088
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/no-zero-fractions.md
7217
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-zero-fractions.md
7089
7218
  */
7090
7219
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
7091
7220
  /**
7092
7221
  * Enforce proper case for numeric literals.
7093
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/number-literal-case.md
7222
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/number-literal-case.md
7094
7223
  */
7095
- 'unicorn/number-literal-case'?: Linter.RuleEntry<[]>
7224
+ 'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
7096
7225
  /**
7097
7226
  * Enforce the style of numeric separators by correctly grouping digits.
7098
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/numeric-separators-style.md
7227
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/numeric-separators-style.md
7099
7228
  */
7100
7229
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
7101
7230
  /**
7102
7231
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7103
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-add-event-listener.md
7232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-add-event-listener.md
7104
7233
  */
7105
7234
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
7106
7235
  /**
7107
7236
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7108
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-array-find.md
7237
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-find.md
7109
7238
  */
7110
7239
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
7111
7240
  /**
7112
7241
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7113
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-array-flat.md
7242
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat.md
7114
7243
  */
7115
7244
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
7116
7245
  /**
7117
7246
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
7118
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-array-flat-map.md
7247
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat-map.md
7119
7248
  */
7120
7249
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
7121
7250
  /**
7122
7251
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7123
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-array-index-of.md
7252
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-index-of.md
7124
7253
  */
7125
7254
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
7126
7255
  /**
7127
7256
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7128
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-array-some.md
7257
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-some.md
7129
7258
  */
7130
7259
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
7131
7260
  /**
7132
7261
  * Prefer `.at()` method for index access and `String#charAt()`.
7133
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-at.md
7262
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-at.md
7134
7263
  */
7135
7264
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
7265
+ /**
7266
+ * Prefer `BigInt` literals over the constructor.
7267
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-bigint-literals.md
7268
+ */
7269
+ 'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>
7136
7270
  /**
7137
7271
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7138
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-blob-reading-methods.md
7272
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-blob-reading-methods.md
7139
7273
  */
7140
7274
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
7141
7275
  /**
7142
- * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7143
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-code-point.md
7276
+ * Prefer class field declarations over `this` assignments in constructors.
7277
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-class-fields.md
7144
7278
  */
7145
- 'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
7279
+ 'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
7146
7280
  /**
7147
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-dataset
7148
- * @deprecated
7281
+ * Prefer using `Element#classList.toggle()` to toggle class names.
7282
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-classlist-toggle.md
7149
7283
  */
7150
- 'unicorn/prefer-dataset'?: Linter.RuleEntry<[]>
7284
+ 'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>
7285
+ /**
7286
+ * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7287
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-code-point.md
7288
+ */
7289
+ 'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
7151
7290
  /**
7152
7291
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7153
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-date-now.md
7292
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-date-now.md
7154
7293
  */
7155
7294
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
7156
7295
  /**
7157
7296
  * Prefer default parameters over reassignment.
7158
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-default-parameters.md
7297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-default-parameters.md
7159
7298
  */
7160
7299
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
7161
7300
  /**
7162
7301
  * Prefer `Node#append()` over `Node#appendChild()`.
7163
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-dom-node-append.md
7302
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-append.md
7164
7303
  */
7165
7304
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
7166
7305
  /**
7167
7306
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7168
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-dom-node-dataset.md
7307
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-dataset.md
7169
7308
  */
7170
7309
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
7171
7310
  /**
7172
7311
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7173
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-dom-node-remove.md
7312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-remove.md
7174
7313
  */
7175
7314
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
7176
7315
  /**
7177
7316
  * Prefer `.textContent` over `.innerText`.
7178
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-dom-node-text-content.md
7317
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-text-content.md
7179
7318
  */
7180
7319
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
7181
- /**
7182
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-event-key
7183
- * @deprecated
7184
- */
7185
- 'unicorn/prefer-event-key'?: Linter.RuleEntry<[]>
7186
7320
  /**
7187
7321
  * Prefer `EventTarget` over `EventEmitter`.
7188
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-event-target.md
7322
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-event-target.md
7189
7323
  */
7190
7324
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
7191
- /**
7192
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-exponentiation-operator
7193
- * @deprecated
7194
- */
7195
- 'unicorn/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>
7196
7325
  /**
7197
7326
  * Prefer `export…from` when re-exporting.
7198
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-export-from.md
7327
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-export-from.md
7199
7328
  */
7200
7329
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
7201
- /**
7202
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-flat-map
7203
- * @deprecated
7204
- */
7205
- 'unicorn/prefer-flat-map'?: Linter.RuleEntry<[]>
7206
7330
  /**
7207
7331
  * Prefer `globalThis` over `window`, `self`, and `global`.
7208
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-global-this.md
7332
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-global-this.md
7209
7333
  */
7210
7334
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
7335
+ /**
7336
+ * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7337
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-import-meta-properties.md
7338
+ */
7339
+ 'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
7211
7340
  /**
7212
7341
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7213
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-includes.md
7342
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-includes.md
7214
7343
  */
7215
7344
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
7216
7345
  /**
7217
7346
  * Prefer reading a JSON file as a buffer.
7218
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-json-parse-buffer.md
7347
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-json-parse-buffer.md
7219
7348
  */
7220
7349
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
7221
7350
  /**
7222
7351
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7223
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-keyboard-event-key.md
7352
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-keyboard-event-key.md
7224
7353
  */
7225
7354
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
7226
7355
  /**
7227
7356
  * Prefer using a logical operator over a ternary.
7228
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-logical-operator-over-ternary.md
7357
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-logical-operator-over-ternary.md
7229
7358
  */
7230
7359
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
7231
7360
  /**
7232
7361
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7233
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-math-min-max.md
7362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-min-max.md
7234
7363
  */
7235
7364
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
7236
7365
  /**
7237
7366
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7238
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-math-trunc.md
7367
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-trunc.md
7239
7368
  */
7240
7369
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
7241
7370
  /**
7242
7371
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7243
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-modern-dom-apis.md
7372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-dom-apis.md
7244
7373
  */
7245
7374
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
7246
7375
  /**
7247
7376
  * Prefer modern `Math` APIs over legacy patterns.
7248
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-modern-math-apis.md
7377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-math-apis.md
7249
7378
  */
7250
7379
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
7251
7380
  /**
7252
7381
  * Prefer JavaScript modules (ESM) over CommonJS.
7253
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-module.md
7382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-module.md
7254
7383
  */
7255
7384
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
7256
7385
  /**
7257
7386
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7258
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-native-coercion-functions.md
7387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-native-coercion-functions.md
7259
7388
  */
7260
7389
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
7261
7390
  /**
7262
7391
  * Prefer negative index over `.length - index` when possible.
7263
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-negative-index.md
7392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-negative-index.md
7264
7393
  */
7265
7394
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
7266
- /**
7267
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-node-append
7268
- * @deprecated
7269
- */
7270
- 'unicorn/prefer-node-append'?: Linter.RuleEntry<[]>
7271
7395
  /**
7272
7396
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7273
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-node-protocol.md
7397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-node-protocol.md
7274
7398
  */
7275
7399
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
7276
- /**
7277
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-node-remove
7278
- * @deprecated
7279
- */
7280
- 'unicorn/prefer-node-remove'?: Linter.RuleEntry<[]>
7281
7400
  /**
7282
7401
  * Prefer `Number` static properties over global ones.
7283
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-number-properties.md
7402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-number-properties.md
7284
7403
  */
7285
7404
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
7286
7405
  /**
7287
7406
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7288
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-object-from-entries.md
7407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-object-from-entries.md
7289
7408
  */
7290
7409
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
7291
- /**
7292
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-object-has-own
7293
- * @deprecated
7294
- */
7295
- 'unicorn/prefer-object-has-own'?: Linter.RuleEntry<[]>
7296
7410
  /**
7297
7411
  * Prefer omitting the `catch` binding parameter.
7298
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-optional-catch-binding.md
7412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-optional-catch-binding.md
7299
7413
  */
7300
7414
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
7301
7415
  /**
7302
7416
  * Prefer borrowing methods from the prototype instead of the instance.
7303
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-prototype-methods.md
7417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-prototype-methods.md
7304
7418
  */
7305
7419
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
7306
7420
  /**
7307
7421
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7308
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-query-selector.md
7422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-query-selector.md
7309
7423
  */
7310
7424
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
7311
7425
  /**
7312
7426
  * Prefer `Reflect.apply()` over `Function#apply()`.
7313
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-reflect-apply.md
7427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-reflect-apply.md
7314
7428
  */
7315
7429
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
7316
7430
  /**
7317
7431
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7318
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-regexp-test.md
7432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-regexp-test.md
7319
7433
  */
7320
7434
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
7321
- /**
7322
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-replace-all
7323
- * @deprecated
7324
- */
7325
- 'unicorn/prefer-replace-all'?: Linter.RuleEntry<[]>
7326
7435
  /**
7327
7436
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7328
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-set-has.md
7437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-has.md
7329
7438
  */
7330
7439
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
7331
7440
  /**
7332
7441
  * Prefer using `Set#size` instead of `Array#length`.
7333
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-set-size.md
7442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-size.md
7334
7443
  */
7335
7444
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
7336
7445
  /**
7337
- * Prefer the spread operator over `Array.from(…)`, `Array#concat()`, `Array#{slice,toSpliced}()` and `String#split('')`.
7338
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-spread.md
7446
+ * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-single-call.md
7339
7448
  */
7340
- 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
7449
+ 'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
7341
7450
  /**
7342
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-starts-ends-with
7343
- * @deprecated
7451
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-spread.md
7344
7453
  */
7345
- 'unicorn/prefer-starts-ends-with'?: Linter.RuleEntry<[]>
7454
+ 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
7346
7455
  /**
7347
7456
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7348
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-string-raw.md
7457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-raw.md
7349
7458
  */
7350
7459
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
7351
7460
  /**
7352
7461
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7353
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-string-replace-all.md
7462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-replace-all.md
7354
7463
  */
7355
7464
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
7356
7465
  /**
7357
7466
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7358
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-string-slice.md
7467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-slice.md
7359
7468
  */
7360
7469
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
7361
7470
  /**
7362
7471
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7363
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-string-starts-ends-with.md
7472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-starts-ends-with.md
7364
7473
  */
7365
7474
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
7366
7475
  /**
7367
7476
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7368
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-string-trim-start-end.md
7477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-trim-start-end.md
7369
7478
  */
7370
7479
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
7371
7480
  /**
7372
7481
  * Prefer using `structuredClone` to create a deep clone.
7373
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-structured-clone.md
7482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-structured-clone.md
7374
7483
  */
7375
7484
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
7376
7485
  /**
7377
7486
  * Prefer `switch` over multiple `else-if`.
7378
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-switch.md
7487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-switch.md
7379
7488
  */
7380
7489
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
7381
7490
  /**
7382
7491
  * Prefer ternary expressions over simple `if-else` statements.
7383
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-ternary.md
7492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-ternary.md
7384
7493
  */
7385
7494
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
7386
- /**
7387
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-text-content
7388
- * @deprecated
7389
- */
7390
- 'unicorn/prefer-text-content'?: Linter.RuleEntry<[]>
7391
7495
  /**
7392
7496
  * Prefer top-level await over top-level promises and async function calls.
7393
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-top-level-await.md
7497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-top-level-await.md
7394
7498
  */
7395
7499
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
7396
- /**
7397
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#prefer-trim-start-end
7398
- * @deprecated
7399
- */
7400
- 'unicorn/prefer-trim-start-end'?: Linter.RuleEntry<[]>
7401
7500
  /**
7402
7501
  * Enforce throwing `TypeError` in type checking conditions.
7403
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prefer-type-error.md
7502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-type-error.md
7404
7503
  */
7405
7504
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
7406
7505
  /**
7407
7506
  * Prevent abbreviations.
7408
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/prevent-abbreviations.md
7507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prevent-abbreviations.md
7409
7508
  */
7410
7509
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
7411
- /**
7412
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/deprecated-rules.md#regex-shorthand
7413
- * @deprecated
7414
- */
7415
- 'unicorn/regex-shorthand'?: Linter.RuleEntry<[]>
7416
7510
  /**
7417
7511
  * Enforce consistent relative URL style.
7418
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/relative-url-style.md
7512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/relative-url-style.md
7419
7513
  */
7420
7514
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
7421
7515
  /**
7422
7516
  * Enforce using the separator argument with `Array#join()`.
7423
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/require-array-join-separator.md
7517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-array-join-separator.md
7424
7518
  */
7425
7519
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
7520
+ /**
7521
+ * Require non-empty module attributes for imports and exports
7522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-attributes.md
7523
+ */
7524
+ 'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>
7525
+ /**
7526
+ * Require non-empty specifier list in import and export statements.
7527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-specifiers.md
7528
+ */
7529
+ 'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
7426
7530
  /**
7427
7531
  * Enforce using the digits argument with `Number#toFixed()`.
7428
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/require-number-to-fixed-digits-argument.md
7532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-number-to-fixed-digits-argument.md
7429
7533
  */
7430
7534
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
7431
7535
  /**
7432
7536
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7433
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/require-post-message-target-origin.md
7537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-post-message-target-origin.md
7434
7538
  */
7435
7539
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
7436
7540
  /**
7437
7541
  * Enforce better string content.
7438
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/string-content.md
7542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/string-content.md
7439
7543
  */
7440
7544
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
7441
7545
  /**
7442
7546
  * Enforce consistent brace style for `case` clauses.
7443
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/switch-case-braces.md
7547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/switch-case-braces.md
7444
7548
  */
7445
7549
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
7446
7550
  /**
7447
7551
  * Fix whitespace-insensitive template indentation.
7448
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/template-indent.md
7552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/template-indent.md
7449
7553
  */
7450
7554
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
7451
7555
  /**
7452
7556
  * Enforce consistent case for text encoding identifiers.
7453
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/text-encoding-identifier-case.md
7557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/text-encoding-identifier-case.md
7454
7558
  */
7455
7559
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
7456
7560
  /**
7457
7561
  * Require `new` when creating an error.
7458
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v56.0.1/docs/rules/throw-new-error.md
7562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/throw-new-error.md
7459
7563
  */
7460
7564
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
7461
7565
  }
@@ -7474,6 +7578,8 @@ type UnicornCatchErrorName = []|[{
7474
7578
  type UnicornConsistentFunctionScoping = []|[{
7475
7579
  checkArrowFunctions?: boolean
7476
7580
  }]
7581
+ // ----- unicorn/escape-case -----
7582
+ type UnicornEscapeCase = []|[("uppercase" | "lowercase")]
7477
7583
  // ----- unicorn/expiring-todo-comments -----
7478
7584
  type UnicornExpiringTodoComments = []|[{
7479
7585
  terms?: string[]
@@ -7517,14 +7623,25 @@ interface _UnicornImportStyle_ModuleStyles {
7517
7623
  interface _UnicornImportStyle_BooleanObject {
7518
7624
  [k: string]: boolean | undefined
7519
7625
  }
7520
- // ----- unicorn/no-array-push-push -----
7521
- type UnicornNoArrayPushPush = []|[{
7522
- ignore?: unknown[]
7523
- }]
7524
7626
  // ----- unicorn/no-array-reduce -----
7525
7627
  type UnicornNoArrayReduce = []|[{
7526
7628
  allowSimpleOperations?: boolean
7527
7629
  }]
7630
+ // ----- unicorn/no-array-reverse -----
7631
+ type UnicornNoArrayReverse = []|[{
7632
+ allowExpressionStatement?: boolean
7633
+ }]
7634
+ // ----- unicorn/no-array-sort -----
7635
+ type UnicornNoArraySort = []|[{
7636
+ allowExpressionStatement?: boolean
7637
+ }]
7638
+ // ----- unicorn/no-instanceof-builtins -----
7639
+ type UnicornNoInstanceofBuiltins = []|[{
7640
+ useErrorIsError?: boolean
7641
+ strategy?: ("loose" | "strict")
7642
+ include?: string[]
7643
+ exclude?: string[]
7644
+ }]
7528
7645
  // ----- unicorn/no-keyword-prefix -----
7529
7646
  type UnicornNoKeywordPrefix = []|[{
7530
7647
 
@@ -7551,6 +7668,10 @@ type UnicornNoUselessUndefined = []|[{
7551
7668
  checkArguments?: boolean
7552
7669
  checkArrowFunctionBody?: boolean
7553
7670
  }]
7671
+ // ----- unicorn/number-literal-case -----
7672
+ type UnicornNumberLiteralCase = []|[{
7673
+ hexadecimalValue?: ("uppercase" | "lowercase")
7674
+ }]
7554
7675
  // ----- unicorn/numeric-separators-style -----
7555
7676
  type UnicornNumericSeparatorsStyle = []|[{
7556
7677
  binary?: {
@@ -7605,6 +7726,10 @@ type UnicornPreferNumberProperties = []|[{
7605
7726
  type UnicornPreferObjectFromEntries = []|[{
7606
7727
  functions?: unknown[]
7607
7728
  }]
7729
+ // ----- unicorn/prefer-single-call -----
7730
+ type UnicornPreferSingleCall = []|[{
7731
+ ignore?: unknown[]
7732
+ }]
7608
7733
  // ----- unicorn/prefer-structured-clone -----
7609
7734
  type UnicornPreferStructuredClone = []|[{
7610
7735
  functions?: unknown[]
@@ -7667,7 +7792,6 @@ declare namespace unicorn {
7667
7792
  }
7668
7793
  }
7669
7794
 
7670
- /* eslint-disable unicorn/no-abusive-eslint-disable */
7671
7795
  /* eslint-disable */
7672
7796
  /* prettier-ignore */
7673
7797