@vinicunca/eslint-config 3.29.0 → 4.0.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.
@@ -7,11 +7,11 @@ import pluginPerfectionist from "eslint-plugin-perfectionist";
7
7
  import pluginSonar from "eslint-plugin-sonarjs";
8
8
  import pluginUnicorn from "eslint-plugin-unicorn";
9
9
  import pluginUnusedImports from "eslint-plugin-unused-imports";
10
+ import { Linter } from "eslint";
10
11
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
11
12
  import { ParserOptions } from "@typescript-eslint/parser";
12
13
  import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
13
14
  import { Options } from "eslint-processor-vue-blocks";
14
- import { Linter } from "eslint";
15
15
 
16
16
  //#region src/typegen.d.ts
17
17
  interface RuleOptions {
@@ -119,182 +119,182 @@ interface RuleOptions {
119
119
  * apply `jsx-a11y/alt-text` rule to Astro components
120
120
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
121
121
  */
122
- 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<[]>;
122
+ 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11YAltText>;
123
123
  /**
124
124
  * apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
125
125
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
126
126
  */
127
- 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<[]>;
127
+ 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11YAnchorAmbiguousText>;
128
128
  /**
129
129
  * apply `jsx-a11y/anchor-has-content` rule to Astro components
130
130
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
131
131
  */
132
- 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<[]>;
132
+ 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11YAnchorHasContent>;
133
133
  /**
134
134
  * apply `jsx-a11y/anchor-is-valid` rule to Astro components
135
135
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
136
136
  */
137
- 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<[]>;
137
+ 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11YAnchorIsValid>;
138
138
  /**
139
139
  * apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
140
140
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
141
141
  */
142
- 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<[]>;
142
+ 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11YAriaActivedescendantHasTabindex>;
143
143
  /**
144
144
  * apply `jsx-a11y/aria-props` rule to Astro components
145
145
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
146
146
  */
147
- 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<[]>;
147
+ 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11YAriaProps>;
148
148
  /**
149
149
  * apply `jsx-a11y/aria-proptypes` rule to Astro components
150
150
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
151
151
  */
152
- 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<[]>;
152
+ 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11YAriaProptypes>;
153
153
  /**
154
154
  * apply `jsx-a11y/aria-role` rule to Astro components
155
155
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
156
156
  */
157
- 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<[]>;
157
+ 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11YAriaRole>;
158
158
  /**
159
159
  * apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
160
160
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
161
161
  */
162
- 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<[]>;
162
+ 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11YAriaUnsupportedElements>;
163
163
  /**
164
164
  * apply `jsx-a11y/autocomplete-valid` rule to Astro components
165
165
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
166
166
  */
167
- 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<[]>;
167
+ 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11YAutocompleteValid>;
168
168
  /**
169
169
  * apply `jsx-a11y/click-events-have-key-events` rule to Astro components
170
170
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
171
171
  */
172
- 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<[]>;
172
+ 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YClickEventsHaveKeyEvents>;
173
173
  /**
174
174
  * apply `jsx-a11y/control-has-associated-label` rule to Astro components
175
175
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
176
176
  */
177
- 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<[]>;
177
+ 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11YControlHasAssociatedLabel>;
178
178
  /**
179
179
  * apply `jsx-a11y/heading-has-content` rule to Astro components
180
180
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
181
181
  */
182
- 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<[]>;
182
+ 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11YHeadingHasContent>;
183
183
  /**
184
184
  * apply `jsx-a11y/html-has-lang` rule to Astro components
185
185
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
186
186
  */
187
- 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<[]>;
187
+ 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11YHtmlHasLang>;
188
188
  /**
189
189
  * apply `jsx-a11y/iframe-has-title` rule to Astro components
190
190
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
191
191
  */
192
- 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<[]>;
192
+ 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11YIframeHasTitle>;
193
193
  /**
194
194
  * apply `jsx-a11y/img-redundant-alt` rule to Astro components
195
195
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
196
196
  */
197
- 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<[]>;
197
+ 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11YImgRedundantAlt>;
198
198
  /**
199
199
  * apply `jsx-a11y/interactive-supports-focus` rule to Astro components
200
200
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
201
201
  */
202
- 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<[]>;
202
+ 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11YInteractiveSupportsFocus>;
203
203
  /**
204
204
  * apply `jsx-a11y/label-has-associated-control` rule to Astro components
205
205
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
206
206
  */
207
- 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<[]>;
207
+ 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11YLabelHasAssociatedControl>;
208
208
  /**
209
209
  * apply `jsx-a11y/lang` rule to Astro components
210
210
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
211
211
  */
212
- 'astro/jsx-a11y/lang'?: Linter.RuleEntry<[]>;
212
+ 'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11YLang>;
213
213
  /**
214
214
  * apply `jsx-a11y/media-has-caption` rule to Astro components
215
215
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
216
216
  */
217
- 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<[]>;
217
+ 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11YMediaHasCaption>;
218
218
  /**
219
219
  * apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
220
220
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
221
221
  */
222
- 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<[]>;
222
+ 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YMouseEventsHaveKeyEvents>;
223
223
  /**
224
224
  * apply `jsx-a11y/no-access-key` rule to Astro components
225
225
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
226
226
  */
227
- 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<[]>;
227
+ 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11YNoAccessKey>;
228
228
  /**
229
229
  * apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
230
230
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
231
231
  */
232
- 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>;
232
+ 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11YNoAriaHiddenOnFocusable>;
233
233
  /**
234
234
  * apply `jsx-a11y/no-autofocus` rule to Astro components
235
235
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
236
236
  */
237
- 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<[]>;
237
+ 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11YNoAutofocus>;
238
238
  /**
239
239
  * apply `jsx-a11y/no-distracting-elements` rule to Astro components
240
240
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
241
241
  */
242
- 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<[]>;
242
+ 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11YNoDistractingElements>;
243
243
  /**
244
244
  * apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
245
245
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
246
246
  */
247
- 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<[]>;
247
+ 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11YNoInteractiveElementToNoninteractiveRole>;
248
248
  /**
249
249
  * apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
250
250
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
251
251
  */
252
- 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<[]>;
252
+ 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementInteractions>;
253
253
  /**
254
254
  * apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
255
255
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
256
256
  */
257
- 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<[]>;
257
+ 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementToInteractiveRole>;
258
258
  /**
259
259
  * apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
260
260
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
261
261
  */
262
- 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<[]>;
262
+ 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveTabindex>;
263
263
  /**
264
264
  * apply `jsx-a11y/no-redundant-roles` rule to Astro components
265
265
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
266
266
  */
267
- 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<[]>;
267
+ 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11YNoRedundantRoles>;
268
268
  /**
269
269
  * apply `jsx-a11y/no-static-element-interactions` rule to Astro components
270
270
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
271
271
  */
272
- 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<[]>;
272
+ 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoStaticElementInteractions>;
273
273
  /**
274
274
  * apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
275
275
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
276
276
  */
277
- 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<[]>;
277
+ 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11YPreferTagOverRole>;
278
278
  /**
279
279
  * apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
280
280
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
281
281
  */
282
- 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<[]>;
282
+ 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleHasRequiredAriaProps>;
283
283
  /**
284
284
  * apply `jsx-a11y/role-supports-aria-props` rule to Astro components
285
285
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
286
286
  */
287
- 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<[]>;
287
+ 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleSupportsAriaProps>;
288
288
  /**
289
289
  * apply `jsx-a11y/scope` rule to Astro components
290
290
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
291
291
  */
292
- 'astro/jsx-a11y/scope'?: Linter.RuleEntry<[]>;
292
+ 'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11YScope>;
293
293
  /**
294
294
  * apply `jsx-a11y/tabindex-no-positive` rule to Astro components
295
295
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
296
296
  */
297
- 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<[]>;
297
+ 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11YTabindexNoPositive>;
298
298
  /**
299
299
  * the client:only directive is missing the correct component's framework value
300
300
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
@@ -340,6 +340,11 @@ interface RuleOptions {
340
340
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-text-directive/
341
341
  */
342
342
  'astro/no-set-text-directive'?: Linter.RuleEntry<[]>;
343
+ /**
344
+ * disallow inline `<script>` without `src` to encourage CSP-safe patterns
345
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unsafe-inline-scripts/
346
+ */
347
+ 'astro/no-unsafe-inline-scripts'?: Linter.RuleEntry<AstroNoUnsafeInlineScripts>;
343
348
  /**
344
349
  * disallow selectors defined in `style` tag that don't use in HTML
345
350
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unused-css-selector/
@@ -962,6 +967,11 @@ interface RuleOptions {
962
967
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
963
968
  */
964
969
  'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
970
+ /**
971
+ * Requires that Promise rejections are documented with `@rejects` tags.
972
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
973
+ */
974
+ 'jsdoc/require-rejects'?: Linter.RuleEntry<JsdocRequireRejects>;
965
975
  /**
966
976
  * Requires that returns are documented with `@returns`.
967
977
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
@@ -2807,11 +2817,6 @@ interface RuleOptions {
2807
2817
  * @see https://eslint.org/docs/latest/rules/radix
2808
2818
  */
2809
2819
  'radix'?: Linter.RuleEntry<Radix>;
2810
- /**
2811
- * Disallow `children` in void DOM elements.
2812
- * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2813
- */
2814
- 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>;
2815
2820
  /**
2816
2821
  * Disallow `dangerouslySetInnerHTML`.
2817
2822
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
@@ -2843,7 +2848,7 @@ interface RuleOptions {
2843
2848
  */
2844
2849
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
2845
2850
  /**
2846
- * Enforces explicit `sandbox` attribute for `iframe` elements.
2851
+ * Enforces explicit `sandbox` prop for `iframe` elements.
2847
2852
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
2848
2853
  */
2849
2854
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
@@ -2867,6 +2872,11 @@ interface RuleOptions {
2867
2872
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
2868
2873
  */
2869
2874
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
2875
+ /**
2876
+ * Disallows the use of string style prop.
2877
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
2878
+ */
2879
+ 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
2870
2880
  /**
2871
2881
  * Disallow unknown `DOM` property.
2872
2882
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
@@ -2893,70 +2903,133 @@ interface RuleOptions {
2893
2903
  */
2894
2904
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
2895
2905
  /**
2896
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2897
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2906
+ * Enforces React Dom is imported via a namespace import.
2907
+ * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
2898
2908
  */
2899
- 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>;
2909
+ 'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
2900
2910
  /**
2901
- * Disallow unnecessary usage of `useCallback`.
2902
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
2911
+ * Disallow direct calls to the `set` function of `useState` in `useEffect`.
2912
+ * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
2903
2913
  */
2904
- 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>;
2914
+ 'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
2905
2915
  /**
2906
- * Disallow unnecessary usage of `useMemo`.
2907
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
2916
+ * Verifies that automatic effect dependencies are compiled if opted-in
2908
2917
  */
2909
- 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>;
2918
+ 'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>;
2910
2919
  /**
2911
- * Disallow direct calls to the `set` function of `useState` in `useEffect`.
2912
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
2920
+ * Validates against calling capitalized functions/methods instead of using JSX
2913
2921
  */
2914
- 'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
2922
+ 'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>;
2915
2923
  /**
2916
- * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
2917
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
2924
+ * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
2918
2925
  */
2919
- 'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>;
2926
+ 'react-hooks/component-hook-factories'?: Linter.RuleEntry<ReactHooksComponentHookFactories>;
2920
2927
  /**
2921
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2922
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2928
+ * Validates the compiler configuration options
2923
2929
  */
2924
- 'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>;
2930
+ 'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>;
2925
2931
  /**
2926
- * Disallow unnecessary usage of `useCallback`.
2927
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
2932
+ * Validates usage of error boundaries instead of try/catch for errors in child components
2928
2933
  */
2929
- 'react-hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
2934
+ 'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>;
2930
2935
  /**
2931
- * Disallow unnecessary usage of `useMemo`.
2932
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
2936
+ * verifies the list of dependencies for Hooks like useEffect and similar
2937
+ * @see https://github.com/facebook/react/issues/14920
2933
2938
  */
2934
- 'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
2939
+ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
2935
2940
  /**
2936
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2937
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2941
+ * Validates usage of fbt
2938
2942
  */
2939
- 'react-hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
2943
+ 'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>;
2940
2944
  /**
2941
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
2942
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
2945
+ * Validates usage of `fire`
2943
2946
  */
2944
- 'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>;
2947
+ 'react-hooks/fire'?: Linter.RuleEntry<ReactHooksFire>;
2945
2948
  /**
2946
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
2947
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
2949
+ * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
2948
2950
  */
2949
- 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
2951
+ 'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>;
2950
2952
  /**
2951
- * verifies the list of dependencies for Hooks like useEffect and similar
2952
- * @see https://github.com/facebook/react/issues/14920
2953
+ * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
2953
2954
  */
2954
- 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
2955
+ 'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>;
2956
+ /**
2957
+ * Validates the rules of hooks
2958
+ */
2959
+ 'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>;
2960
+ /**
2961
+ * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
2962
+ */
2963
+ 'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>;
2964
+ /**
2965
+ * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
2966
+ */
2967
+ 'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>;
2968
+ /**
2969
+ * Internal invariants
2970
+ */
2971
+ 'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>;
2972
+ /**
2973
+ * Validates that effect dependencies are memoized
2974
+ */
2975
+ 'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>;
2976
+ /**
2977
+ * Validates against deriving values from state in an effect
2978
+ */
2979
+ 'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>;
2980
+ /**
2981
+ * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
2982
+ */
2983
+ 'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>;
2984
+ /**
2985
+ * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
2986
+ */
2987
+ 'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>;
2988
+ /**
2989
+ * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
2990
+ */
2991
+ 'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>;
2992
+ /**
2993
+ * Validates against suppression of other rules
2994
+ */
2995
+ 'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>;
2955
2996
  /**
2956
2997
  * enforces the Rules of Hooks
2957
- * @see https://reactjs.org/docs/hooks-rules.html
2998
+ * @see https://react.dev/reference/rules/rules-of-hooks
2999
+ */
3000
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>;
3001
+ /**
3002
+ * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
2958
3003
  */
2959
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>;
3004
+ 'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>;
3005
+ /**
3006
+ * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
3007
+ */
3008
+ 'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>;
3009
+ /**
3010
+ * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
3011
+ */
3012
+ 'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>;
3013
+ /**
3014
+ * Validates against invalid syntax
3015
+ */
3016
+ 'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>;
3017
+ /**
3018
+ * Unimplemented features
3019
+ */
3020
+ 'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>;
3021
+ /**
3022
+ * Validates against syntax that we do not plan to support in React Compiler
3023
+ */
3024
+ 'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>;
3025
+ /**
3026
+ * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
3027
+ */
3028
+ 'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>;
3029
+ /**
3030
+ * Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
3031
+ */
3032
+ 'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
2960
3033
  /**
2961
3034
  * Enforces naming conventions for components.
2962
3035
  * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
@@ -3004,25 +3077,20 @@ interface RuleOptions {
3004
3077
  */
3005
3078
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
3006
3079
  /**
3007
- * Enforces explicit boolean values for boolean attributes.
3008
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
3080
+ * Prevents dollar signs from being inserted as text nodes before expressions.
3081
+ * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3009
3082
  */
3010
- 'react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>;
3083
+ 'react/jsx-dollar'?: Linter.RuleEntry<[]>;
3011
3084
  /**
3012
- * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
3013
- * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
3014
- */
3015
- 'react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>;
3016
- /**
3017
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
3018
- * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3019
- */
3020
- 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>;
3021
- /**
3022
- * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements.
3085
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
3023
3086
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3024
3087
  */
3025
3088
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
3089
+ /**
3090
+ * Prevents comments from being inserted as text nodes.
3091
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3092
+ */
3093
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3026
3094
  /**
3027
3095
  * Disallow duplicate props in JSX elements.
3028
3096
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
@@ -3038,6 +3106,16 @@ interface RuleOptions {
3038
3106
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
3039
3107
  */
3040
3108
  'react/jsx-no-undef'?: Linter.RuleEntry<[]>;
3109
+ /**
3110
+ * Enforces shorthand syntax for boolean attributes.
3111
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3112
+ */
3113
+ 'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>;
3114
+ /**
3115
+ * Enforces shorthand syntax for fragments.
3116
+ * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3117
+ */
3118
+ 'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>;
3041
3119
  /**
3042
3120
  * Marks React variables as used when JSX is used.
3043
3121
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
@@ -3098,21 +3176,6 @@ interface RuleOptions {
3098
3176
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3099
3177
  */
3100
3178
  'react/no-clone-element'?: Linter.RuleEntry<[]>;
3101
- /**
3102
- * Prevents comments from being inserted as text nodes.
3103
- * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
3104
- */
3105
- 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>;
3106
- /**
3107
- * Disallow complex conditional rendering in JSX expressions.
3108
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
3109
- */
3110
- 'react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>;
3111
- /**
3112
- * Disallow complex conditional rendering in JSX expressions.
3113
- * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
3114
- */
3115
- 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>;
3116
3179
  /**
3117
3180
  * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
3118
3181
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
@@ -3148,16 +3211,17 @@ interface RuleOptions {
3148
3211
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3149
3212
  */
3150
3213
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>;
3151
- /**
3152
- * Disallow duplicate props in JSX elements.
3153
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
3154
- */
3155
- 'react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>;
3156
3214
  /**
3157
3215
  * Disallow duplicate `key` on elements in the same array or a list of `children`.
3158
3216
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3159
3217
  */
3160
3218
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>;
3219
+ /**
3220
+ * Disallow certain props on components.
3221
+ * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
3222
+ * @deprecated
3223
+ */
3224
+ 'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>;
3161
3225
  /**
3162
3226
  * Replaces usages of `forwardRef` with passing `ref` as a prop.
3163
3227
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
@@ -3198,14 +3262,9 @@ interface RuleOptions {
3198
3262
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3199
3263
  */
3200
3264
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3201
- /**
3202
- * Disallow nesting component definitions inside other components.
3203
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3204
- */
3205
- 'react/no-nested-components'?: Linter.RuleEntry<[]>;
3206
3265
  /**
3207
3266
  * Disallow nesting lazy component declarations inside other components.
3208
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3267
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3209
3268
  */
3210
3269
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3211
3270
  /**
@@ -3229,7 +3288,7 @@ interface RuleOptions {
3229
3288
  */
3230
3289
  'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
3231
3290
  /**
3232
- * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3291
+ * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3233
3292
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3234
3293
  */
3235
3294
  'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
@@ -3238,6 +3297,26 @@ interface RuleOptions {
3238
3297
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
3239
3298
  */
3240
3299
  'react/no-string-refs'?: Linter.RuleEntry<[]>;
3300
+ /**
3301
+ * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
3302
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3303
+ */
3304
+ 'react/no-unnecessary-key'?: Linter.RuleEntry<[]>;
3305
+ /**
3306
+ * Disallow unnecessary usage of `useCallback`.
3307
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3308
+ */
3309
+ 'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
3310
+ /**
3311
+ * Disallow unnecessary usage of `useMemo`.
3312
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3313
+ */
3314
+ 'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
3315
+ /**
3316
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3317
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3318
+ */
3319
+ 'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
3241
3320
  /**
3242
3321
  * Warns the usage of `UNSAFE_componentWillMount` in class components.
3243
3322
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
@@ -3262,12 +3341,17 @@ interface RuleOptions {
3262
3341
  * Prevents using referential-type values as default props in object destructuring.
3263
3342
  * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3264
3343
  */
3265
- 'react/no-unstable-default-props'?: Linter.RuleEntry<[]>;
3344
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>;
3266
3345
  /**
3267
3346
  * Warns unused class component methods and properties.
3268
3347
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3269
3348
  */
3270
3349
  'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3350
+ /**
3351
+ * Warns component props that are defined but never used.
3352
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3353
+ */
3354
+ 'react/no-unused-props'?: Linter.RuleEntry<[]>;
3271
3355
  /**
3272
3356
  * Warns unused class component state.
3273
3357
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
@@ -3295,29 +3379,19 @@ interface RuleOptions {
3295
3379
  'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
3296
3380
  /**
3297
3381
  * Enforces React is imported via a namespace import.
3298
- * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
3382
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3299
3383
  */
3300
- 'react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>;
3384
+ 'react/prefer-namespace-import'?: Linter.RuleEntry<[]>;
3301
3385
  /**
3302
3386
  * Enforces read-only props in components.
3303
3387
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
3304
3388
  */
3305
3389
  'react/prefer-read-only-props'?: Linter.RuleEntry<[]>;
3306
3390
  /**
3307
- * Enforces shorthand syntax for boolean attributes.
3308
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
3309
- */
3310
- 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>;
3311
- /**
3312
- * Enforces shorthand syntax for fragments.
3313
- * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
3314
- */
3315
- 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>;
3316
- /**
3317
- * Marks variables used in JSX elements as used.
3318
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
3391
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3392
+ * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
3319
3393
  */
3320
- 'react/use-jsx-vars'?: Linter.RuleEntry<[]>;
3394
+ 'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
3321
3395
  /**
3322
3396
  * disallow confusing quantifiers
3323
3397
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
@@ -5346,6 +5420,11 @@ interface RuleOptions {
5346
5420
  * @see https://eslint.style/rules/eol-last
5347
5421
  */
5348
5422
  'style/eol-last'?: Linter.RuleEntry<StyleEolLast>;
5423
+ /**
5424
+ * Enforce consistent spacing and line break styles inside brackets.
5425
+ * @see https://eslint.style/rules/list-style
5426
+ */
5427
+ 'style/exp-list-style'?: Linter.RuleEntry<StyleExpListStyle>;
5349
5428
  /**
5350
5429
  * Enforce line breaks between arguments of a function call
5351
5430
  * @see https://eslint.style/rules/function-call-argument-newline
@@ -5929,8 +6008,14 @@ interface RuleOptions {
5929
6008
  /**
5930
6009
  * disallow using navigation (links, goto, pushState, replaceState) without the base path
5931
6010
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-base/
6011
+ * @deprecated
5932
6012
  */
5933
6013
  'svelte/no-navigation-without-base'?: Linter.RuleEntry<SvelteNoNavigationWithoutBase>;
6014
+ /**
6015
+ * disallow using navigation (links, goto, pushState, replaceState) without a resolve()
6016
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
6017
+ */
6018
+ 'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
5934
6019
  /**
5935
6020
  * disallow use of not function in event handler
5936
6021
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -6169,6 +6254,11 @@ interface RuleOptions {
6169
6254
  * @deprecated
6170
6255
  */
6171
6256
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
6257
+ /**
6258
+ * enforce using `.each` or `.for` consistently
6259
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
6260
+ */
6261
+ 'test/consistent-each-for'?: Linter.RuleEntry<TestConsistentEachFor>;
6172
6262
  /**
6173
6263
  * require test file pattern
6174
6264
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
@@ -6391,7 +6481,7 @@ interface RuleOptions {
6391
6481
  */
6392
6482
  'test/prefer-each'?: Linter.RuleEntry<[]>;
6393
6483
  /**
6394
- * enforce using the built-in quality matchers
6484
+ * enforce using the built-in equality matchers
6395
6485
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
6396
6486
  */
6397
6487
  'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
@@ -6500,11 +6590,21 @@ interface RuleOptions {
6500
6590
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
6501
6591
  */
6502
6592
  'test/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
6593
+ /**
6594
+ * ensure that every `expect.poll` call is awaited
6595
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
6596
+ */
6597
+ 'test/require-awaited-expect-poll'?: Linter.RuleEntry<[]>;
6503
6598
  /**
6504
6599
  * require setup and teardown to be within a hook
6505
6600
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
6506
6601
  */
6507
6602
  'test/require-hook'?: Linter.RuleEntry<TestRequireHook>;
6603
+ /**
6604
+ * require usage of import in vi.mock()
6605
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
6606
+ */
6607
+ 'test/require-import-vi-mock'?: Linter.RuleEntry<[]>;
6508
6608
  /**
6509
6609
  * require local Test Context for concurrent snapshot tests
6510
6610
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
@@ -7104,6 +7204,11 @@ interface RuleOptions {
7104
7204
  * @see https://typescript-eslint.io/rules/no-unused-expressions
7105
7205
  */
7106
7206
  'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>;
7207
+ /**
7208
+ * Disallow unused private class members
7209
+ * @see https://typescript-eslint.io/rules/no-unused-private-class-members
7210
+ */
7211
+ 'ts/no-unused-private-class-members'?: Linter.RuleEntry<[]>;
7107
7212
  /**
7108
7213
  * Disallow unused variables
7109
7214
  * @see https://typescript-eslint.io/rules/no-unused-vars
@@ -7330,710 +7435,725 @@ interface RuleOptions {
7330
7435
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
7331
7436
  /**
7332
7437
  * Improve regexes by making them shorter, consistent, and safer.
7333
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/better-regex.md
7438
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/better-regex.md
7334
7439
  */
7335
7440
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
7336
7441
  /**
7337
7442
  * Enforce a specific parameter name in catch clauses.
7338
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/catch-error-name.md
7443
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/catch-error-name.md
7339
7444
  */
7340
7445
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
7341
7446
  /**
7342
7447
  * Enforce consistent assertion style with `node:assert`.
7343
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-assert.md
7448
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-assert.md
7344
7449
  */
7345
7450
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
7346
7451
  /**
7347
7452
  * Prefer passing `Date` directly to the constructor when cloning.
7348
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-date-clone.md
7453
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-date-clone.md
7349
7454
  */
7350
7455
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
7351
7456
  /**
7352
7457
  * Use destructured variables over properties.
7353
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-destructuring.md
7458
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-destructuring.md
7354
7459
  */
7355
7460
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
7356
7461
  /**
7357
7462
  * Prefer consistent types when spreading a ternary in an array literal.
7358
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-empty-array-spread.md
7463
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-empty-array-spread.md
7359
7464
  */
7360
7465
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
7361
7466
  /**
7362
7467
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
7363
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-existence-index-check.md
7468
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-existence-index-check.md
7364
7469
  */
7365
7470
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
7366
7471
  /**
7367
7472
  * Move function definitions to the highest possible scope.
7368
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-function-scoping.md
7473
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/consistent-function-scoping.md
7369
7474
  */
7370
7475
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
7371
7476
  /**
7372
7477
  * Enforce correct `Error` subclassing.
7373
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/custom-error-definition.md
7478
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/custom-error-definition.md
7374
7479
  */
7375
7480
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
7376
7481
  /**
7377
7482
  * Enforce no spaces between braces.
7378
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/empty-brace-spaces.md
7483
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/empty-brace-spaces.md
7379
7484
  */
7380
7485
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
7381
7486
  /**
7382
7487
  * Enforce passing a `message` value when creating a built-in error.
7383
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/error-message.md
7488
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/error-message.md
7384
7489
  */
7385
7490
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
7386
7491
  /**
7387
7492
  * Require escape sequences to use uppercase or lowercase values.
7388
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/escape-case.md
7493
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/escape-case.md
7389
7494
  */
7390
7495
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
7391
7496
  /**
7392
7497
  * Add expiration conditions to TODO comments.
7393
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/expiring-todo-comments.md
7498
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/expiring-todo-comments.md
7394
7499
  */
7395
7500
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
7396
7501
  /**
7397
7502
  * Enforce explicitly comparing the `length` or `size` property of a value.
7398
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/explicit-length-check.md
7503
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/explicit-length-check.md
7399
7504
  */
7400
7505
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
7401
7506
  /**
7402
7507
  * Enforce a case style for filenames.
7403
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/filename-case.md
7508
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/filename-case.md
7404
7509
  */
7405
7510
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
7406
7511
  /**
7407
7512
  * Enforce specific import styles per module.
7408
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/import-style.md
7513
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/import-style.md
7409
7514
  */
7410
7515
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
7411
7516
  /**
7412
7517
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
7413
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/new-for-builtins.md
7518
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/new-for-builtins.md
7414
7519
  */
7415
7520
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7416
7521
  /**
7417
7522
  * Enforce specifying rules to disable in `eslint-disable` comments.
7418
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-abusive-eslint-disable.md
7523
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-abusive-eslint-disable.md
7419
7524
  */
7420
7525
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7421
7526
  /**
7422
7527
  * Disallow recursive access to `this` within getters and setters.
7423
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-accessor-recursion.md
7528
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-accessor-recursion.md
7424
7529
  */
7425
7530
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7426
7531
  /**
7427
7532
  * Disallow anonymous functions and classes as the default export.
7428
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-anonymous-default-export.md
7533
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-anonymous-default-export.md
7429
7534
  */
7430
7535
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7431
7536
  /**
7432
7537
  * Prevent passing a function reference directly to iterator methods.
7433
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-callback-reference.md
7538
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-callback-reference.md
7434
7539
  */
7435
7540
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
7436
7541
  /**
7437
7542
  * Prefer `for…of` over the `forEach` method.
7438
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-for-each.md
7543
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-for-each.md
7439
7544
  */
7440
7545
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
7441
7546
  /**
7442
7547
  * Disallow using the `this` argument in array methods.
7443
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-method-this-argument.md
7548
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-method-this-argument.md
7444
7549
  */
7445
7550
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7446
7551
  /**
7447
7552
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
7448
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-array-push-push
7553
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-array-push-push
7449
7554
  * @deprecated
7450
7555
  */
7451
7556
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7452
7557
  /**
7453
7558
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
7454
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reduce.md
7559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reduce.md
7455
7560
  */
7456
7561
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7457
7562
  /**
7458
7563
  * Prefer `Array#toReversed()` over `Array#reverse()`.
7459
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reverse.md
7564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-reverse.md
7460
7565
  */
7461
7566
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7462
7567
  /**
7463
7568
  * Prefer `Array#toSorted()` over `Array#sort()`.
7464
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-sort.md
7569
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-array-sort.md
7465
7570
  */
7466
7571
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
7467
7572
  /**
7468
7573
  * Disallow member access from await expression.
7469
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-expression-member.md
7574
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-expression-member.md
7470
7575
  */
7471
7576
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7472
7577
  /**
7473
7578
  * Disallow using `await` in `Promise` method parameters.
7474
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-in-promise-methods.md
7579
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-await-in-promise-methods.md
7475
7580
  */
7476
7581
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7477
7582
  /**
7478
7583
  * Do not use leading/trailing space between `console.log` parameters.
7479
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-console-spaces.md
7584
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-console-spaces.md
7480
7585
  */
7481
7586
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7482
7587
  /**
7483
7588
  * Do not use `document.cookie` directly.
7484
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-document-cookie.md
7589
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-document-cookie.md
7485
7590
  */
7486
7591
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7487
7592
  /**
7488
7593
  * Disallow empty files.
7489
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-empty-file.md
7594
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-empty-file.md
7490
7595
  */
7491
7596
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
7492
7597
  /**
7493
7598
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
7494
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-for-loop.md
7599
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-for-loop.md
7495
7600
  */
7496
7601
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
7497
7602
  /**
7498
7603
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
7499
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-hex-escape.md
7604
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-hex-escape.md
7500
7605
  */
7501
7606
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
7607
+ /**
7608
+ * Disallow immediate mutation after variable assignment.
7609
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-immediate-mutation.md
7610
+ */
7611
+ 'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
7502
7612
  /**
7503
7613
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7504
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-instanceof-array
7614
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-instanceof-array
7505
7615
  * @deprecated
7506
7616
  */
7507
7617
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
7508
7618
  /**
7509
7619
  * Disallow `instanceof` with built-in objects
7510
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-instanceof-builtins.md
7620
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-instanceof-builtins.md
7511
7621
  */
7512
7622
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
7513
7623
  /**
7514
7624
  * Disallow invalid options in `fetch()` and `new Request()`.
7515
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-fetch-options.md
7625
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-fetch-options.md
7516
7626
  */
7517
7627
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
7518
7628
  /**
7519
7629
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
7520
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-remove-event-listener.md
7630
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-invalid-remove-event-listener.md
7521
7631
  */
7522
7632
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
7523
7633
  /**
7524
7634
  * Disallow identifiers starting with `new` or `class`.
7525
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-keyword-prefix.md
7635
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-keyword-prefix.md
7526
7636
  */
7527
7637
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
7528
7638
  /**
7529
7639
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7530
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-length-as-slice-end
7640
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/deprecated-rules.md#no-length-as-slice-end
7531
7641
  * @deprecated
7532
7642
  */
7533
7643
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
7534
7644
  /**
7535
7645
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-lonely-if.md
7646
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-lonely-if.md
7537
7647
  */
7538
7648
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
7539
7649
  /**
7540
7650
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-magic-array-flat-depth.md
7651
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-magic-array-flat-depth.md
7542
7652
  */
7543
7653
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
7544
7654
  /**
7545
7655
  * Disallow named usage of default import and export.
7546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-named-default.md
7656
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-named-default.md
7547
7657
  */
7548
7658
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
7549
7659
  /**
7550
7660
  * Disallow negated conditions.
7551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negated-condition.md
7661
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negated-condition.md
7552
7662
  */
7553
7663
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
7554
7664
  /**
7555
7665
  * Disallow negated expression in equality check.
7556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negation-in-equality-check.md
7666
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-negation-in-equality-check.md
7557
7667
  */
7558
7668
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
7559
7669
  /**
7560
7670
  * Disallow nested ternary expressions.
7561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-nested-ternary.md
7671
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-nested-ternary.md
7562
7672
  */
7563
7673
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
7564
7674
  /**
7565
7675
  * Disallow `new Array()`.
7566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-array.md
7676
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-array.md
7567
7677
  */
7568
7678
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
7569
7679
  /**
7570
7680
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-buffer.md
7681
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-new-buffer.md
7572
7682
  */
7573
7683
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
7574
7684
  /**
7575
7685
  * Disallow the use of the `null` literal.
7576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-null.md
7686
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-null.md
7577
7687
  */
7578
7688
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
7579
7689
  /**
7580
7690
  * Disallow the use of objects as default parameters.
7581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-object-as-default-parameter.md
7691
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-object-as-default-parameter.md
7582
7692
  */
7583
7693
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
7584
7694
  /**
7585
7695
  * Disallow `process.exit()`.
7586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-process-exit.md
7696
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-process-exit.md
7587
7697
  */
7588
7698
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
7589
7699
  /**
7590
7700
  * Disallow passing single-element arrays to `Promise` methods.
7591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-single-promise-in-promise-methods.md
7701
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-single-promise-in-promise-methods.md
7592
7702
  */
7593
7703
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
7594
7704
  /**
7595
7705
  * Disallow classes that only have static members.
7596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-static-only-class.md
7706
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-static-only-class.md
7597
7707
  */
7598
7708
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7599
7709
  /**
7600
7710
  * Disallow `then` property.
7601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-thenable.md
7711
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-thenable.md
7602
7712
  */
7603
7713
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
7604
7714
  /**
7605
7715
  * Disallow assigning `this` to a variable.
7606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-this-assignment.md
7716
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-this-assignment.md
7607
7717
  */
7608
7718
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
7609
7719
  /**
7610
7720
  * Disallow comparing `undefined` using `typeof`.
7611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-typeof-undefined.md
7721
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-typeof-undefined.md
7612
7722
  */
7613
7723
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7614
7724
  /**
7615
7725
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-flat-depth.md
7726
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7617
7727
  */
7618
7728
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7619
7729
  /**
7620
7730
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-splice-count.md
7731
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-array-splice-count.md
7622
7732
  */
7623
7733
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
7624
7734
  /**
7625
7735
  * Disallow awaiting non-promise values.
7626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-await.md
7736
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-await.md
7627
7737
  */
7628
7738
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
7629
7739
  /**
7630
7740
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-polyfills.md
7741
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-polyfills.md
7632
7742
  */
7633
7743
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
7634
7744
  /**
7635
7745
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-slice-end.md
7746
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unnecessary-slice-end.md
7637
7747
  */
7638
7748
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7639
7749
  /**
7640
7750
  * Disallow unreadable array destructuring.
7641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-array-destructuring.md
7751
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-array-destructuring.md
7642
7752
  */
7643
7753
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7644
7754
  /**
7645
7755
  * Disallow unreadable IIFEs.
7646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-iife.md
7756
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unreadable-iife.md
7647
7757
  */
7648
7758
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
7649
7759
  /**
7650
7760
  * Disallow unused object properties.
7651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unused-properties.md
7761
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-unused-properties.md
7652
7762
  */
7653
7763
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
7764
+ /**
7765
+ * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
7766
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-collection-argument.md
7767
+ */
7768
+ 'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
7654
7769
  /**
7655
7770
  * Disallow unnecessary `Error.captureStackTrace(…)`.
7656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-error-capture-stack-trace.md
7771
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7657
7772
  */
7658
7773
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
7659
7774
  /**
7660
7775
  * Disallow useless fallback when spreading in object literals.
7661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-fallback-in-spread.md
7776
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-fallback-in-spread.md
7662
7777
  */
7663
7778
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7664
7779
  /**
7665
7780
  * Disallow useless array length check.
7666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-length-check.md
7781
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-length-check.md
7667
7782
  */
7668
7783
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
7669
7784
  /**
7670
7785
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-promise-resolve-reject.md
7786
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-promise-resolve-reject.md
7672
7787
  */
7673
7788
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
7674
7789
  /**
7675
7790
  * Disallow unnecessary spread.
7676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-spread.md
7791
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-spread.md
7677
7792
  */
7678
7793
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
7679
7794
  /**
7680
7795
  * Disallow useless case in switch statements.
7681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-switch-case.md
7796
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-switch-case.md
7682
7797
  */
7683
7798
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
7684
7799
  /**
7685
7800
  * Disallow useless `undefined`.
7686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-undefined.md
7801
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-useless-undefined.md
7687
7802
  */
7688
7803
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
7689
7804
  /**
7690
7805
  * Disallow number literals with zero fractions or dangling dots.
7691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-zero-fractions.md
7806
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/no-zero-fractions.md
7692
7807
  */
7693
7808
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
7694
7809
  /**
7695
7810
  * Enforce proper case for numeric literals.
7696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/number-literal-case.md
7811
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/number-literal-case.md
7697
7812
  */
7698
7813
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
7699
7814
  /**
7700
7815
  * Enforce the style of numeric separators by correctly grouping digits.
7701
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/numeric-separators-style.md
7816
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/numeric-separators-style.md
7702
7817
  */
7703
7818
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
7704
7819
  /**
7705
7820
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7706
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-add-event-listener.md
7821
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-add-event-listener.md
7707
7822
  */
7708
7823
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
7709
7824
  /**
7710
7825
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7711
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-find.md
7826
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-find.md
7712
7827
  */
7713
7828
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
7714
7829
  /**
7715
7830
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7716
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat.md
7831
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat.md
7717
7832
  */
7718
7833
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
7719
7834
  /**
7720
7835
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
7721
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat-map.md
7836
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-flat-map.md
7722
7837
  */
7723
7838
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
7724
7839
  /**
7725
7840
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7726
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-index-of.md
7841
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-index-of.md
7727
7842
  */
7728
7843
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
7729
7844
  /**
7730
7845
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7731
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-some.md
7846
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-array-some.md
7732
7847
  */
7733
7848
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
7734
7849
  /**
7735
7850
  * Prefer `.at()` method for index access and `String#charAt()`.
7736
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-at.md
7851
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-at.md
7737
7852
  */
7738
7853
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
7739
7854
  /**
7740
7855
  * Prefer `BigInt` literals over the constructor.
7741
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-bigint-literals.md
7856
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-bigint-literals.md
7742
7857
  */
7743
7858
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
7744
7859
  /**
7745
7860
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7746
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-blob-reading-methods.md
7861
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-blob-reading-methods.md
7747
7862
  */
7748
7863
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
7749
7864
  /**
7750
7865
  * Prefer class field declarations over `this` assignments in constructors.
7751
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-class-fields.md
7866
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-class-fields.md
7752
7867
  */
7753
7868
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7754
7869
  /**
7755
7870
  * Prefer using `Element#classList.toggle()` to toggle class names.
7756
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-classlist-toggle.md
7871
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-classlist-toggle.md
7757
7872
  */
7758
7873
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7759
7874
  /**
7760
7875
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7761
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-code-point.md
7876
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-code-point.md
7762
7877
  */
7763
7878
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7764
7879
  /**
7765
7880
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7766
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-date-now.md
7881
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-date-now.md
7767
7882
  */
7768
7883
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7769
7884
  /**
7770
7885
  * Prefer default parameters over reassignment.
7771
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-default-parameters.md
7886
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-default-parameters.md
7772
7887
  */
7773
7888
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7774
7889
  /**
7775
7890
  * Prefer `Node#append()` over `Node#appendChild()`.
7776
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-append.md
7891
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-append.md
7777
7892
  */
7778
7893
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7779
7894
  /**
7780
7895
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-dataset.md
7896
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-dataset.md
7782
7897
  */
7783
7898
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7784
7899
  /**
7785
7900
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-remove.md
7901
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-remove.md
7787
7902
  */
7788
7903
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7789
7904
  /**
7790
7905
  * Prefer `.textContent` over `.innerText`.
7791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-text-content.md
7906
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-dom-node-text-content.md
7792
7907
  */
7793
7908
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7794
7909
  /**
7795
7910
  * Prefer `EventTarget` over `EventEmitter`.
7796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-event-target.md
7911
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-event-target.md
7797
7912
  */
7798
7913
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7799
7914
  /**
7800
7915
  * Prefer `export…from` when re-exporting.
7801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-export-from.md
7916
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-export-from.md
7802
7917
  */
7803
7918
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
7804
7919
  /**
7805
7920
  * Prefer `globalThis` over `window`, `self`, and `global`.
7806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-global-this.md
7921
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-global-this.md
7807
7922
  */
7808
7923
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
7809
7924
  /**
7810
7925
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-import-meta-properties.md
7926
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-import-meta-properties.md
7812
7927
  */
7813
7928
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7814
7929
  /**
7815
7930
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-includes.md
7931
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-includes.md
7817
7932
  */
7818
7933
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7819
7934
  /**
7820
7935
  * Prefer reading a JSON file as a buffer.
7821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-json-parse-buffer.md
7936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-json-parse-buffer.md
7822
7937
  */
7823
7938
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7824
7939
  /**
7825
7940
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-keyboard-event-key.md
7941
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-keyboard-event-key.md
7827
7942
  */
7828
7943
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7829
7944
  /**
7830
7945
  * Prefer using a logical operator over a ternary.
7831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-logical-operator-over-ternary.md
7946
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7832
7947
  */
7833
7948
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
7834
7949
  /**
7835
7950
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-min-max.md
7951
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-min-max.md
7837
7952
  */
7838
7953
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7839
7954
  /**
7840
7955
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-trunc.md
7956
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-math-trunc.md
7842
7957
  */
7843
7958
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7844
7959
  /**
7845
7960
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-dom-apis.md
7961
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-dom-apis.md
7847
7962
  */
7848
7963
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7849
7964
  /**
7850
7965
  * Prefer modern `Math` APIs over legacy patterns.
7851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-math-apis.md
7966
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-modern-math-apis.md
7852
7967
  */
7853
7968
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7854
7969
  /**
7855
7970
  * Prefer JavaScript modules (ESM) over CommonJS.
7856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-module.md
7971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-module.md
7857
7972
  */
7858
7973
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7859
7974
  /**
7860
7975
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-native-coercion-functions.md
7976
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-native-coercion-functions.md
7862
7977
  */
7863
7978
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7864
7979
  /**
7865
7980
  * Prefer negative index over `.length - index` when possible.
7866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-negative-index.md
7981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-negative-index.md
7867
7982
  */
7868
7983
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7869
7984
  /**
7870
7985
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-node-protocol.md
7986
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-node-protocol.md
7872
7987
  */
7873
7988
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7874
7989
  /**
7875
7990
  * Prefer `Number` static properties over global ones.
7876
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-number-properties.md
7991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-number-properties.md
7877
7992
  */
7878
7993
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7879
7994
  /**
7880
7995
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7881
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-object-from-entries.md
7996
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-object-from-entries.md
7882
7997
  */
7883
7998
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7884
7999
  /**
7885
8000
  * Prefer omitting the `catch` binding parameter.
7886
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-optional-catch-binding.md
8001
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-optional-catch-binding.md
7887
8002
  */
7888
8003
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7889
8004
  /**
7890
8005
  * Prefer borrowing methods from the prototype instead of the instance.
7891
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-prototype-methods.md
8006
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-prototype-methods.md
7892
8007
  */
7893
8008
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7894
8009
  /**
7895
8010
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7896
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-query-selector.md
8011
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-query-selector.md
7897
8012
  */
7898
8013
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
7899
8014
  /**
7900
8015
  * Prefer `Reflect.apply()` over `Function#apply()`.
7901
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-reflect-apply.md
8016
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-reflect-apply.md
7902
8017
  */
7903
8018
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7904
8019
  /**
7905
8020
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7906
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-regexp-test.md
8021
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-regexp-test.md
7907
8022
  */
7908
8023
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8024
+ /**
8025
+ * Prefer `Response.json()` over `new Response(JSON.stringify())`.
8026
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-response-static-json.md
8027
+ */
8028
+ 'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
7909
8029
  /**
7910
8030
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7911
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-has.md
8031
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-has.md
7912
8032
  */
7913
8033
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
7914
8034
  /**
7915
8035
  * Prefer using `Set#size` instead of `Array#length`.
7916
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-size.md
8036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-set-size.md
7917
8037
  */
7918
8038
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7919
8039
  /**
7920
8040
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7921
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-single-call.md
8041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-single-call.md
7922
8042
  */
7923
8043
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
7924
8044
  /**
7925
8045
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7926
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-spread.md
8046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-spread.md
7927
8047
  */
7928
8048
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7929
8049
  /**
7930
8050
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7931
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-raw.md
8051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-raw.md
7932
8052
  */
7933
8053
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7934
8054
  /**
7935
8055
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7936
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-replace-all.md
8056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-replace-all.md
7937
8057
  */
7938
8058
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7939
8059
  /**
7940
8060
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7941
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-slice.md
8061
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-slice.md
7942
8062
  */
7943
8063
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7944
8064
  /**
7945
8065
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7946
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-starts-ends-with.md
8066
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-starts-ends-with.md
7947
8067
  */
7948
8068
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7949
8069
  /**
7950
8070
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7951
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-trim-start-end.md
8071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-string-trim-start-end.md
7952
8072
  */
7953
8073
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7954
8074
  /**
7955
8075
  * Prefer using `structuredClone` to create a deep clone.
7956
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-structured-clone.md
8076
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-structured-clone.md
7957
8077
  */
7958
8078
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7959
8079
  /**
7960
8080
  * Prefer `switch` over multiple `else-if`.
7961
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-switch.md
8081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-switch.md
7962
8082
  */
7963
8083
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7964
8084
  /**
7965
8085
  * Prefer ternary expressions over simple `if-else` statements.
7966
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-ternary.md
8086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-ternary.md
7967
8087
  */
7968
8088
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7969
8089
  /**
7970
8090
  * Prefer top-level await over top-level promises and async function calls.
7971
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-top-level-await.md
8091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-top-level-await.md
7972
8092
  */
7973
8093
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7974
8094
  /**
7975
8095
  * Enforce throwing `TypeError` in type checking conditions.
7976
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-type-error.md
8096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prefer-type-error.md
7977
8097
  */
7978
8098
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7979
8099
  /**
7980
8100
  * Prevent abbreviations.
7981
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prevent-abbreviations.md
8101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/prevent-abbreviations.md
7982
8102
  */
7983
8103
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7984
8104
  /**
7985
8105
  * Enforce consistent relative URL style.
7986
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/relative-url-style.md
8106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/relative-url-style.md
7987
8107
  */
7988
8108
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7989
8109
  /**
7990
8110
  * Enforce using the separator argument with `Array#join()`.
7991
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-array-join-separator.md
8111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-array-join-separator.md
7992
8112
  */
7993
8113
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
7994
8114
  /**
7995
8115
  * Require non-empty module attributes for imports and exports
7996
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-attributes.md
8116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-attributes.md
7997
8117
  */
7998
8118
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7999
8119
  /**
8000
8120
  * Require non-empty specifier list in import and export statements.
8001
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-specifiers.md
8121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-module-specifiers.md
8002
8122
  */
8003
8123
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
8004
8124
  /**
8005
8125
  * Enforce using the digits argument with `Number#toFixed()`.
8006
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-number-to-fixed-digits-argument.md
8126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8007
8127
  */
8008
8128
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
8009
8129
  /**
8010
8130
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
8011
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-post-message-target-origin.md
8131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/require-post-message-target-origin.md
8012
8132
  */
8013
8133
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
8014
8134
  /**
8015
8135
  * Enforce better string content.
8016
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/string-content.md
8136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/string-content.md
8017
8137
  */
8018
8138
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
8019
8139
  /**
8020
8140
  * Enforce consistent brace style for `case` clauses.
8021
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/switch-case-braces.md
8141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/switch-case-braces.md
8022
8142
  */
8023
8143
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
8024
8144
  /**
8025
8145
  * Fix whitespace-insensitive template indentation.
8026
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/template-indent.md
8146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/template-indent.md
8027
8147
  */
8028
8148
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
8029
8149
  /**
8030
8150
  * Enforce consistent case for text encoding identifiers.
8031
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/text-encoding-identifier-case.md
8151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/text-encoding-identifier-case.md
8032
8152
  */
8033
- 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>;
8153
+ 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
8034
8154
  /**
8035
8155
  * Require `new` when creating an error.
8036
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/throw-new-error.md
8156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.0.0/docs/rules/throw-new-error.md
8037
8157
  */
8038
8158
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
8039
8159
  /**
@@ -8536,6 +8656,11 @@ interface RuleOptions {
8536
8656
  * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
8537
8657
  */
8538
8658
  'vue/no-duplicate-attributes'?: Linter.RuleEntry<VueNoDuplicateAttributes>;
8659
+ /**
8660
+ * disallow duplication of class names in class attributes
8661
+ * @see https://eslint.vuejs.org/rules/no-duplicate-class-names.html
8662
+ */
8663
+ 'vue/no-duplicate-class-names'?: Linter.RuleEntry<[]>;
8539
8664
  /**
8540
8665
  * disallow the `<template>` `<script>` `<style>` block to be empty
8541
8666
  * @see https://eslint.vuejs.org/rules/no-empty-component-block.html
@@ -9563,6 +9688,195 @@ type ArrowSpacing = [] | [{
9563
9688
  before?: boolean;
9564
9689
  after?: boolean;
9565
9690
  }];
9691
+ // ----- astro/jsx-a11y/alt-text -----
9692
+ type AstroJsxA11YAltText = [] | [{
9693
+ elements?: string[];
9694
+ img?: string[];
9695
+ object?: string[];
9696
+ area?: string[];
9697
+ "input[type=\"image\"]"?: string[];
9698
+ [k: string]: unknown | undefined;
9699
+ }];
9700
+ // ----- astro/jsx-a11y/anchor-ambiguous-text -----
9701
+ type AstroJsxA11YAnchorAmbiguousText = [] | [{
9702
+ words?: string[];
9703
+ [k: string]: unknown | undefined;
9704
+ }];
9705
+ // ----- astro/jsx-a11y/anchor-has-content -----
9706
+ type AstroJsxA11YAnchorHasContent = [] | [{
9707
+ components?: string[];
9708
+ [k: string]: unknown | undefined;
9709
+ }];
9710
+ // ----- astro/jsx-a11y/anchor-is-valid -----
9711
+ type AstroJsxA11YAnchorIsValid = [] | [{
9712
+ components?: string[];
9713
+ specialLink?: string[];
9714
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]];
9715
+ [k: string]: unknown | undefined;
9716
+ }];
9717
+ // ----- astro/jsx-a11y/aria-activedescendant-has-tabindex -----
9718
+ type AstroJsxA11YAriaActivedescendantHasTabindex = [] | [{
9719
+ [k: string]: unknown | undefined;
9720
+ }];
9721
+ // ----- astro/jsx-a11y/aria-props -----
9722
+ type AstroJsxA11YAriaProps = [] | [{
9723
+ [k: string]: unknown | undefined;
9724
+ }];
9725
+ // ----- astro/jsx-a11y/aria-proptypes -----
9726
+ type AstroJsxA11YAriaProptypes = [] | [{
9727
+ [k: string]: unknown | undefined;
9728
+ }];
9729
+ // ----- astro/jsx-a11y/aria-role -----
9730
+ type AstroJsxA11YAriaRole = [] | [{
9731
+ allowedInvalidRoles?: string[];
9732
+ ignoreNonDOM?: boolean;
9733
+ [k: string]: unknown | undefined;
9734
+ }];
9735
+ // ----- astro/jsx-a11y/aria-unsupported-elements -----
9736
+ type AstroJsxA11YAriaUnsupportedElements = [] | [{
9737
+ [k: string]: unknown | undefined;
9738
+ }];
9739
+ // ----- astro/jsx-a11y/autocomplete-valid -----
9740
+ type AstroJsxA11YAutocompleteValid = [] | [{
9741
+ inputComponents?: string[];
9742
+ [k: string]: unknown | undefined;
9743
+ }];
9744
+ // ----- astro/jsx-a11y/click-events-have-key-events -----
9745
+ type AstroJsxA11YClickEventsHaveKeyEvents = [] | [{
9746
+ [k: string]: unknown | undefined;
9747
+ }];
9748
+ // ----- astro/jsx-a11y/control-has-associated-label -----
9749
+ type AstroJsxA11YControlHasAssociatedLabel = [] | [{
9750
+ labelAttributes?: string[];
9751
+ controlComponents?: string[];
9752
+ ignoreElements?: string[];
9753
+ ignoreRoles?: string[];
9754
+ depth?: number;
9755
+ [k: string]: unknown | undefined;
9756
+ }];
9757
+ // ----- astro/jsx-a11y/heading-has-content -----
9758
+ type AstroJsxA11YHeadingHasContent = [] | [{
9759
+ components?: string[];
9760
+ [k: string]: unknown | undefined;
9761
+ }];
9762
+ // ----- astro/jsx-a11y/html-has-lang -----
9763
+ type AstroJsxA11YHtmlHasLang = [] | [{
9764
+ [k: string]: unknown | undefined;
9765
+ }];
9766
+ // ----- astro/jsx-a11y/iframe-has-title -----
9767
+ type AstroJsxA11YIframeHasTitle = [] | [{
9768
+ [k: string]: unknown | undefined;
9769
+ }];
9770
+ // ----- astro/jsx-a11y/img-redundant-alt -----
9771
+ type AstroJsxA11YImgRedundantAlt = [] | [{
9772
+ components?: string[];
9773
+ words?: string[];
9774
+ [k: string]: unknown | undefined;
9775
+ }];
9776
+ // ----- astro/jsx-a11y/interactive-supports-focus -----
9777
+ type AstroJsxA11YInteractiveSupportsFocus = [] | [{
9778
+ tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[];
9779
+ [k: string]: unknown | undefined;
9780
+ }];
9781
+ // ----- astro/jsx-a11y/label-has-associated-control -----
9782
+ type AstroJsxA11YLabelHasAssociatedControl = [] | [{
9783
+ labelComponents?: string[];
9784
+ labelAttributes?: string[];
9785
+ controlComponents?: string[];
9786
+ assert?: ("htmlFor" | "nesting" | "both" | "either");
9787
+ depth?: number;
9788
+ [k: string]: unknown | undefined;
9789
+ }];
9790
+ // ----- astro/jsx-a11y/lang -----
9791
+ type AstroJsxA11YLang = [] | [{
9792
+ [k: string]: unknown | undefined;
9793
+ }];
9794
+ // ----- astro/jsx-a11y/media-has-caption -----
9795
+ type AstroJsxA11YMediaHasCaption = [] | [{
9796
+ audio?: string[];
9797
+ video?: string[];
9798
+ track?: string[];
9799
+ [k: string]: unknown | undefined;
9800
+ }];
9801
+ // ----- astro/jsx-a11y/mouse-events-have-key-events -----
9802
+ type AstroJsxA11YMouseEventsHaveKeyEvents = [] | [{
9803
+ hoverInHandlers?: string[];
9804
+ hoverOutHandlers?: string[];
9805
+ [k: string]: unknown | undefined;
9806
+ }];
9807
+ // ----- astro/jsx-a11y/no-access-key -----
9808
+ type AstroJsxA11YNoAccessKey = [] | [{
9809
+ [k: string]: unknown | undefined;
9810
+ }];
9811
+ // ----- astro/jsx-a11y/no-aria-hidden-on-focusable -----
9812
+ type AstroJsxA11YNoAriaHiddenOnFocusable = [] | [{
9813
+ [k: string]: unknown | undefined;
9814
+ }];
9815
+ // ----- astro/jsx-a11y/no-autofocus -----
9816
+ type AstroJsxA11YNoAutofocus = [] | [{
9817
+ ignoreNonDOM?: boolean;
9818
+ [k: string]: unknown | undefined;
9819
+ }];
9820
+ // ----- astro/jsx-a11y/no-distracting-elements -----
9821
+ type AstroJsxA11YNoDistractingElements = [] | [{
9822
+ elements?: ("marquee" | "blink")[];
9823
+ [k: string]: unknown | undefined;
9824
+ }];
9825
+ // ----- astro/jsx-a11y/no-interactive-element-to-noninteractive-role -----
9826
+ type AstroJsxA11YNoInteractiveElementToNoninteractiveRole = [] | [{
9827
+ [k: string]: string[] | undefined;
9828
+ }];
9829
+ // ----- astro/jsx-a11y/no-noninteractive-element-interactions -----
9830
+ type AstroJsxA11YNoNoninteractiveElementInteractions = [] | [{
9831
+ handlers?: string[];
9832
+ [k: string]: unknown | undefined;
9833
+ }];
9834
+ // ----- astro/jsx-a11y/no-noninteractive-element-to-interactive-role -----
9835
+ type AstroJsxA11YNoNoninteractiveElementToInteractiveRole = [] | [{
9836
+ [k: string]: string[] | undefined;
9837
+ }];
9838
+ // ----- astro/jsx-a11y/no-noninteractive-tabindex -----
9839
+ type AstroJsxA11YNoNoninteractiveTabindex = [] | [{
9840
+ roles?: string[];
9841
+ tags?: string[];
9842
+ [k: string]: unknown | undefined;
9843
+ }];
9844
+ // ----- astro/jsx-a11y/no-redundant-roles -----
9845
+ type AstroJsxA11YNoRedundantRoles = [] | [{
9846
+ [k: string]: string[] | undefined;
9847
+ }];
9848
+ // ----- astro/jsx-a11y/no-static-element-interactions -----
9849
+ type AstroJsxA11YNoStaticElementInteractions = [] | [{
9850
+ handlers?: string[];
9851
+ [k: string]: unknown | undefined;
9852
+ }];
9853
+ // ----- astro/jsx-a11y/prefer-tag-over-role -----
9854
+ type AstroJsxA11YPreferTagOverRole = [] | [{
9855
+ [k: string]: unknown | undefined;
9856
+ }];
9857
+ // ----- astro/jsx-a11y/role-has-required-aria-props -----
9858
+ type AstroJsxA11YRoleHasRequiredAriaProps = [] | [{
9859
+ [k: string]: unknown | undefined;
9860
+ }];
9861
+ // ----- astro/jsx-a11y/role-supports-aria-props -----
9862
+ type AstroJsxA11YRoleSupportsAriaProps = [] | [{
9863
+ [k: string]: unknown | undefined;
9864
+ }];
9865
+ // ----- astro/jsx-a11y/scope -----
9866
+ type AstroJsxA11YScope = [] | [{
9867
+ [k: string]: unknown | undefined;
9868
+ }];
9869
+ // ----- astro/jsx-a11y/tabindex-no-positive -----
9870
+ type AstroJsxA11YTabindexNoPositive = [] | [{
9871
+ [k: string]: unknown | undefined;
9872
+ }];
9873
+ // ----- astro/no-unsafe-inline-scripts -----
9874
+ type AstroNoUnsafeInlineScripts = [] | [{
9875
+ allowDefineVars?: boolean;
9876
+ allowModuleScripts?: boolean;
9877
+ allowNonExecutingTypes?: string[];
9878
+ allowNonce?: boolean;
9879
+ }];
9566
9880
  // ----- astro/prefer-split-class-list -----
9567
9881
  type AstroPreferSplitClassList = [] | [{
9568
9882
  splitLiteral?: boolean;
@@ -9888,6 +10202,7 @@ type JsdocCheckExamples = [] | [{
9888
10202
  }];
9889
10203
  // ----- jsdoc/check-indentation -----
9890
10204
  type JsdocCheckIndentation = [] | [{
10205
+ allowIndentedSections?: boolean;
9891
10206
  excludeTags?: string[];
9892
10207
  }];
9893
10208
  // ----- jsdoc/check-line-alignment -----
@@ -10234,6 +10549,14 @@ type JsdocRequireParamType = [] | [{
10234
10549
  defaultDestructuredRootType?: string;
10235
10550
  setDefaultDestructuredRootType?: boolean;
10236
10551
  }];
10552
+ // ----- jsdoc/require-rejects -----
10553
+ type JsdocRequireRejects = [] | [{
10554
+ contexts?: (string | {
10555
+ comment?: string;
10556
+ context?: string;
10557
+ })[];
10558
+ exemptedBy?: string[];
10559
+ }];
10237
10560
  // ----- jsdoc/require-returns -----
10238
10561
  type JsdocRequireReturns = [] | [{
10239
10562
  checkConstructors?: boolean;
@@ -10324,6 +10647,9 @@ type JsdocSortTags = [] | [{
10324
10647
  linesBetween?: number;
10325
10648
  reportIntraTagGroupSpacing?: boolean;
10326
10649
  reportTagGroupSpacing?: boolean;
10650
+ tagExceptions?: {
10651
+ [k: string]: number;
10652
+ };
10327
10653
  tagSequence?: {
10328
10654
  tags?: string[];
10329
10655
  }[];
@@ -13777,16 +14103,128 @@ type ReactDomNoUnknownProperty = [] | [{
13777
14103
  ignore?: string[];
13778
14104
  requireDataLowercase?: boolean;
13779
14105
  }];
14106
+ // ----- react-hooks/automatic-effect-dependencies -----
14107
+ type ReactHooksAutomaticEffectDependencies = [] | [{
14108
+ [k: string]: unknown | undefined;
14109
+ }];
14110
+ // ----- react-hooks/capitalized-calls -----
14111
+ type ReactHooksCapitalizedCalls = [] | [{
14112
+ [k: string]: unknown | undefined;
14113
+ }];
14114
+ // ----- react-hooks/component-hook-factories -----
14115
+ type ReactHooksComponentHookFactories = [] | [{
14116
+ [k: string]: unknown | undefined;
14117
+ }];
14118
+ // ----- react-hooks/config -----
14119
+ type ReactHooksConfig = [] | [{
14120
+ [k: string]: unknown | undefined;
14121
+ }];
14122
+ // ----- react-hooks/error-boundaries -----
14123
+ type ReactHooksErrorBoundaries = [] | [{
14124
+ [k: string]: unknown | undefined;
14125
+ }];
13780
14126
  // ----- react-hooks/exhaustive-deps -----
13781
14127
  type ReactHooksExhaustiveDeps = [] | [{
13782
14128
  additionalHooks?: string;
13783
14129
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
14130
+ experimental_autoDependenciesHooks?: string[];
14131
+ requireExplicitEffectDeps?: boolean;
14132
+ }];
14133
+ // ----- react-hooks/fbt -----
14134
+ type ReactHooksFbt = [] | [{
14135
+ [k: string]: unknown | undefined;
14136
+ }];
14137
+ // ----- react-hooks/fire -----
14138
+ type ReactHooksFire = [] | [{
14139
+ [k: string]: unknown | undefined;
14140
+ }];
14141
+ // ----- react-hooks/gating -----
14142
+ type ReactHooksGating = [] | [{
14143
+ [k: string]: unknown | undefined;
14144
+ }];
14145
+ // ----- react-hooks/globals -----
14146
+ type ReactHooksGlobals = [] | [{
14147
+ [k: string]: unknown | undefined;
14148
+ }];
14149
+ // ----- react-hooks/hooks -----
14150
+ type ReactHooksHooks = [] | [{
14151
+ [k: string]: unknown | undefined;
14152
+ }];
14153
+ // ----- react-hooks/immutability -----
14154
+ type ReactHooksImmutability = [] | [{
14155
+ [k: string]: unknown | undefined;
14156
+ }];
14157
+ // ----- react-hooks/incompatible-library -----
14158
+ type ReactHooksIncompatibleLibrary = [] | [{
14159
+ [k: string]: unknown | undefined;
14160
+ }];
14161
+ // ----- react-hooks/invariant -----
14162
+ type ReactHooksInvariant = [] | [{
14163
+ [k: string]: unknown | undefined;
14164
+ }];
14165
+ // ----- react-hooks/memoized-effect-dependencies -----
14166
+ type ReactHooksMemoizedEffectDependencies = [] | [{
14167
+ [k: string]: unknown | undefined;
14168
+ }];
14169
+ // ----- react-hooks/no-deriving-state-in-effects -----
14170
+ type ReactHooksNoDerivingStateInEffects = [] | [{
14171
+ [k: string]: unknown | undefined;
14172
+ }];
14173
+ // ----- react-hooks/preserve-manual-memoization -----
14174
+ type ReactHooksPreserveManualMemoization = [] | [{
14175
+ [k: string]: unknown | undefined;
14176
+ }];
14177
+ // ----- react-hooks/purity -----
14178
+ type ReactHooksPurity = [] | [{
14179
+ [k: string]: unknown | undefined;
14180
+ }];
14181
+ // ----- react-hooks/refs -----
14182
+ type ReactHooksRefs = [] | [{
14183
+ [k: string]: unknown | undefined;
14184
+ }];
14185
+ // ----- react-hooks/rule-suppression -----
14186
+ type ReactHooksRuleSuppression = [] | [{
14187
+ [k: string]: unknown | undefined;
14188
+ }];
14189
+ // ----- react-hooks/rules-of-hooks -----
14190
+ type ReactHooksRulesOfHooks = [] | [{
14191
+ additionalHooks?: string;
14192
+ }];
14193
+ // ----- react-hooks/set-state-in-effect -----
14194
+ type ReactHooksSetStateInEffect = [] | [{
14195
+ [k: string]: unknown | undefined;
14196
+ }];
14197
+ // ----- react-hooks/set-state-in-render -----
14198
+ type ReactHooksSetStateInRender = [] | [{
14199
+ [k: string]: unknown | undefined;
14200
+ }];
14201
+ // ----- react-hooks/static-components -----
14202
+ type ReactHooksStaticComponents = [] | [{
14203
+ [k: string]: unknown | undefined;
14204
+ }];
14205
+ // ----- react-hooks/syntax -----
14206
+ type ReactHooksSyntax = [] | [{
14207
+ [k: string]: unknown | undefined;
14208
+ }];
14209
+ // ----- react-hooks/todo -----
14210
+ type ReactHooksTodo = [] | [{
14211
+ [k: string]: unknown | undefined;
14212
+ }];
14213
+ // ----- react-hooks/unsupported-syntax -----
14214
+ type ReactHooksUnsupportedSyntax = [] | [{
14215
+ [k: string]: unknown | undefined;
14216
+ }];
14217
+ // ----- react-hooks/use-memo -----
14218
+ type ReactHooksUseMemo = [] | [{
14219
+ [k: string]: unknown | undefined;
14220
+ }];
14221
+ // ----- react-hooks/void-use-memo -----
14222
+ type ReactHooksVoidUseMemo = [] | [{
14223
+ [k: string]: unknown | undefined;
13784
14224
  }];
13785
14225
  // ----- react-naming-convention/component-name -----
13786
14226
  type ReactNamingConventionComponentName = [] | [(("PascalCase" | "CONSTANT_CASE") | {
13787
14227
  allowAllCaps?: boolean;
13788
- allowLeadingUnderscore?: boolean;
13789
- allowNamespace?: boolean;
13790
14228
  excepts?: string[];
13791
14229
  rule?: ("PascalCase" | "CONSTANT_CASE");
13792
14230
  })];
@@ -13809,8 +14247,27 @@ type ReactRefreshOnlyExportComponents = [] | [{
13809
14247
  customHOCs?: string[];
13810
14248
  checkJS?: boolean;
13811
14249
  }];
14250
+ // ----- react/jsx-shorthand-boolean -----
14251
+ type ReactJsxShorthandBoolean = [] | [(-1 | 1)];
14252
+ // ----- react/jsx-shorthand-fragment -----
14253
+ type ReactJsxShorthandFragment = [] | [(-1 | 1)];
14254
+ // ----- react/no-forbidden-props -----
14255
+ type ReactNoForbiddenProps = [] | [{
14256
+ forbid?: (string | {
14257
+ excludedNodes?: string[];
14258
+ prop: string;
14259
+ } | {
14260
+ includedNodes?: string[];
14261
+ prop: string;
14262
+ })[];
14263
+ }];
14264
+ // ----- react/no-unstable-default-props -----
14265
+ type ReactNoUnstableDefaultProps = [] | [{
14266
+ safeDefaultProps?: string[];
14267
+ }];
13812
14268
  // ----- react/no-useless-fragment -----
13813
14269
  type ReactNoUselessFragment = [] | [{
14270
+ allowEmptyFragment?: boolean;
13814
14271
  allowExpressions?: boolean;
13815
14272
  }];
13816
14273
  // ----- regexp/hexadecimal-escape -----
@@ -14352,6 +14809,50 @@ type StyleCurlyNewline = [] | [(("always" | "never") | {
14352
14809
  type StyleDotLocation = [] | [("object" | "property")];
14353
14810
  // ----- style/eol-last -----
14354
14811
  type StyleEolLast = [] | [("always" | "never" | "unix" | "windows")];
14812
+ // ----- style/exp-list-style -----
14813
+ type StyleExpListStyle = [] | [{
14814
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
14815
+ multiLine?: _StyleExpListStyle_MultiLineConfig;
14816
+ overrides?: {
14817
+ "[]"?: _StyleExpListStyle_BaseConfig;
14818
+ "{}"?: _StyleExpListStyle_BaseConfig;
14819
+ "<>"?: _StyleExpListStyle_BaseConfig;
14820
+ "()"?: _StyleExpListStyle_BaseConfig;
14821
+ ArrayExpression?: _StyleExpListStyle_BaseConfig;
14822
+ ArrayPattern?: _StyleExpListStyle_BaseConfig;
14823
+ ArrowFunctionExpression?: _StyleExpListStyle_BaseConfig;
14824
+ CallExpression?: _StyleExpListStyle_BaseConfig;
14825
+ ExportNamedDeclaration?: _StyleExpListStyle_BaseConfig;
14826
+ FunctionDeclaration?: _StyleExpListStyle_BaseConfig;
14827
+ FunctionExpression?: _StyleExpListStyle_BaseConfig;
14828
+ ImportDeclaration?: _StyleExpListStyle_BaseConfig;
14829
+ ImportAttributes?: _StyleExpListStyle_BaseConfig;
14830
+ NewExpression?: _StyleExpListStyle_BaseConfig;
14831
+ ObjectExpression?: _StyleExpListStyle_BaseConfig;
14832
+ ObjectPattern?: _StyleExpListStyle_BaseConfig;
14833
+ TSDeclareFunction?: _StyleExpListStyle_BaseConfig;
14834
+ TSFunctionType?: _StyleExpListStyle_BaseConfig;
14835
+ TSInterfaceBody?: _StyleExpListStyle_BaseConfig;
14836
+ TSEnumBody?: _StyleExpListStyle_BaseConfig;
14837
+ TSTupleType?: _StyleExpListStyle_BaseConfig;
14838
+ TSTypeLiteral?: _StyleExpListStyle_BaseConfig;
14839
+ TSTypeParameterDeclaration?: _StyleExpListStyle_BaseConfig;
14840
+ TSTypeParameterInstantiation?: _StyleExpListStyle_BaseConfig;
14841
+ JSONArrayExpression?: _StyleExpListStyle_BaseConfig;
14842
+ JSONObjectExpression?: _StyleExpListStyle_BaseConfig;
14843
+ };
14844
+ }];
14845
+ interface _StyleExpListStyle_SingleLineConfig {
14846
+ spacing?: ("always" | "never");
14847
+ maxItems?: number;
14848
+ }
14849
+ interface _StyleExpListStyle_MultiLineConfig {
14850
+ minItems?: number;
14851
+ }
14852
+ interface _StyleExpListStyle_BaseConfig {
14853
+ singleLine?: _StyleExpListStyle_SingleLineConfig;
14854
+ multiline?: _StyleExpListStyle_MultiLineConfig;
14855
+ }
14355
14856
  // ----- style/function-call-argument-newline -----
14356
14857
  type StyleFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")];
14357
14858
  // ----- style/function-call-spacing -----
@@ -14421,7 +14922,11 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
14421
14922
  ObjectExpression?: (number | ("first" | "off"));
14422
14923
  ImportDeclaration?: (number | ("first" | "off"));
14423
14924
  flatTernaryExpressions?: boolean;
14424
- offsetTernaryExpressions?: boolean;
14925
+ offsetTernaryExpressions?: (boolean | {
14926
+ CallExpression?: boolean;
14927
+ AwaitExpression?: boolean;
14928
+ NewExpression?: boolean;
14929
+ });
14425
14930
  offsetTernaryExpressionsOffsetCallExpressions?: boolean;
14426
14931
  ignoredNodes?: string[];
14427
14932
  ignoreComments?: boolean;
@@ -15222,6 +15727,7 @@ type StyleObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never
15222
15727
  TSInterfaceBody?: ("always" | "never");
15223
15728
  TSEnumBody?: ("always" | "never");
15224
15729
  };
15730
+ emptyObjects?: ("ignore" | "always" | "never");
15225
15731
  }];
15226
15732
  // ----- style/object-property-newline -----
15227
15733
  type StyleObjectPropertyNewline = [] | [{
@@ -15470,6 +15976,13 @@ type SvelteNoNavigationWithoutBase = [] | [{
15470
15976
  ignorePushState?: boolean;
15471
15977
  ignoreReplaceState?: boolean;
15472
15978
  }];
15979
+ // ----- svelte/no-navigation-without-resolve -----
15980
+ type SvelteNoNavigationWithoutResolve = [] | [{
15981
+ ignoreGoto?: boolean;
15982
+ ignoreLinks?: boolean;
15983
+ ignorePushState?: boolean;
15984
+ ignoreReplaceState?: boolean;
15985
+ }];
15473
15986
  // ----- svelte/no-reactive-reassign -----
15474
15987
  type SvelteNoReactiveReassign = [] | [{
15475
15988
  props?: boolean;
@@ -15564,6 +16077,13 @@ type SwitchColonSpacing = [] | [{
15564
16077
  type TemplateCurlySpacing = [] | [("always" | "never")];
15565
16078
  // ----- template-tag-spacing -----
15566
16079
  type TemplateTagSpacing = [] | [("always" | "never")];
16080
+ // ----- test/consistent-each-for -----
16081
+ type TestConsistentEachFor = [] | [{
16082
+ test?: ("each" | "for");
16083
+ it?: ("each" | "for");
16084
+ describe?: ("each" | "for");
16085
+ suite?: ("each" | "for");
16086
+ }];
15567
16087
  // ----- test/consistent-test-filename -----
15568
16088
  type TestConsistentTestFilename = [] | [{
15569
16089
  pattern?: string;
@@ -15597,7 +16117,7 @@ type TestNoFocusedTests = [] | [{
15597
16117
  }];
15598
16118
  // ----- test/no-hooks -----
15599
16119
  type TestNoHooks = [] | [{
15600
- allow?: unknown[];
16120
+ allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
15601
16121
  }];
15602
16122
  // ----- test/no-large-snapshots -----
15603
16123
  type TestNoLargeSnapshots = [] | [{
@@ -16962,6 +17482,10 @@ type UnicornTemplateIndent = [] | [{
16962
17482
  selectors?: string[];
16963
17483
  comments?: string[];
16964
17484
  }];
17485
+ // ----- unicorn/text-encoding-identifier-case -----
17486
+ type UnicornTextEncodingIdentifierCase = [] | [{
17487
+ withDash?: boolean;
17488
+ }];
16965
17489
  // ----- unocss/enforce-class-compile -----
16966
17490
  type UnocssEnforceClassCompile = [] | [{
16967
17491
  prefix?: string;
@@ -18418,9 +18942,12 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
18418
18942
  onlyEquality?: boolean;
18419
18943
  }];
18420
18944
  // Names of all the configs
18421
- type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'vinicunca/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sonar/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/yaml/pnpm-workspace';
18945
+ type ConfigNames = 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/formatter/setup' | 'vinicunca/imports/rules' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/javascript/disables' | 'antfu/jsx/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/disables' | 'vinicunca/node/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/sort/package-json' | 'vinicunca/stylistic/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/regexp/rules' | 'vinicunca/sonar/rules' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/disables/dts' | 'vinicunca/typescript/disables/tests' | 'vinicunca/typescript/disables/javascript' | 'vinicunca/unicorn/rules' | 'vinicunca/unocss' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules';
18422
18946
  //#endregion
18423
18947
  //#region src/vendor/prettier-types.d.ts
18948
+ /**
18949
+ * Vendor types from Prettier so we don't rely on the dependency.
18950
+ */
18424
18951
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
18425
18952
  interface VendoredPrettierOptionsRequired {
18426
18953
  /**
@@ -18451,7 +18978,7 @@ interface VendoredPrettierOptionsRequired {
18451
18978
  /**
18452
18979
  * Print trailing commas wherever possible.
18453
18980
  */
18454
- trailingComma: 'all' | 'es5' | 'none';
18981
+ trailingComma: 'none' | 'es5' | 'all';
18455
18982
  /**
18456
18983
  * Print spaces between brackets in object literals.
18457
18984
  */
@@ -18485,21 +19012,21 @@ interface VendoredPrettierOptionsRequired {
18485
19012
  * Include parentheses around a sole arrow function parameter.
18486
19013
  * @default "always"
18487
19014
  */
18488
- arrowParens: 'always' | 'avoid';
19015
+ arrowParens: 'avoid' | 'always';
18489
19016
  /**
18490
19017
  * Provide ability to support new languages to prettier.
18491
19018
  */
18492
- plugins: Array<any | string>;
19019
+ plugins: Array<string | any>;
18493
19020
  /**
18494
19021
  * How to handle whitespaces in HTML.
18495
19022
  * @default "css"
18496
19023
  */
18497
- htmlWhitespaceSensitivity: 'css' | 'ignore' | 'strict';
19024
+ htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
18498
19025
  /**
18499
19026
  * Which end of line characters to apply.
18500
19027
  * @default "lf"
18501
19028
  */
18502
- endOfLine: 'auto' | 'cr' | 'crlf' | 'lf';
19029
+ endOfLine: 'auto' | 'lf' | 'crlf' | 'cr';
18503
19030
  /**
18504
19031
  * Change when properties in objects are quoted.
18505
19032
  * @default "as-needed"
@@ -18519,7 +19046,7 @@ interface VendoredPrettierOptionsRequired {
18519
19046
  * How to handle whitespaces in XML.
18520
19047
  * @default "preserve"
18521
19048
  */
18522
- xmlQuoteAttributes: 'double' | 'preserve' | 'single';
19049
+ xmlQuoteAttributes: 'single' | 'double' | 'preserve';
18523
19050
  /**
18524
19051
  * Whether to put a space inside the brackets of self-closing XML elements.
18525
19052
  * @default true
@@ -18534,20 +19061,31 @@ interface VendoredPrettierOptionsRequired {
18534
19061
  * How to handle whitespaces in XML.
18535
19062
  * @default "ignore"
18536
19063
  */
18537
- xmlWhitespaceSensitivity: 'ignore' | 'preserve' | 'strict';
19064
+ xmlWhitespaceSensitivity: 'ignore' | 'strict' | 'preserve';
18538
19065
  }
18539
19066
  //#endregion
18540
19067
  //#region src/types.d.ts
18541
19068
  type Awaitable<T> = Promise<T> | T;
18542
- interface Rules extends RuleOptions {}
18543
- type TypedFlatConfigItem = {
19069
+ type Rules = Record<string, Linter.RuleEntry<any> | undefined> & RuleOptions;
19070
+ /**
19071
+ * An updated version of ESLint's `Linter.Config`, which provides autocompletion
19072
+ * for `rules` and relaxes type limitations for `plugins` and `rules`, because
19073
+ * many plugins still lack proper type definitions.
19074
+ */
19075
+ type TypedFlatConfigItem = Omit<Linter.Config, 'plugins' | 'rules'> & {
18544
19076
  /**
18545
- * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
19077
+ * An object containing a name-value mapping of plugin names to plugin objects.
19078
+ * When `files` is specified, these plugins are only available to the matching files.
18546
19079
  *
18547
19080
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
18548
19081
  */
18549
19082
  plugins?: Record<string, any>;
18550
- } & Omit<Linter.Config<Linter.RulesRecord & Rules>, 'plugins'>;
19083
+ /**
19084
+ * An object containing the configured rules. When `files` or `ignores` are
19085
+ * specified, these rule configurations are only available to the matching files.
19086
+ */
19087
+ rules?: Rules;
19088
+ };
18551
19089
  interface OptionsFiles {
18552
19090
  /**
18553
19091
  * Override the `files` option to provide custom globs.
@@ -18576,7 +19114,20 @@ interface OptionsVue extends OptionsOverrides {
18576
19114
  */
18577
19115
  a11y?: boolean;
18578
19116
  }
18579
- type OptionsTypescript = (OptionsTypeScriptWithTypes & OptionsOverrides) | (OptionsTypeScriptParserOptions & OptionsOverrides);
19117
+ interface OptionsJSXA11y extends OptionsOverrides {}
19118
+ interface OptionsJSX {
19119
+ /**
19120
+ * Enable JSX accessibility rules.
19121
+ *
19122
+ * Requires installing:
19123
+ * - `eslint-plugin-jsx-a11y`
19124
+ *
19125
+ * Can be a boolean or an object for custom options and overrides.
19126
+ * @default false
19127
+ */
19128
+ a11y?: boolean | OptionsJSXA11y;
19129
+ }
19130
+ type OptionsTypescript = (OptionsTypeScriptWithTypes & OptionsOverrides & OptionsTypeScriptErasableOnly) | (OptionsTypeScriptParserOptions & OptionsOverrides & OptionsTypeScriptErasableOnly);
18580
19131
  interface OptionsFormatters {
18581
19132
  /**
18582
19133
  * Enable formatting support for CSS, Less, Sass, and SCSS.
@@ -18650,9 +19201,9 @@ interface OptionsComponentExts {
18650
19201
  */
18651
19202
  componentExts?: Array<string>;
18652
19203
  }
18653
- interface OptionsUnicorn {
19204
+ interface OptionsUnicorn extends OptionsOverrides {
18654
19205
  /**
18655
- * Include all rules recommended by `eslint-plugin-unicorn`, instead of only ones picked by Anthony.
19206
+ * Include all rules recommended by `eslint-plugin-unicorn`.
18656
19207
  *
18657
19208
  * @default false
18658
19209
  */
@@ -18691,7 +19242,7 @@ interface OptionsHasTypeScript {
18691
19242
  interface OptionsStylistic {
18692
19243
  stylistic?: boolean | StylisticConfig;
18693
19244
  }
18694
- interface StylisticConfig extends Pick<StylisticCustomizeOptions, 'indent' | 'jsx' | 'quotes' | 'semi'> {}
19245
+ interface StylisticConfig extends Pick<StylisticCustomizeOptions, 'indent' | 'quotes' | 'jsx' | 'semi' | 'experimental'> {}
18695
19246
  interface OptionsOverrides {
18696
19247
  overrides?: TypedFlatConfigItem['rules'];
18697
19248
  }
@@ -18703,6 +19254,15 @@ interface OptionsProjectType {
18703
19254
  */
18704
19255
  type?: 'app' | 'lib';
18705
19256
  }
19257
+ interface OptionsTypeScriptErasableOnly {
19258
+ /**
19259
+ * Enable erasable syntax only rules.
19260
+ *
19261
+ * @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only
19262
+ * @default false
19263
+ */
19264
+ erasableOnly?: boolean;
19265
+ }
18706
19266
  interface OptionsRegExp {
18707
19267
  /**
18708
19268
  * Override rulelevels
@@ -18728,6 +19288,9 @@ interface OptionsUnoCSS extends OptionsOverrides {
18728
19288
  */
18729
19289
  configPath?: string;
18730
19290
  }
19291
+ interface OptionsReact extends OptionsOverrides {
19292
+ reactCompiler?: boolean;
19293
+ }
18731
19294
  interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18732
19295
  /**
18733
19296
  * Enable gitignore support.
@@ -18738,6 +19301,25 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18738
19301
  * @default true
18739
19302
  */
18740
19303
  gitignore?: boolean | FlatGitignoreOptions;
19304
+ /**
19305
+ * Extend the global ignores.
19306
+ *
19307
+ * Passing an array to extends the ignores.
19308
+ * Passing a function to modify the default ignores.
19309
+ *
19310
+ * @default []
19311
+ */
19312
+ ignores?: Array<string> | ((originals: Array<string>) => Array<string>);
19313
+ /**
19314
+ * Disable some opinionated rules to Anthony's preference.
19315
+ *
19316
+ * Including:
19317
+ * - `antfu/top-level-function`
19318
+ * - `antfu/if-newline`
19319
+ *
19320
+ * @default false
19321
+ */
19322
+ lessOpinionated?: boolean;
18741
19323
  /**
18742
19324
  * Core rules. Can't be disabled.
18743
19325
  */
@@ -18757,7 +19339,7 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18757
19339
  *
18758
19340
  * @default true
18759
19341
  */
18760
- jsx?: boolean;
19342
+ jsx?: boolean | OptionsJSX;
18761
19343
  /**
18762
19344
  * Options for eslint-plugin-unicorn.
18763
19345
  *
@@ -18831,21 +19413,41 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18831
19413
  /**
18832
19414
  * Enable react rules.
18833
19415
  *
19416
+ * Requires installing:
19417
+ * - `@eslint-react/eslint-plugin`
19418
+ * - `eslint-plugin-react-hooks`
19419
+ * - `eslint-plugin-react-refresh`
19420
+ *
18834
19421
  * @default false
18835
19422
  */
18836
- react?: boolean | OptionsOverrides;
19423
+ react?: boolean | OptionsReact;
19424
+ /**
19425
+ * Enable nextjs rules.
19426
+ *
19427
+ * Requires installing:
19428
+ * - `@next/eslint-plugin-next`
19429
+ *
19430
+ * @default false
19431
+ */
19432
+ nextjs?: boolean | OptionsOverrides;
18837
19433
  /**
18838
19434
  * Enable solid rules.
18839
19435
  *
19436
+ * Requires installing:
19437
+ * - `eslint-plugin-solid`
19438
+ *
18840
19439
  * @default false
18841
19440
  */
18842
19441
  solid?: boolean | OptionsOverrides;
18843
19442
  /**
18844
19443
  * Enable svelte rules.
18845
19444
  *
19445
+ * Requires installing:
19446
+ * - `eslint-plugin-svelte`
19447
+ *
18846
19448
  * @default false
18847
19449
  */
18848
- svelte?: boolean;
19450
+ svelte?: boolean | OptionsOverrides;
18849
19451
  /**
18850
19452
  * Enable unocss rules.
18851
19453
  *
@@ -18866,6 +19468,9 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
18866
19468
  /**
18867
19469
  * Use external formatters to format files.
18868
19470
  *
19471
+ * Requires installing:
19472
+ * - `eslint-plugin-format`
19473
+ *
18869
19474
  * When set to `true`, it will enable all formatters.
18870
19475
  *
18871
19476
  * @default false
@@ -18890,6 +19495,7 @@ declare const defaultPluginRenaming: {
18890
19495
  '@eslint-react/dom': string;
18891
19496
  '@eslint-react/hooks-extra': string;
18892
19497
  '@eslint-react/naming-convention': string;
19498
+ '@next/next': string;
18893
19499
  '@stylistic': string;
18894
19500
  '@typescript-eslint': string;
18895
19501
  'import-lite': string;
@@ -18898,7 +19504,6 @@ declare const defaultPluginRenaming: {
18898
19504
  vitest: string;
18899
19505
  yml: string;
18900
19506
  };
18901
- type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
18902
19507
  /**
18903
19508
  * Construct an array of ESLint flat config items.
18904
19509
  *
@@ -18909,10 +19514,11 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
18909
19514
  * @returns
18910
19515
  * The merged ESLint configurations.
18911
19516
  */
18912
- declare function vinicuncaESLint(options?: OptionsConfig & TypedFlatConfigItem, ...userConfigs: Array<Awaitable<Array<Linter.Config> | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
19517
+ declare function vinicuncaESLint(options?: OptionsConfig & Omit<TypedFlatConfigItem, 'files'>, ...userConfigs: Array<Awaitable<Array<Linter.Config> | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
19518
+ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
18913
19519
  //#endregion
18914
19520
  //#region src/configs/astro.d.ts
18915
- declare function astro(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
19521
+ declare function astro(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
18916
19522
  //#endregion
18917
19523
  //#region src/configs/command.d.ts
18918
19524
  declare function command(): Promise<Array<TypedFlatConfigItem>>;
@@ -18924,7 +19530,7 @@ declare function comments(): Promise<Array<TypedFlatConfigItem>>;
18924
19530
  declare function formatters(options?: OptionsFormatters | true, stylistic?: StylisticConfig): Promise<Array<TypedFlatConfigItem>>;
18925
19531
  //#endregion
18926
19532
  //#region src/configs/ignores.d.ts
18927
- declare function ignores(userIgnores?: Array<string>): Promise<Array<TypedFlatConfigItem>>;
19533
+ declare function ignores(userIgnores?: Array<string> | ((originals: Array<string>) => Array<string>)): Promise<Array<TypedFlatConfigItem>>;
18928
19534
  //#endregion
18929
19535
  //#region src/configs/imports.d.ts
18930
19536
  declare function imports(options?: OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
@@ -18936,13 +19542,16 @@ declare function javascript(options?: OptionsIsInEditor & OptionsOverrides): Pro
18936
19542
  declare function jsdoc(options?: OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
18937
19543
  //#endregion
18938
19544
  //#region src/configs/jsonc.d.ts
18939
- declare function jsonc(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
19545
+ declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
18940
19546
  //#endregion
18941
19547
  //#region src/configs/jsx.d.ts
18942
- declare function jsx(): Promise<Array<TypedFlatConfigItem>>;
19548
+ declare function jsx(options?: OptionsJSX): Promise<Array<TypedFlatConfigItem>>;
18943
19549
  //#endregion
18944
19550
  //#region src/configs/markdown.d.ts
18945
- declare function markdown(options?: OptionsComponentExts & OptionsFiles & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
19551
+ declare function markdown(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
19552
+ //#endregion
19553
+ //#region src/configs/nextjs.d.ts
19554
+ declare function nextjs(options?: OptionsOverrides & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
18946
19555
  //#endregion
18947
19556
  //#region src/configs/node.d.ts
18948
19557
  declare function node(): Promise<Array<TypedFlatConfigItem>>;
@@ -18956,16 +19565,16 @@ declare function node(): Promise<Array<TypedFlatConfigItem>>;
18956
19565
  declare function perfectionist(): Promise<Array<TypedFlatConfigItem>>;
18957
19566
  //#endregion
18958
19567
  //#region src/configs/pnpm.d.ts
18959
- declare function pnpm(): Promise<Array<TypedFlatConfigItem>>;
19568
+ declare function pnpm(options: OptionsIsInEditor): Promise<Array<TypedFlatConfigItem>>;
18960
19569
  //#endregion
18961
19570
  //#region src/configs/react.d.ts
18962
- declare function react(options?: OptionsFiles & OptionsOverrides & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
19571
+ declare function react(options?: OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes & OptionsReact & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
18963
19572
  //#endregion
18964
19573
  //#region src/configs/regexp.d.ts
18965
- declare function regexp(options?: OptionsOverrides & OptionsRegExp): Promise<Array<TypedFlatConfigItem>>;
19574
+ declare function regexp(options?: OptionsRegExp & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
18966
19575
  //#endregion
18967
19576
  //#region src/configs/solid.d.ts
18968
- declare function solid(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
19577
+ declare function solid(options?: OptionsHasTypeScript & OptionsOverrides & OptionsFiles & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
18969
19578
  //#endregion
18970
19579
  //#region src/configs/sonar.d.ts
18971
19580
  declare function sonar(): Promise<Array<TypedFlatConfigItem>>;
@@ -18986,20 +19595,22 @@ declare function sortTsconfig(): Array<TypedFlatConfigItem>;
18986
19595
  //#endregion
18987
19596
  //#region src/configs/stylistic.d.ts
18988
19597
  declare const STYLISTIC_CONFIG_DEFAULTS: StylisticConfig;
18989
- interface StylisticOptions extends StylisticConfig, OptionsOverrides {}
19598
+ interface StylisticOptions extends StylisticConfig, OptionsOverrides {
19599
+ lessOpinionated?: boolean;
19600
+ }
18990
19601
  declare function stylistic(options?: StylisticOptions): Promise<Array<TypedFlatConfigItem>>;
18991
19602
  //#endregion
18992
19603
  //#region src/configs/svelte.d.ts
18993
- declare function svelte(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
19604
+ declare function svelte(options?: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
18994
19605
  //#endregion
18995
19606
  //#region src/configs/test.d.ts
18996
19607
  declare function test(options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides): Promise<Array<TypedFlatConfigItem>>;
18997
19608
  //#endregion
18998
19609
  //#region src/configs/toml.d.ts
18999
- declare function toml(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
19610
+ declare function toml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
19000
19611
  //#endregion
19001
19612
  //#region src/configs/typescript.d.ts
19002
- declare function typescript(options?: OptionsComponentExts & OptionsFiles & OptionsOverrides & OptionsProjectType & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes): Promise<Array<TypedFlatConfigItem>>;
19613
+ declare function typescript(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions & OptionsProjectType & OptionsTypeScriptErasableOnly): Promise<Array<TypedFlatConfigItem>>;
19003
19614
  //#endregion
19004
19615
  //#region src/configs/unicorn.d.ts
19005
19616
  declare function unicorn(options?: OptionsUnicorn): Promise<Array<TypedFlatConfigItem>>;
@@ -19008,10 +19619,10 @@ declare function unicorn(options?: OptionsUnicorn): Promise<Array<TypedFlatConfi
19008
19619
  declare function unocss(options?: OptionsUnoCSS): Promise<Array<TypedFlatConfigItem>>;
19009
19620
  //#endregion
19010
19621
  //#region src/configs/vue.d.ts
19011
- declare function vue(options?: OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsVue): Promise<Array<TypedFlatConfigItem>>;
19622
+ declare function vue(options?: OptionsVue & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
19012
19623
  //#endregion
19013
19624
  //#region src/configs/yaml.d.ts
19014
- declare function yaml(options?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
19625
+ declare function yaml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
19015
19626
  //#endregion
19016
19627
  //#region src/globs.d.ts
19017
19628
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
@@ -19030,7 +19641,7 @@ declare const GLOB_JSON5 = "**/*.json5";
19030
19641
  declare const GLOB_JSONC = "**/*.jsonc";
19031
19642
  declare const GLOB_MARKDOWN = "**/*.md";
19032
19643
  declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
19033
- declare const GLOB_SVELTE = "**/*.svelte";
19644
+ declare const GLOB_SVELTE = "**/*.svelte?(.{js,ts})";
19034
19645
  declare const GLOB_VUE = "**/*.vue";
19035
19646
  declare const GLOB_YAML = "**/*.y?(a)ml";
19036
19647
  declare const GLOB_TOML = "**/*.toml";
@@ -19120,4 +19731,4 @@ declare function ensurePackages(packages: Array<string | undefined>): Promise<vo
19120
19731
  declare function isInEditorEnv(): boolean;
19121
19732
  declare function isInGitHooksOrLintStaged(): boolean;
19122
19733
  //#endregion
19123
- export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsProjectType, OptionsRegExp, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
19734
+ export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsOverrides, OptionsProjectType, OptionsReact, OptionsRegExp, OptionsStylistic, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };