@dhzh/eslint-config 1.25.2 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -167,186 +167,166 @@ interface RuleOptions {
167
167
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
168
168
  */
169
169
  '@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>
170
+ /**
171
+ * Disallows higher order functions that define components or hooks inside them.
172
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
173
+ */
174
+ '@eslint-react/component-hook-factories'?: Linter.RuleEntry<[]>
170
175
  /**
171
176
  * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
172
177
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
173
178
  */
174
- '@eslint-react/dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
179
+ '@eslint-react/dom-no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
175
180
  /**
176
181
  * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
177
182
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
178
183
  */
179
- '@eslint-react/dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
184
+ '@eslint-react/dom-no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
180
185
  /**
181
186
  * Disallows 'findDOMNode'.
182
187
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
183
188
  */
184
- '@eslint-react/dom/no-find-dom-node'?: Linter.RuleEntry<[]>
189
+ '@eslint-react/dom-no-find-dom-node'?: Linter.RuleEntry<[]>
185
190
  /**
186
191
  * Disallows 'flushSync'.
187
192
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
188
193
  */
189
- '@eslint-react/dom/no-flush-sync'?: Linter.RuleEntry<[]>
194
+ '@eslint-react/dom-no-flush-sync'?: Linter.RuleEntry<[]>
190
195
  /**
191
196
  * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
192
197
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
193
198
  */
194
- '@eslint-react/dom/no-hydrate'?: Linter.RuleEntry<[]>
199
+ '@eslint-react/dom-no-hydrate'?: Linter.RuleEntry<[]>
195
200
  /**
196
201
  * Enforces an explicit 'type' attribute for 'button' elements.
197
202
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
198
203
  */
199
- '@eslint-react/dom/no-missing-button-type'?: Linter.RuleEntry<[]>
204
+ '@eslint-react/dom-no-missing-button-type'?: Linter.RuleEntry<[]>
200
205
  /**
201
206
  * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
202
207
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
203
208
  */
204
- '@eslint-react/dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
205
- /**
206
- * Enforces the absence of a 'namespace' in React elements.
207
- * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
208
- */
209
- '@eslint-react/dom/no-namespace'?: Linter.RuleEntry<[]>
209
+ '@eslint-react/dom-no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
210
210
  /**
211
211
  * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
212
212
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
213
213
  */
214
- '@eslint-react/dom/no-render'?: Linter.RuleEntry<[]>
214
+ '@eslint-react/dom-no-render'?: Linter.RuleEntry<[]>
215
215
  /**
216
216
  * Disallows the return value of 'ReactDOM.render'.
217
217
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
218
218
  */
219
- '@eslint-react/dom/no-render-return-value'?: Linter.RuleEntry<[]>
219
+ '@eslint-react/dom-no-render-return-value'?: Linter.RuleEntry<[]>
220
220
  /**
221
221
  * Disallows 'javascript:' URLs as attribute values.
222
222
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
223
223
  */
224
- '@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>
224
+ '@eslint-react/dom-no-script-url'?: Linter.RuleEntry<[]>
225
225
  /**
226
226
  * Disallows the use of string style prop in JSX. Use an object instead.
227
227
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
228
228
  */
229
- '@eslint-react/dom/no-string-style-prop'?: Linter.RuleEntry<[]>
229
+ '@eslint-react/dom-no-string-style-prop'?: Linter.RuleEntry<[]>
230
230
  /**
231
231
  * Disallows unknown 'DOM' properties.
232
232
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
233
233
  */
234
- '@eslint-react/dom/no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>
234
+ '@eslint-react/dom-no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>
235
235
  /**
236
236
  * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
237
237
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
238
238
  */
239
- '@eslint-react/dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
239
+ '@eslint-react/dom-no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
240
240
  /**
241
241
  * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
242
242
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
243
243
  */
244
- '@eslint-react/dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
244
+ '@eslint-react/dom-no-unsafe-target-blank'?: Linter.RuleEntry<[]>
245
245
  /**
246
246
  * Replaces usage of 'useFormState' with 'useActionState'.
247
247
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
248
248
  */
249
- '@eslint-react/dom/no-use-form-state'?: Linter.RuleEntry<[]>
249
+ '@eslint-react/dom-no-use-form-state'?: Linter.RuleEntry<[]>
250
250
  /**
251
251
  * Disallows 'children' in void DOM elements.
252
252
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
253
253
  */
254
- '@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
254
+ '@eslint-react/dom-no-void-elements-with-children'?: Linter.RuleEntry<[]>
255
255
  /**
256
256
  * Enforces importing React DOM via a namespace import.
257
257
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
258
258
  */
259
- '@eslint-react/dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
259
+ '@eslint-react/dom-prefer-namespace-import'?: Linter.RuleEntry<[]>
260
260
  /**
261
- * Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
262
- * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
261
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
262
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
263
263
  */
264
- '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
264
+ '@eslint-react/error-boundaries'?: Linter.RuleEntry<[]>
265
265
  /**
266
- * Prevents unintentional '$' sign before expression.
267
- * @see https://eslint-react.xyz/docs/rules/jsx-dollar
268
- */
269
- '@eslint-react/jsx-dollar'?: Linter.RuleEntry<[]>
270
- /**
271
- * Enforces 'key' prop placement before spread props.
272
- * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
266
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
267
+ * @see https://github.com/facebook/react/issues/14920
273
268
  */
274
- '@eslint-react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
269
+ '@eslint-react/exhaustive-deps'?: Linter.RuleEntry<EslintReactExhaustiveDeps>
275
270
  /**
276
- * Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
277
- * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
271
+ * Validates against mutating props, state, and other values that are immutable.
272
+ * @see https://eslint-react.xyz/docs/rules/immutability
278
273
  */
279
- '@eslint-react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
274
+ '@eslint-react/immutability'?: Linter.RuleEntry<[]>
280
275
  /**
281
- * Disallows duplicate props in JSX elements.
282
- * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
276
+ * Disallows passing 'children' as a prop.
277
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop
283
278
  */
284
- '@eslint-react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
279
+ '@eslint-react/jsx-no-children-prop'?: Linter.RuleEntry<[]>
285
280
  /**
286
- * Disallows immediately-invoked function expressions in JSX.
287
- * @see https://eslint-react.xyz/docs/rules/jsx-no-iife
281
+ * Disallows passing 'children' as a prop when children are also passed as nested content.
282
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop-with-children
288
283
  */
289
- '@eslint-react/jsx-no-iife'?: Linter.RuleEntry<[]>
284
+ '@eslint-react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>
290
285
  /**
291
- * Prevents using variables in JSX that are not defined in the scope.
292
- * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
286
+ * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
287
+ * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
293
288
  */
294
- '@eslint-react/jsx-no-undef'?: Linter.RuleEntry<[]>
289
+ '@eslint-react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
295
290
  /**
296
- * Enforces shorthand syntax for boolean props.
297
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
291
+ * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
292
+ * @see https://eslint-react.xyz/docs/rules/no-key-after-spread
298
293
  */
299
- '@eslint-react/jsx-shorthand-boolean'?: Linter.RuleEntry<EslintReactJsxShorthandBoolean>
294
+ '@eslint-react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>
300
295
  /**
301
- * Enforces shorthand syntax for fragment elements.
302
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
296
+ * Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
297
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-dollar
303
298
  */
304
- '@eslint-react/jsx-shorthand-fragment'?: Linter.RuleEntry<EslintReactJsxShorthandFragment>
299
+ '@eslint-react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>
305
300
  /**
306
- * Marks React variables as used when JSX is present.
307
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
301
+ * Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
302
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-semicolon
308
303
  */
309
- '@eslint-react/jsx-uses-react'?: Linter.RuleEntry<[]>
304
+ '@eslint-react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>
310
305
  /**
311
- * Marks JSX element variables as used.
312
- * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
306
+ * Disallow JSX namespace syntax, as React does not support them.
307
+ * @see https://eslint-react.xyz/docs/rules/no-namespace
313
308
  */
314
- '@eslint-react/jsx-uses-vars'?: Linter.RuleEntry<[]>
309
+ '@eslint-react/jsx-no-namespace'?: Linter.RuleEntry<[]>
315
310
  /**
316
- * Enforces naming conventions for components.
317
- * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
311
+ * Disallows useless fragment elements.
312
+ * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
318
313
  */
319
- '@eslint-react/naming-convention/component-name'?: Linter.RuleEntry<EslintReactNamingConventionComponentName>
314
+ '@eslint-react/jsx-no-useless-fragment'?: Linter.RuleEntry<EslintReactJsxNoUselessFragment>
320
315
  /**
321
316
  * Enforces the context name to be a valid component name with the suffix 'Context'.
322
317
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
323
318
  */
324
- '@eslint-react/naming-convention/context-name'?: Linter.RuleEntry<[]>
325
- /**
326
- * Enforces consistent file-naming conventions.
327
- * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
328
- */
329
- '@eslint-react/naming-convention/filename'?: Linter.RuleEntry<EslintReactNamingConventionFilename>
330
- /**
331
- * Enforces consistent use of the JSX file extension.
332
- * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
333
- */
334
- '@eslint-react/naming-convention/filename-extension'?: Linter.RuleEntry<EslintReactNamingConventionFilenameExtension>
319
+ '@eslint-react/naming-convention-context-name'?: Linter.RuleEntry<[]>
335
320
  /**
336
321
  * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
337
322
  * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
338
323
  */
339
- '@eslint-react/naming-convention/id-name'?: Linter.RuleEntry<[]>
324
+ '@eslint-react/naming-convention-id-name'?: Linter.RuleEntry<[]>
340
325
  /**
341
326
  * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
342
327
  * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
343
328
  */
344
- '@eslint-react/naming-convention/ref-name'?: Linter.RuleEntry<[]>
345
- /**
346
- * Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
347
- * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
348
- */
349
- '@eslint-react/naming-convention/use-state'?: Linter.RuleEntry<EslintReactNamingConventionUseState>
329
+ '@eslint-react/naming-convention-ref-name'?: Linter.RuleEntry<[]>
350
330
  /**
351
331
  * Disallows accessing 'this.state' inside 'setState' calls.
352
332
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
@@ -377,11 +357,6 @@ interface RuleOptions {
377
357
  * @see https://eslint-react.xyz/docs/rules/no-children-only
378
358
  */
379
359
  '@eslint-react/no-children-only'?: Linter.RuleEntry<[]>
380
- /**
381
- * Disallows passing 'children' as a prop.
382
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
383
- */
384
- '@eslint-react/no-children-prop'?: Linter.RuleEntry<[]>
385
360
  /**
386
361
  * Disallows the use of 'Children.toArray' from the 'react' package.
387
362
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
@@ -422,11 +397,6 @@ interface RuleOptions {
422
397
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
423
398
  */
424
399
  '@eslint-react/no-create-ref'?: Linter.RuleEntry<[]>
425
- /**
426
- * Disallows the 'defaultProps' property in favor of ES6 default parameters.
427
- * @see https://eslint-react.xyz/docs/rules/no-default-props
428
- */
429
- '@eslint-react/no-default-props'?: Linter.RuleEntry<[]>
430
400
  /**
431
401
  * Disallows direct mutation of 'this.state'.
432
402
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
@@ -437,22 +407,26 @@ interface RuleOptions {
437
407
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
438
408
  */
439
409
  '@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>
440
- /**
441
- * Disallows certain props on components.
442
- * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
443
- * @deprecated
444
- */
445
- '@eslint-react/no-forbidden-props'?: Linter.RuleEntry<EslintReactNoForbiddenProps>
446
410
  /**
447
411
  * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
448
412
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
449
413
  */
450
414
  '@eslint-react/no-forward-ref'?: Linter.RuleEntry<[]>
415
+ /**
416
+ * Prevents implicitly passing the 'children' prop to components.
417
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
418
+ */
419
+ '@eslint-react/no-implicit-children'?: Linter.RuleEntry<[]>
451
420
  /**
452
421
  * Prevents implicitly passing the 'key' prop to components.
453
422
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
454
423
  */
455
424
  '@eslint-react/no-implicit-key'?: Linter.RuleEntry<[]>
425
+ /**
426
+ * Prevents implicitly passing the 'ref' prop to components.
427
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
428
+ */
429
+ '@eslint-react/no-implicit-ref'?: Linter.RuleEntry<[]>
456
430
  /**
457
431
  * Prevents problematic leaked values from being rendered.
458
432
  * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
@@ -484,15 +458,10 @@ interface RuleOptions {
484
458
  */
485
459
  '@eslint-react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
486
460
  /**
487
- * Disallows nesting lazy component declarations inside other components.
461
+ * Disallows nesting lazy component declarations inside other components or hooks.
488
462
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
489
463
  */
490
464
  '@eslint-react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
491
- /**
492
- * Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
493
- * @see https://eslint-react.xyz/docs/rules/no-prop-types
494
- */
495
- '@eslint-react/no-prop-types'?: Linter.RuleEntry<[]>
496
465
  /**
497
466
  * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
498
467
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
@@ -513,16 +482,6 @@ interface RuleOptions {
513
482
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
514
483
  */
515
484
  '@eslint-react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
516
- /**
517
- * Replaces string refs with callback refs.
518
- * @see https://eslint-react.xyz/docs/rules/no-string-refs
519
- */
520
- '@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>
521
- /**
522
- * Disallows unnecessary 'key' props on nested child elements when rendering lists.
523
- * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
524
- */
525
- '@eslint-react/no-unnecessary-key'?: Linter.RuleEntry<[]>
526
485
  /**
527
486
  * Disallows unnecessary usage of 'useCallback'.
528
487
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
@@ -538,11 +497,6 @@ interface RuleOptions {
538
497
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
539
498
  */
540
499
  '@eslint-react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
541
- /**
542
- * Disallows unnecessary usage of 'useRef'.
543
- * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-ref
544
- */
545
- '@eslint-react/no-unnecessary-use-ref'?: Linter.RuleEntry<[]>
546
500
  /**
547
501
  * Warns about the use of 'UNSAFE_componentWillMount' in class components.
548
502
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
@@ -588,16 +542,6 @@ interface RuleOptions {
588
542
  * @see https://eslint-react.xyz/docs/rules/no-use-context
589
543
  */
590
544
  '@eslint-react/no-use-context'?: Linter.RuleEntry<[]>
591
- /**
592
- * Disallows useless 'forwardRef' calls on components that don't use 'ref's.
593
- * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
594
- */
595
- '@eslint-react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
596
- /**
597
- * Disallows useless fragment elements.
598
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
599
- */
600
- '@eslint-react/no-useless-fragment'?: Linter.RuleEntry<EslintReactNoUselessFragment>
601
545
  /**
602
546
  * Enforces destructuring assignment for component props and context.
603
547
  * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
@@ -609,40 +553,355 @@ interface RuleOptions {
609
553
  */
610
554
  '@eslint-react/prefer-namespace-import'?: Linter.RuleEntry<[]>
611
555
  /**
612
- * Enforces read-only props in components.
613
- * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
556
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
557
+ * @see https://eslint-react.xyz/docs/rules/purity
614
558
  */
615
- '@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>
559
+ '@eslint-react/purity'?: Linter.RuleEntry<[]>
616
560
  /**
617
- * Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
618
- * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
561
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
562
+ * @see https://eslint-react.xyz/docs/rules/refs
619
563
  */
620
- '@eslint-react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
564
+ '@eslint-react/refs'?: Linter.RuleEntry<[]>
621
565
  /**
622
- * Validate and transform React Client/Server Function definitions.
566
+ * Validates and transforms React Client/Server Function definitions.
623
567
  * @see https://eslint-react.xyz/docs/rules/function-definition
624
568
  */
625
- '@eslint-react/rsc/function-definition'?: Linter.RuleEntry<[]>
569
+ '@eslint-react/rsc-function-definition'?: Linter.RuleEntry<[]>
570
+ /**
571
+ * Enforces the Rules of Hooks.
572
+ * @see https://react.dev/reference/rules/rules-of-hooks
573
+ */
574
+ '@eslint-react/rules-of-hooks'?: Linter.RuleEntry<EslintReactRulesOfHooks>
575
+ /**
576
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
577
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
578
+ */
579
+ '@eslint-react/set-state-in-effect'?: Linter.RuleEntry<[]>
580
+ /**
581
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
582
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
583
+ */
584
+ '@eslint-react/set-state-in-render'?: Linter.RuleEntry<[]>
585
+ /**
586
+ * Validates against syntax that React Compiler does not support.
587
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
588
+ */
589
+ '@eslint-react/unsupported-syntax'?: Linter.RuleEntry<[]>
590
+ /**
591
+ * Validates that 'useMemo' is called with a callback that returns a value.
592
+ * @see https://eslint-react.xyz/docs/rules/use-memo
593
+ */
594
+ '@eslint-react/use-memo'?: Linter.RuleEntry<[]>
595
+ /**
596
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
597
+ * @see https://eslint-react.xyz/docs/rules/use-state
598
+ */
599
+ '@eslint-react/use-state'?: Linter.RuleEntry<EslintReactUseState>
626
600
  /**
627
601
  * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
628
602
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
629
603
  */
630
- '@eslint-react/web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
604
+ '@eslint-react/web-api-no-leaked-event-listener'?: Linter.RuleEntry<[]>
631
605
  /**
632
606
  * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
633
607
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
634
608
  */
635
- '@eslint-react/web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
609
+ '@eslint-react/web-api-no-leaked-interval'?: Linter.RuleEntry<[]>
636
610
  /**
637
611
  * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
638
612
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
639
613
  */
640
- '@eslint-react/web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
614
+ '@eslint-react/web-api-no-leaked-resize-observer'?: Linter.RuleEntry<[]>
641
615
  /**
642
616
  * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
643
617
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
644
618
  */
645
- '@eslint-react/web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
619
+ '@eslint-react/web-api-no-leaked-timeout'?: Linter.RuleEntry<[]>
620
+ /**
621
+ * Disallows higher order functions that define components or hooks inside them.
622
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
623
+ */
624
+ '@eslint-react/x-component-hook-factories'?: Linter.RuleEntry<[]>
625
+ /**
626
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
627
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
628
+ */
629
+ '@eslint-react/x-error-boundaries'?: Linter.RuleEntry<[]>
630
+ /**
631
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
632
+ * @see https://github.com/facebook/react/issues/14920
633
+ */
634
+ '@eslint-react/x-exhaustive-deps'?: Linter.RuleEntry<EslintReactXExhaustiveDeps>
635
+ /**
636
+ * Validates against mutating props, state, and other values that are immutable.
637
+ * @see https://eslint-react.xyz/docs/rules/immutability
638
+ */
639
+ '@eslint-react/x-immutability'?: Linter.RuleEntry<[]>
640
+ /**
641
+ * Disallows accessing 'this.state' inside 'setState' calls.
642
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
643
+ */
644
+ '@eslint-react/x-no-access-state-in-setstate'?: Linter.RuleEntry<[]>
645
+ /**
646
+ * Disallows using an item's index in the array as its key.
647
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
648
+ */
649
+ '@eslint-react/x-no-array-index-key'?: Linter.RuleEntry<[]>
650
+ /**
651
+ * Disallows the use of 'Children.count' from the 'react' package.
652
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
653
+ */
654
+ '@eslint-react/x-no-children-count'?: Linter.RuleEntry<[]>
655
+ /**
656
+ * Disallows the use of 'Children.forEach' from the 'react' package.
657
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
658
+ */
659
+ '@eslint-react/x-no-children-for-each'?: Linter.RuleEntry<[]>
660
+ /**
661
+ * Disallows the use of 'Children.map' from the 'react' package.
662
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
663
+ */
664
+ '@eslint-react/x-no-children-map'?: Linter.RuleEntry<[]>
665
+ /**
666
+ * Disallows the use of 'Children.only' from the 'react' package.
667
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
668
+ */
669
+ '@eslint-react/x-no-children-only'?: Linter.RuleEntry<[]>
670
+ /**
671
+ * Disallows the use of 'Children.toArray' from the 'react' package.
672
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
673
+ */
674
+ '@eslint-react/x-no-children-to-array'?: Linter.RuleEntry<[]>
675
+ /**
676
+ * Disallows class components except for error boundaries.
677
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
678
+ */
679
+ '@eslint-react/x-no-class-component'?: Linter.RuleEntry<[]>
680
+ /**
681
+ * Disallows 'cloneElement'.
682
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
683
+ */
684
+ '@eslint-react/x-no-clone-element'?: Linter.RuleEntry<[]>
685
+ /**
686
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
687
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
688
+ */
689
+ '@eslint-react/x-no-component-will-mount'?: Linter.RuleEntry<[]>
690
+ /**
691
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
692
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
693
+ */
694
+ '@eslint-react/x-no-component-will-receive-props'?: Linter.RuleEntry<[]>
695
+ /**
696
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
697
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
698
+ */
699
+ '@eslint-react/x-no-component-will-update'?: Linter.RuleEntry<[]>
700
+ /**
701
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
702
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
703
+ */
704
+ '@eslint-react/x-no-context-provider'?: Linter.RuleEntry<[]>
705
+ /**
706
+ * Disallows 'createRef' in function components.
707
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
708
+ */
709
+ '@eslint-react/x-no-create-ref'?: Linter.RuleEntry<[]>
710
+ /**
711
+ * Disallows direct mutation of 'this.state'.
712
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
713
+ */
714
+ '@eslint-react/x-no-direct-mutation-state'?: Linter.RuleEntry<[]>
715
+ /**
716
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
717
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
718
+ */
719
+ '@eslint-react/x-no-duplicate-key'?: Linter.RuleEntry<[]>
720
+ /**
721
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
722
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
723
+ */
724
+ '@eslint-react/x-no-forward-ref'?: Linter.RuleEntry<[]>
725
+ /**
726
+ * Prevents implicitly passing the 'children' prop to components.
727
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
728
+ */
729
+ '@eslint-react/x-no-implicit-children'?: Linter.RuleEntry<[]>
730
+ /**
731
+ * Prevents implicitly passing the 'key' prop to components.
732
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
733
+ */
734
+ '@eslint-react/x-no-implicit-key'?: Linter.RuleEntry<[]>
735
+ /**
736
+ * Prevents implicitly passing the 'ref' prop to components.
737
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
738
+ */
739
+ '@eslint-react/x-no-implicit-ref'?: Linter.RuleEntry<[]>
740
+ /**
741
+ * Prevents problematic leaked values from being rendered.
742
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
743
+ */
744
+ '@eslint-react/x-no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
745
+ /**
746
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
747
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
748
+ */
749
+ '@eslint-react/x-no-missing-component-display-name'?: Linter.RuleEntry<[]>
750
+ /**
751
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
752
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
753
+ */
754
+ '@eslint-react/x-no-missing-context-display-name'?: Linter.RuleEntry<[]>
755
+ /**
756
+ * Disallows missing 'key' on items in list rendering.
757
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
758
+ */
759
+ '@eslint-react/x-no-missing-key'?: Linter.RuleEntry<[]>
760
+ /**
761
+ * Prevents incorrect usage of 'captureOwnerStack'.
762
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
763
+ */
764
+ '@eslint-react/x-no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
765
+ /**
766
+ * Disallows nesting component definitions inside other components.
767
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
768
+ */
769
+ '@eslint-react/x-no-nested-component-definitions'?: Linter.RuleEntry<[]>
770
+ /**
771
+ * Disallows nesting lazy component declarations inside other components or hooks.
772
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
773
+ */
774
+ '@eslint-react/x-no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
775
+ /**
776
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
777
+ * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
778
+ */
779
+ '@eslint-react/x-no-redundant-should-component-update'?: Linter.RuleEntry<[]>
780
+ /**
781
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
782
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
783
+ */
784
+ '@eslint-react/x-no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
785
+ /**
786
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
787
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
788
+ */
789
+ '@eslint-react/x-no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
790
+ /**
791
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
792
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
793
+ */
794
+ '@eslint-react/x-no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
795
+ /**
796
+ * Disallows unnecessary usage of 'useCallback'.
797
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
798
+ */
799
+ '@eslint-react/x-no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
800
+ /**
801
+ * Disallows unnecessary usage of 'useMemo'.
802
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
803
+ */
804
+ '@eslint-react/x-no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
805
+ /**
806
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
807
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
808
+ */
809
+ '@eslint-react/x-no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
810
+ /**
811
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
812
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
813
+ */
814
+ '@eslint-react/x-no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
815
+ /**
816
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
817
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
818
+ */
819
+ '@eslint-react/x-no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
820
+ /**
821
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
822
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
823
+ */
824
+ '@eslint-react/x-no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
825
+ /**
826
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
827
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
828
+ */
829
+ '@eslint-react/x-no-unstable-context-value'?: Linter.RuleEntry<[]>
830
+ /**
831
+ * Prevents using referential-type values as default props in object destructuring.
832
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
833
+ */
834
+ '@eslint-react/x-no-unstable-default-props'?: Linter.RuleEntry<EslintReactXNoUnstableDefaultProps>
835
+ /**
836
+ * Warns about unused class component methods and properties.
837
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
838
+ */
839
+ '@eslint-react/x-no-unused-class-component-members'?: Linter.RuleEntry<[]>
840
+ /**
841
+ * Warns about component props that are defined but never used.
842
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
843
+ */
844
+ '@eslint-react/x-no-unused-props'?: Linter.RuleEntry<[]>
845
+ /**
846
+ * Warns about unused class component state.
847
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
848
+ */
849
+ '@eslint-react/x-no-unused-state'?: Linter.RuleEntry<[]>
850
+ /**
851
+ * Replaces usage of 'useContext' with 'use'.
852
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
853
+ */
854
+ '@eslint-react/x-no-use-context'?: Linter.RuleEntry<[]>
855
+ /**
856
+ * Enforces destructuring assignment for component props and context.
857
+ * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
858
+ */
859
+ '@eslint-react/x-prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
860
+ /**
861
+ * Enforces importing React via a namespace import.
862
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
863
+ */
864
+ '@eslint-react/x-prefer-namespace-import'?: Linter.RuleEntry<[]>
865
+ /**
866
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
867
+ * @see https://eslint-react.xyz/docs/rules/purity
868
+ */
869
+ '@eslint-react/x-purity'?: Linter.RuleEntry<[]>
870
+ /**
871
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
872
+ * @see https://eslint-react.xyz/docs/rules/refs
873
+ */
874
+ '@eslint-react/x-refs'?: Linter.RuleEntry<[]>
875
+ /**
876
+ * Enforces the Rules of Hooks.
877
+ * @see https://react.dev/reference/rules/rules-of-hooks
878
+ */
879
+ '@eslint-react/x-rules-of-hooks'?: Linter.RuleEntry<EslintReactXRulesOfHooks>
880
+ /**
881
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
882
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
883
+ */
884
+ '@eslint-react/x-set-state-in-effect'?: Linter.RuleEntry<[]>
885
+ /**
886
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
887
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
888
+ */
889
+ '@eslint-react/x-set-state-in-render'?: Linter.RuleEntry<[]>
890
+ /**
891
+ * Validates against syntax that React Compiler does not support.
892
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
893
+ */
894
+ '@eslint-react/x-unsupported-syntax'?: Linter.RuleEntry<[]>
895
+ /**
896
+ * Validates that 'useMemo' is called with a callback that returns a value.
897
+ * @see https://eslint-react.xyz/docs/rules/use-memo
898
+ */
899
+ '@eslint-react/x-use-memo'?: Linter.RuleEntry<[]>
900
+ /**
901
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
902
+ * @see https://eslint-react.xyz/docs/rules/use-state
903
+ */
904
+ '@eslint-react/x-use-state'?: Linter.RuleEntry<EslintReactXUseState>
646
905
  /**
647
906
  * Enforce linebreaks after opening and before closing array brackets
648
907
  * @see https://eslint.style/rules/array-bracket-newline
@@ -2144,238 +2403,238 @@ interface RuleOptions {
2144
2403
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
2145
2404
  /**
2146
2405
  * Enforce or ban the use of inline type-only markers for named imports.
2147
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
2406
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/consistent-type-specifier-style.md
2148
2407
  */
2149
2408
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
2150
2409
  /**
2151
2410
  * Ensure a default export is present, given a default import.
2152
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
2411
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/default.md
2153
2412
  */
2154
2413
  'import-x/default'?: Linter.RuleEntry<[]>
2155
2414
  /**
2156
2415
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
2157
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
2416
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/dynamic-import-chunkname.md
2158
2417
  */
2159
2418
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
2160
2419
  /**
2161
2420
  * Forbid any invalid exports, i.e. re-export of the same name.
2162
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
2421
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/export.md
2163
2422
  */
2164
2423
  'import-x/export'?: Linter.RuleEntry<[]>
2165
2424
  /**
2166
2425
  * Ensure all exports appear after other statements.
2167
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
2426
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/exports-last.md
2168
2427
  */
2169
2428
  'import-x/exports-last'?: Linter.RuleEntry<[]>
2170
2429
  /**
2171
2430
  * Ensure consistent use of file extension within the import path.
2172
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
2431
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/extensions.md
2173
2432
  */
2174
2433
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
2175
2434
  /**
2176
2435
  * Ensure all imports appear before other statements.
2177
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
2436
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/first.md
2178
2437
  */
2179
2438
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>
2180
2439
  /**
2181
2440
  * Prefer named exports to be grouped together in a single export declaration.
2182
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
2441
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/group-exports.md
2183
2442
  */
2184
2443
  'import-x/group-exports'?: Linter.RuleEntry<[]>
2185
2444
  /**
2186
2445
  * Replaced by `import-x/first`.
2187
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
2446
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/imports-first.md
2188
2447
  * @deprecated
2189
2448
  */
2190
2449
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
2191
2450
  /**
2192
2451
  * Enforce the maximum number of dependencies a module can have.
2193
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
2452
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/max-dependencies.md
2194
2453
  */
2195
2454
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
2196
2455
  /**
2197
2456
  * Ensure named imports correspond to a named export in the remote file.
2198
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
2457
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/named.md
2199
2458
  */
2200
2459
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>
2201
2460
  /**
2202
2461
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2203
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
2462
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/namespace.md
2204
2463
  */
2205
2464
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
2206
2465
  /**
2207
2466
  * Enforce a newline after import statements.
2208
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
2467
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/newline-after-import.md
2209
2468
  */
2210
2469
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
2211
2470
  /**
2212
2471
  * Forbid import of modules using absolute paths.
2213
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
2472
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-absolute-path.md
2214
2473
  */
2215
2474
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
2216
2475
  /**
2217
2476
  * Forbid AMD `require` and `define` calls.
2218
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
2477
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-amd.md
2219
2478
  */
2220
2479
  'import-x/no-amd'?: Linter.RuleEntry<[]>
2221
2480
  /**
2222
2481
  * Forbid anonymous values as default exports.
2223
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
2482
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-anonymous-default-export.md
2224
2483
  */
2225
2484
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
2226
2485
  /**
2227
2486
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2228
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
2487
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-commonjs.md
2229
2488
  */
2230
2489
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
2231
2490
  /**
2232
2491
  * Forbid a module from importing a module with a dependency path back to itself.
2233
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
2492
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-cycle.md
2234
2493
  */
2235
2494
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
2236
2495
  /**
2237
2496
  * Forbid default exports.
2238
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
2497
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-default-export.md
2239
2498
  */
2240
2499
  'import-x/no-default-export'?: Linter.RuleEntry<[]>
2241
2500
  /**
2242
2501
  * Forbid imported names marked with `@deprecated` documentation tag.
2243
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
2502
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-deprecated.md
2244
2503
  */
2245
2504
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>
2246
2505
  /**
2247
2506
  * Forbid repeated import of the same module in multiple places.
2248
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
2507
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-duplicates.md
2249
2508
  */
2250
2509
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
2251
2510
  /**
2252
2511
  * Forbid `require()` calls with expressions.
2253
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
2512
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-dynamic-require.md
2254
2513
  */
2255
2514
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
2256
2515
  /**
2257
2516
  * Forbid empty named import blocks.
2258
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
2517
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-empty-named-blocks.md
2259
2518
  */
2260
2519
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
2261
2520
  /**
2262
2521
  * Forbid the use of extraneous packages.
2263
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
2522
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-extraneous-dependencies.md
2264
2523
  */
2265
2524
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
2266
2525
  /**
2267
2526
  * Forbid import statements with CommonJS module.exports.
2268
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
2527
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-import-module-exports.md
2269
2528
  */
2270
2529
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
2271
2530
  /**
2272
2531
  * Forbid importing the submodules of other modules.
2273
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
2532
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-internal-modules.md
2274
2533
  */
2275
2534
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
2276
2535
  /**
2277
2536
  * Forbid the use of mutable exports with `var` or `let`.
2278
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
2537
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-mutable-exports.md
2279
2538
  */
2280
2539
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
2281
2540
  /**
2282
2541
  * Forbid use of exported name as identifier of default export.
2283
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
2542
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default.md
2284
2543
  */
2285
2544
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
2286
2545
  /**
2287
2546
  * Forbid use of exported name as property of default export.
2288
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
2547
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default-member.md
2289
2548
  */
2290
2549
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
2291
2550
  /**
2292
2551
  * Forbid named default exports.
2293
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
2552
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-default.md
2294
2553
  */
2295
2554
  'import-x/no-named-default'?: Linter.RuleEntry<[]>
2296
2555
  /**
2297
2556
  * Forbid named exports.
2298
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
2557
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-export.md
2299
2558
  */
2300
2559
  'import-x/no-named-export'?: Linter.RuleEntry<[]>
2301
2560
  /**
2302
2561
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2303
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
2562
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-namespace.md
2304
2563
  */
2305
2564
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
2306
2565
  /**
2307
2566
  * Forbid Node.js builtin modules.
2308
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
2567
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-nodejs-modules.md
2309
2568
  */
2310
2569
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
2311
2570
  /**
2312
2571
  * Forbid importing packages through relative paths.
2313
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
2572
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-packages.md
2314
2573
  */
2315
2574
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
2316
2575
  /**
2317
2576
  * Forbid importing modules from parent directories.
2318
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
2577
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-parent-imports.md
2319
2578
  */
2320
2579
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
2321
2580
  /**
2322
2581
  * Forbid importing a default export by a different name.
2323
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
2582
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-rename-default.md
2324
2583
  */
2325
2584
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
2326
2585
  /**
2327
2586
  * Enforce which files can be imported in a given folder.
2328
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
2587
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-restricted-paths.md
2329
2588
  */
2330
2589
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
2331
2590
  /**
2332
2591
  * Forbid a module from importing itself.
2333
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
2592
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-self-import.md
2334
2593
  */
2335
2594
  'import-x/no-self-import'?: Linter.RuleEntry<[]>
2336
2595
  /**
2337
2596
  * Forbid unassigned imports.
2338
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
2597
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unassigned-import.md
2339
2598
  */
2340
2599
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
2341
2600
  /**
2342
2601
  * Ensure imports point to a file/module that can be resolved.
2343
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
2602
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unresolved.md
2344
2603
  */
2345
2604
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
2346
2605
  /**
2347
2606
  * Forbid modules without exports, or exports without matching import in another module.
2348
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
2607
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unused-modules.md
2349
2608
  */
2350
2609
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
2351
2610
  /**
2352
2611
  * Forbid unnecessary path segments in import and require statements.
2353
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
2612
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-useless-path-segments.md
2354
2613
  */
2355
2614
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
2356
2615
  /**
2357
2616
  * Forbid webpack loader syntax in imports.
2358
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
2617
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-webpack-loader-syntax.md
2359
2618
  */
2360
2619
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
2361
2620
  /**
2362
2621
  * Enforce a convention in module import order.
2363
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
2622
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/order.md
2364
2623
  */
2365
2624
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>
2366
2625
  /**
2367
2626
  * Prefer a default export if module exports a single name or multiple names.
2368
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
2627
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-default-export.md
2369
2628
  */
2370
2629
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
2371
2630
  /**
2372
2631
  * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
2373
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
2632
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-namespace-import.md
2374
2633
  */
2375
2634
  'import-x/prefer-namespace-import'?: Linter.RuleEntry<ImportXPreferNamespaceImport>
2376
2635
  /**
2377
2636
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2378
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
2637
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/unambiguous.md
2379
2638
  */
2380
2639
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
2381
2640
  /**
@@ -3875,6 +4134,11 @@ interface RuleOptions {
3875
4134
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-author.md
3876
4135
  */
3877
4136
  'package-json/require-author'?: Linter.RuleEntry<PackageJsonRequireAuthor>
4137
+ /**
4138
+ * Requires the `bin` property to be present.
4139
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-bin.md
4140
+ */
4141
+ 'package-json/require-bin'?: Linter.RuleEntry<PackageJsonRequireBin>
3878
4142
  /**
3879
4143
  * Requires the `bugs` property to be present.
3880
4144
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-bugs.md
@@ -3885,6 +4149,16 @@ interface RuleOptions {
3885
4149
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-bundleDependencies.md
3886
4150
  */
3887
4151
  'package-json/require-bundleDependencies'?: Linter.RuleEntry<PackageJsonRequireBundleDependencies>
4152
+ /**
4153
+ * Requires the `contributors` property to be present.
4154
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-contributors.md
4155
+ */
4156
+ 'package-json/require-contributors'?: Linter.RuleEntry<PackageJsonRequireContributors>
4157
+ /**
4158
+ * Requires the `cpu` property to be present.
4159
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-cpu.md
4160
+ */
4161
+ 'package-json/require-cpu'?: Linter.RuleEntry<PackageJsonRequireCpu>
3888
4162
  /**
3889
4163
  * Requires the `dependencies` property to be present.
3890
4164
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-dependencies.md
@@ -3900,6 +4174,16 @@ interface RuleOptions {
3900
4174
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-devDependencies.md
3901
4175
  */
3902
4176
  'package-json/require-devDependencies'?: Linter.RuleEntry<PackageJsonRequireDevDependencies>
4177
+ /**
4178
+ * Requires the `devEngines` property to be present.
4179
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-devEngines.md
4180
+ */
4181
+ 'package-json/require-devEngines'?: Linter.RuleEntry<PackageJsonRequireDevEngines>
4182
+ /**
4183
+ * Requires the `directories` property to be present.
4184
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-directories.md
4185
+ */
4186
+ 'package-json/require-directories'?: Linter.RuleEntry<PackageJsonRequireDirectories>
3903
4187
  /**
3904
4188
  * Requires the `engines` property to be present.
3905
4189
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-engines.md
@@ -3915,6 +4199,11 @@ interface RuleOptions {
3915
4199
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-files.md
3916
4200
  */
3917
4201
  'package-json/require-files'?: Linter.RuleEntry<PackageJsonRequireFiles>
4202
+ /**
4203
+ * Requires the `funding` property to be present.
4204
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-funding.md
4205
+ */
4206
+ 'package-json/require-funding'?: Linter.RuleEntry<PackageJsonRequireFunding>
3918
4207
  /**
3919
4208
  * Requires the `homepage` property to be present.
3920
4209
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-homepage.md
@@ -3935,6 +4224,16 @@ interface RuleOptions {
3935
4224
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-main.md
3936
4225
  */
3937
4226
  'package-json/require-main'?: Linter.RuleEntry<PackageJsonRequireMain>
4227
+ /**
4228
+ * Requires the `man` property to be present.
4229
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-man.md
4230
+ */
4231
+ 'package-json/require-man'?: Linter.RuleEntry<PackageJsonRequireMan>
4232
+ /**
4233
+ * Requires the `module` property to be present.
4234
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-module.md
4235
+ */
4236
+ 'package-json/require-module'?: Linter.RuleEntry<PackageJsonRequireModule>
3938
4237
  /**
3939
4238
  * Requires the `name` property to be present.
3940
4239
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/require-name.md
@@ -4040,6 +4339,11 @@ interface RuleOptions {
4040
4339
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-bin.md
4041
4340
  */
4042
4341
  'package-json/valid-bin'?: Linter.RuleEntry<[]>
4342
+ /**
4343
+ * Enforce that the `bugs` property is valid.
4344
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-bugs.md
4345
+ */
4346
+ 'package-json/valid-bugs'?: Linter.RuleEntry<[]>
4043
4347
  /**
4044
4348
  * Enforce that the `bundleDependencies` (also: `bundledDependencies`) property is valid.
4045
4349
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-bundleDependencies.md
@@ -4075,6 +4379,11 @@ interface RuleOptions {
4075
4379
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-devDependencies.md
4076
4380
  */
4077
4381
  'package-json/valid-devDependencies'?: Linter.RuleEntry<[]>
4382
+ /**
4383
+ * Enforce that the `devEngines` property is valid.
4384
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-devEngines.md
4385
+ */
4386
+ 'package-json/valid-devEngines'?: Linter.RuleEntry<[]>
4078
4387
  /**
4079
4388
  * Enforce that the `directories` property is valid.
4080
4389
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-directories.md
@@ -4095,6 +4404,11 @@ interface RuleOptions {
4095
4404
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-files.md
4096
4405
  */
4097
4406
  'package-json/valid-files'?: Linter.RuleEntry<[]>
4407
+ /**
4408
+ * Enforce that the `funding` property is valid.
4409
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-funding.md
4410
+ */
4411
+ 'package-json/valid-funding'?: Linter.RuleEntry<[]>
4098
4412
  /**
4099
4413
  * Enforce that the `homepage` property is valid.
4100
4414
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-homepage.md
@@ -4146,6 +4460,11 @@ interface RuleOptions {
4146
4460
  * @deprecated
4147
4461
  */
4148
4462
  'package-json/valid-package-definition'?: Linter.RuleEntry<PackageJsonValidPackageDefinition>
4463
+ /**
4464
+ * Enforce that the `packageManager` property is valid.
4465
+ * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-packageManager.md
4466
+ */
4467
+ 'package-json/valid-packageManager'?: Linter.RuleEntry<[]>
4149
4468
  /**
4150
4469
  * Enforce that the `peerDependencies` property is valid.
4151
4470
  * @see https://github.com/michaelfaith/eslint-plugin-package-json/blob/HEAD/docs/rules/valid-peerDependencies.md
@@ -4306,31 +4625,33 @@ interface RuleOptions {
4306
4625
  */
4307
4626
  'react-compiler/react-compiler'?: Linter.RuleEntry<ReactCompilerReactCompiler>
4308
4627
  /**
4309
- * Conditionally rendered text nodes should be wrapped in an element (for example, a <span>), otherwise Google Translate can cause a browser error.
4628
+ * Conditionally rendered text nodes should be wrapped in an element (for example, a `<span>`), otherwise Google Translate can cause a browser error.
4629
+ * @see https://github.com/getcouped/eslint-plugin-react-google-translate#eslint-plugin-react-google-translate
4310
4630
  */
4311
4631
  'react-google-translate/no-conditional-text-nodes-with-siblings'?: Linter.RuleEntry<[]>
4312
4632
  /**
4313
4633
  * React components should avoid returning text nodes directly (or numerical values which will be rendered as text). When a React component returns values other than JSX / null, Google Translate can continue to display stale values after state changes, without any error being thrown. Since this is very hard to debug it is better to avoid it altogether.
4634
+ * @see https://github.com/getcouped/eslint-plugin-react-google-translate#eslint-plugin-react-google-translate
4314
4635
  */
4315
4636
  'react-google-translate/no-return-text-nodes'?: Linter.RuleEntry<[]>
4316
- /**
4317
- * Verifies that automatic effect dependencies are compiled if opted-in
4318
- */
4319
- 'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>
4320
4637
  /**
4321
4638
  * Validates against calling capitalized functions/methods instead of using JSX
4639
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/capitalized-calls
4322
4640
  */
4323
4641
  'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>
4324
4642
  /**
4325
- * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
4643
+ * Deprecated: this rule has been removed in 7.1.0.
4644
+ * @deprecated
4326
4645
  */
4327
- 'react-hooks/component-hook-factories'?: Linter.RuleEntry<ReactHooksComponentHookFactories>
4646
+ 'react-hooks/component-hook-factories'?: Linter.RuleEntry<[]>
4328
4647
  /**
4329
4648
  * Validates the compiler configuration options
4649
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/config
4330
4650
  */
4331
4651
  'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>
4332
4652
  /**
4333
4653
  * Validates usage of error boundaries instead of try/catch for errors in child components
4654
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/error-boundaries
4334
4655
  */
4335
4656
  'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>
4336
4657
  /**
@@ -4339,59 +4660,78 @@ interface RuleOptions {
4339
4660
  */
4340
4661
  'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
4341
4662
  /**
4342
- * Validates usage of fbt
4663
+ * Validates that effect dependencies are exhaustive and without extraneous values
4664
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/exhaustive-effect-dependencies
4343
4665
  */
4344
- 'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>
4666
+ 'react-hooks/exhaustive-effect-dependencies'?: Linter.RuleEntry<ReactHooksExhaustiveEffectDependencies>
4345
4667
  /**
4346
- * Validates usage of `fire`
4668
+ * Validates usage of fbt
4669
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/fbt
4347
4670
  */
4348
- 'react-hooks/fire'?: Linter.RuleEntry<ReactHooksFire>
4671
+ 'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>
4349
4672
  /**
4350
4673
  * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
4674
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/gating
4351
4675
  */
4352
4676
  'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>
4353
4677
  /**
4354
4678
  * 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)
4679
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/globals
4355
4680
  */
4356
4681
  'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>
4357
4682
  /**
4358
4683
  * Validates the rules of hooks
4684
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/hooks
4359
4685
  */
4360
4686
  'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>
4361
4687
  /**
4362
4688
  * 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)
4689
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/immutability
4363
4690
  */
4364
4691
  'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>
4365
4692
  /**
4366
4693
  * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
4694
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/incompatible-library
4367
4695
  */
4368
4696
  'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>
4369
4697
  /**
4370
4698
  * Internal invariants
4699
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/invariant
4371
4700
  */
4372
4701
  'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>
4702
+ /**
4703
+ * Validates that useMemo() and useCallback() specify comprehensive dependencies without extraneous values. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
4704
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memo-dependencies
4705
+ */
4706
+ 'react-hooks/memo-dependencies'?: Linter.RuleEntry<ReactHooksMemoDependencies>
4373
4707
  /**
4374
4708
  * Validates that effect dependencies are memoized
4709
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memoized-effect-dependencies
4375
4710
  */
4376
4711
  'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>
4377
4712
  /**
4378
4713
  * Validates against deriving values from state in an effect
4714
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/no-deriving-state-in-effects
4379
4715
  */
4380
4716
  'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>
4381
4717
  /**
4382
4718
  * 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)
4719
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/preserve-manual-memoization
4383
4720
  */
4384
4721
  'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>
4385
4722
  /**
4386
4723
  * 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
4724
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/purity
4387
4725
  */
4388
4726
  'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>
4389
4727
  /**
4390
4728
  * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
4729
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/refs
4391
4730
  */
4392
4731
  'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>
4393
4732
  /**
4394
4733
  * Validates against suppression of other rules
4734
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/rule-suppression
4395
4735
  */
4396
4736
  'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>
4397
4737
  /**
@@ -4400,35 +4740,43 @@ interface RuleOptions {
4400
4740
  */
4401
4741
  'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>
4402
4742
  /**
4403
- * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
4743
+ * Validates against calling setState synchronously in an effect. This can indicate non-local derived data, a derived event pattern, or improper external data synchronization.
4744
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-effect
4404
4745
  */
4405
4746
  'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>
4406
4747
  /**
4407
4748
  * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
4749
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-render
4408
4750
  */
4409
4751
  'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>
4410
4752
  /**
4411
4753
  * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
4754
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/static-components
4412
4755
  */
4413
4756
  'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>
4414
4757
  /**
4415
4758
  * Validates against invalid syntax
4759
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/syntax
4416
4760
  */
4417
4761
  'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>
4418
4762
  /**
4419
4763
  * Unimplemented features
4764
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/todo
4420
4765
  */
4421
4766
  'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>
4422
4767
  /**
4423
4768
  * Validates against syntax that we do not plan to support in React Compiler
4769
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/unsupported-syntax
4424
4770
  */
4425
4771
  'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>
4426
4772
  /**
4427
4773
  * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
4774
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/use-memo
4428
4775
  */
4429
4776
  'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>
4430
4777
  /**
4431
4778
  * 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.
4779
+ * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/void-use-memo
4432
4780
  */
4433
4781
  'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>
4434
4782
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
@@ -5631,730 +5979,750 @@ interface RuleOptions {
5631
5979
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
5632
5980
  /**
5633
5981
  * Improve regexes by making them shorter, consistent, and safer.
5634
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/better-regex.md
5982
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
5635
5983
  */
5636
5984
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
5637
5985
  /**
5638
5986
  * Enforce a specific parameter name in catch clauses.
5639
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/catch-error-name.md
5987
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
5640
5988
  */
5641
5989
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
5642
5990
  /**
5643
5991
  * Enforce consistent assertion style with `node:assert`.
5644
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-assert.md
5992
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
5645
5993
  */
5646
5994
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
5647
5995
  /**
5648
5996
  * Prefer passing `Date` directly to the constructor when cloning.
5649
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-date-clone.md
5997
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
5650
5998
  */
5651
5999
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
5652
6000
  /**
5653
6001
  * Use destructured variables over properties.
5654
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-destructuring.md
6002
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
5655
6003
  */
5656
6004
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
5657
6005
  /**
5658
6006
  * Prefer consistent types when spreading a ternary in an array literal.
5659
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-empty-array-spread.md
6007
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
5660
6008
  */
5661
6009
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
5662
6010
  /**
5663
6011
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
5664
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-existence-index-check.md
6012
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
5665
6013
  */
5666
6014
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
5667
6015
  /**
5668
6016
  * Move function definitions to the highest possible scope.
5669
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-function-scoping.md
6017
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
5670
6018
  */
5671
6019
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
6020
+ /**
6021
+ * Enforce consistent style for escaping `${` in template literals.
6022
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
6023
+ */
6024
+ 'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>
5672
6025
  /**
5673
6026
  * Enforce correct `Error` subclassing.
5674
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/custom-error-definition.md
6027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
5675
6028
  */
5676
6029
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
5677
6030
  /**
5678
6031
  * Enforce no spaces between braces.
5679
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/empty-brace-spaces.md
6032
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
5680
6033
  */
5681
6034
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
5682
6035
  /**
5683
6036
  * Enforce passing a `message` value when creating a built-in error.
5684
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/error-message.md
6037
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
5685
6038
  */
5686
6039
  'unicorn/error-message'?: Linter.RuleEntry<[]>
5687
6040
  /**
5688
6041
  * Require escape sequences to use uppercase or lowercase values.
5689
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/escape-case.md
6042
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
5690
6043
  */
5691
6044
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
5692
6045
  /**
5693
6046
  * Add expiration conditions to TODO comments.
5694
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/expiring-todo-comments.md
6047
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
5695
6048
  */
5696
6049
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
5697
6050
  /**
5698
6051
  * Enforce explicitly comparing the `length` or `size` property of a value.
5699
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/explicit-length-check.md
6052
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
5700
6053
  */
5701
6054
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
5702
6055
  /**
5703
6056
  * Enforce a case style for filenames.
5704
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/filename-case.md
6057
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
5705
6058
  */
5706
6059
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
5707
6060
  /**
5708
6061
  * Enforce specific import styles per module.
5709
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/import-style.md
6062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
5710
6063
  */
5711
6064
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
5712
6065
  /**
5713
6066
  * Prevent usage of variables from outside the scope of isolated functions.
5714
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/isolated-functions.md
6067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
5715
6068
  */
5716
6069
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>
5717
6070
  /**
5718
6071
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
5719
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/new-for-builtins.md
6072
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
5720
6073
  */
5721
6074
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
5722
6075
  /**
5723
6076
  * Enforce specifying rules to disable in `eslint-disable` comments.
5724
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-abusive-eslint-disable.md
6077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
5725
6078
  */
5726
6079
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
5727
6080
  /**
5728
6081
  * Disallow recursive access to `this` within getters and setters.
5729
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-accessor-recursion.md
6082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
5730
6083
  */
5731
6084
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
5732
6085
  /**
5733
6086
  * Disallow anonymous functions and classes as the default export.
5734
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-anonymous-default-export.md
6087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
5735
6088
  */
5736
6089
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
5737
6090
  /**
5738
6091
  * Prevent passing a function reference directly to iterator methods.
5739
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-callback-reference.md
6092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
5740
6093
  */
5741
6094
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
5742
6095
  /**
5743
6096
  * Prefer `for…of` over the `forEach` method.
5744
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-for-each.md
6097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
5745
6098
  */
5746
6099
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
5747
6100
  /**
5748
6101
  * Disallow using the `this` argument in array methods.
5749
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-method-this-argument.md
6102
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
5750
6103
  */
5751
6104
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
5752
6105
  /**
5753
6106
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
5754
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
5755
6108
  * @deprecated
5756
6109
  */
5757
6110
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
5758
6111
  /**
5759
6112
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
5760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reduce.md
6113
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
5761
6114
  */
5762
6115
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
5763
6116
  /**
5764
6117
  * Prefer `Array#toReversed()` over `Array#reverse()`.
5765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reverse.md
6118
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
5766
6119
  */
5767
6120
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
5768
6121
  /**
5769
6122
  * Prefer `Array#toSorted()` over `Array#sort()`.
5770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-sort.md
6123
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
5771
6124
  */
5772
6125
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>
5773
6126
  /**
5774
6127
  * Disallow member access from await expression.
5775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-expression-member.md
6128
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
5776
6129
  */
5777
6130
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
5778
6131
  /**
5779
6132
  * Disallow using `await` in `Promise` method parameters.
5780
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-in-promise-methods.md
6133
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
5781
6134
  */
5782
6135
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
5783
6136
  /**
5784
6137
  * Do not use leading/trailing space between `console.log` parameters.
5785
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-console-spaces.md
6138
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
5786
6139
  */
5787
6140
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
5788
6141
  /**
5789
6142
  * Do not use `document.cookie` directly.
5790
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-document-cookie.md
6143
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
5791
6144
  */
5792
6145
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
5793
6146
  /**
5794
6147
  * Disallow empty files.
5795
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-empty-file.md
6148
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
5796
6149
  */
5797
6150
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
5798
6151
  /**
5799
6152
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
5800
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-for-loop.md
6153
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
5801
6154
  */
5802
6155
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
5803
6156
  /**
5804
6157
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
5805
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-hex-escape.md
6158
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
5806
6159
  */
5807
6160
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
5808
6161
  /**
5809
6162
  * Disallow immediate mutation after variable assignment.
5810
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-immediate-mutation.md
6163
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
5811
6164
  */
5812
6165
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>
5813
6166
  /**
5814
6167
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
5815
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6168
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
5816
6169
  * @deprecated
5817
6170
  */
5818
6171
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
5819
6172
  /**
5820
6173
  * Disallow `instanceof` with built-in objects
5821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-instanceof-builtins.md
6174
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
5822
6175
  */
5823
6176
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
5824
6177
  /**
5825
6178
  * Disallow invalid options in `fetch()` and `new Request()`.
5826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-fetch-options.md
6179
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
5827
6180
  */
5828
6181
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
5829
6182
  /**
5830
6183
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
5831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-remove-event-listener.md
6184
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
5832
6185
  */
5833
6186
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
5834
6187
  /**
5835
6188
  * Disallow identifiers starting with `new` or `class`.
5836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-keyword-prefix.md
6189
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
5837
6190
  */
5838
6191
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
5839
6192
  /**
5840
6193
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
5841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6194
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
5842
6195
  * @deprecated
5843
6196
  */
5844
6197
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
5845
6198
  /**
5846
6199
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
5847
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-lonely-if.md
6200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
5848
6201
  */
5849
6202
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
5850
6203
  /**
5851
6204
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
5852
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-magic-array-flat-depth.md
6205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
5853
6206
  */
5854
6207
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
5855
6208
  /**
5856
6209
  * Disallow named usage of default import and export.
5857
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-named-default.md
6210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
5858
6211
  */
5859
6212
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
5860
6213
  /**
5861
6214
  * Disallow negated conditions.
5862
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negated-condition.md
6215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
5863
6216
  */
5864
6217
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
5865
6218
  /**
5866
6219
  * Disallow negated expression in equality check.
5867
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negation-in-equality-check.md
6220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
5868
6221
  */
5869
6222
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
5870
6223
  /**
5871
6224
  * Disallow nested ternary expressions.
5872
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-nested-ternary.md
6225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
5873
6226
  */
5874
6227
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
5875
6228
  /**
5876
6229
  * Disallow `new Array()`.
5877
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-array.md
6230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
5878
6231
  */
5879
6232
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
5880
6233
  /**
5881
6234
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
5882
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-buffer.md
6235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
5883
6236
  */
5884
6237
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
5885
6238
  /**
5886
6239
  * Disallow the use of the `null` literal.
5887
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-null.md
6240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
5888
6241
  */
5889
6242
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
5890
6243
  /**
5891
6244
  * Disallow the use of objects as default parameters.
5892
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-object-as-default-parameter.md
6245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
5893
6246
  */
5894
6247
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
5895
6248
  /**
5896
6249
  * Disallow `process.exit()`.
5897
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-process-exit.md
6250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
5898
6251
  */
5899
6252
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
5900
6253
  /**
5901
6254
  * Disallow passing single-element arrays to `Promise` methods.
5902
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-single-promise-in-promise-methods.md
6255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
5903
6256
  */
5904
6257
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
5905
6258
  /**
5906
6259
  * Disallow classes that only have static members.
5907
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-static-only-class.md
6260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
5908
6261
  */
5909
6262
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
5910
6263
  /**
5911
6264
  * Disallow `then` property.
5912
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-thenable.md
6265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
5913
6266
  */
5914
6267
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
5915
6268
  /**
5916
6269
  * Disallow assigning `this` to a variable.
5917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-this-assignment.md
6270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
5918
6271
  */
5919
6272
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
5920
6273
  /**
5921
6274
  * Disallow comparing `undefined` using `typeof`.
5922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-typeof-undefined.md
6275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
5923
6276
  */
5924
6277
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
5925
6278
  /**
5926
6279
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
5927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
5928
6281
  */
5929
6282
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
5930
6283
  /**
5931
6284
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
5932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-splice-count.md
6285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
5933
6286
  */
5934
6287
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
5935
6288
  /**
5936
6289
  * Disallow awaiting non-promise values.
5937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-await.md
6290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
5938
6291
  */
5939
6292
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
5940
6293
  /**
5941
6294
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5942
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-polyfills.md
6295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
5943
6296
  */
5944
6297
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
5945
6298
  /**
5946
6299
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
5947
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-slice-end.md
6300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
5948
6301
  */
5949
6302
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
5950
6303
  /**
5951
6304
  * Disallow unreadable array destructuring.
5952
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-array-destructuring.md
6305
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
5953
6306
  */
5954
6307
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
5955
6308
  /**
5956
6309
  * Disallow unreadable IIFEs.
5957
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-iife.md
6310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
5958
6311
  */
5959
6312
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
5960
6313
  /**
5961
6314
  * Disallow unused object properties.
5962
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unused-properties.md
6315
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
5963
6316
  */
5964
6317
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
5965
6318
  /**
5966
6319
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
5967
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-collection-argument.md
6320
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
5968
6321
  */
5969
6322
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>
5970
6323
  /**
5971
6324
  * Disallow unnecessary `Error.captureStackTrace(…)`.
5972
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6325
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
5973
6326
  */
5974
6327
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
5975
6328
  /**
5976
6329
  * Disallow useless fallback when spreading in object literals.
5977
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-fallback-in-spread.md
6330
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
5978
6331
  */
5979
6332
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
6333
+ /**
6334
+ * Disallow unnecessary `.toArray()` on iterators.
6335
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
6336
+ */
6337
+ 'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>
5980
6338
  /**
5981
6339
  * Disallow useless array length check.
5982
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-length-check.md
6340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
5983
6341
  */
5984
6342
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
5985
6343
  /**
5986
6344
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5987
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-promise-resolve-reject.md
6345
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
5988
6346
  */
5989
6347
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
5990
6348
  /**
5991
6349
  * Disallow unnecessary spread.
5992
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-spread.md
6350
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
5993
6351
  */
5994
6352
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
5995
6353
  /**
5996
6354
  * Disallow useless case in switch statements.
5997
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-switch-case.md
6355
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
5998
6356
  */
5999
6357
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
6000
6358
  /**
6001
6359
  * Disallow useless `undefined`.
6002
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-undefined.md
6360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
6003
6361
  */
6004
6362
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
6005
6363
  /**
6006
6364
  * Disallow number literals with zero fractions or dangling dots.
6007
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-zero-fractions.md
6365
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
6008
6366
  */
6009
6367
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
6010
6368
  /**
6011
6369
  * Enforce proper case for numeric literals.
6012
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/number-literal-case.md
6370
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
6013
6371
  */
6014
6372
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
6015
6373
  /**
6016
6374
  * Enforce the style of numeric separators by correctly grouping digits.
6017
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/numeric-separators-style.md
6375
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
6018
6376
  */
6019
6377
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
6020
6378
  /**
6021
6379
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6022
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-add-event-listener.md
6380
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
6023
6381
  */
6024
6382
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
6025
6383
  /**
6026
6384
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6027
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-find.md
6385
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
6028
6386
  */
6029
6387
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
6030
6388
  /**
6031
6389
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6032
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat.md
6390
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
6033
6391
  */
6034
6392
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
6035
6393
  /**
6036
6394
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6037
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat-map.md
6395
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
6038
6396
  */
6039
6397
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
6040
6398
  /**
6041
6399
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6042
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-index-of.md
6400
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
6043
6401
  */
6044
6402
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
6045
6403
  /**
6046
6404
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6047
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-some.md
6405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
6048
6406
  */
6049
6407
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
6050
6408
  /**
6051
6409
  * Prefer `.at()` method for index access and `String#charAt()`.
6052
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-at.md
6410
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
6053
6411
  */
6054
6412
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
6055
6413
  /**
6056
6414
  * Prefer `BigInt` literals over the constructor.
6057
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-bigint-literals.md
6415
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
6058
6416
  */
6059
6417
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>
6060
6418
  /**
6061
6419
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6062
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-blob-reading-methods.md
6420
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
6063
6421
  */
6064
6422
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
6065
6423
  /**
6066
6424
  * Prefer class field declarations over `this` assignments in constructors.
6067
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-class-fields.md
6425
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
6068
6426
  */
6069
6427
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
6070
6428
  /**
6071
6429
  * Prefer using `Element#classList.toggle()` to toggle class names.
6072
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-classlist-toggle.md
6430
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
6073
6431
  */
6074
6432
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>
6075
6433
  /**
6076
6434
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
6077
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-code-point.md
6435
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
6078
6436
  */
6079
6437
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
6080
6438
  /**
6081
6439
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
6082
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-date-now.md
6440
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
6083
6441
  */
6084
6442
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
6085
6443
  /**
6086
6444
  * Prefer default parameters over reassignment.
6087
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-default-parameters.md
6445
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
6088
6446
  */
6089
6447
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
6090
6448
  /**
6091
6449
  * Prefer `Node#append()` over `Node#appendChild()`.
6092
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-append.md
6450
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
6093
6451
  */
6094
6452
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
6095
6453
  /**
6096
6454
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
6097
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-dataset.md
6455
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
6098
6456
  */
6099
6457
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
6100
6458
  /**
6101
6459
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
6102
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-remove.md
6460
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
6103
6461
  */
6104
6462
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
6105
6463
  /**
6106
6464
  * Prefer `.textContent` over `.innerText`.
6107
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-text-content.md
6465
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
6108
6466
  */
6109
6467
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
6110
6468
  /**
6111
6469
  * Prefer `EventTarget` over `EventEmitter`.
6112
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-event-target.md
6470
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
6113
6471
  */
6114
6472
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
6115
6473
  /**
6116
6474
  * Prefer `export…from` when re-exporting.
6117
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-export-from.md
6475
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
6118
6476
  */
6119
6477
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
6120
6478
  /**
6121
6479
  * Prefer `globalThis` over `window`, `self`, and `global`.
6122
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-global-this.md
6480
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
6123
6481
  */
6124
6482
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
6125
6483
  /**
6126
6484
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
6127
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-import-meta-properties.md
6485
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
6128
6486
  */
6129
6487
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
6130
6488
  /**
6131
6489
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
6132
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-includes.md
6490
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
6133
6491
  */
6134
6492
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
6135
6493
  /**
6136
6494
  * Prefer reading a JSON file as a buffer.
6137
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-json-parse-buffer.md
6495
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
6138
6496
  */
6139
6497
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
6140
6498
  /**
6141
6499
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
6142
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-keyboard-event-key.md
6500
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
6143
6501
  */
6144
6502
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
6145
6503
  /**
6146
6504
  * Prefer using a logical operator over a ternary.
6147
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6505
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
6148
6506
  */
6149
6507
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
6150
6508
  /**
6151
6509
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
6152
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-min-max.md
6510
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
6153
6511
  */
6154
6512
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
6155
6513
  /**
6156
6514
  * Enforce the use of `Math.trunc` instead of bitwise operators.
6157
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-trunc.md
6515
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
6158
6516
  */
6159
6517
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
6160
6518
  /**
6161
6519
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
6162
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-dom-apis.md
6520
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
6163
6521
  */
6164
6522
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
6165
6523
  /**
6166
6524
  * Prefer modern `Math` APIs over legacy patterns.
6167
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-math-apis.md
6525
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
6168
6526
  */
6169
6527
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
6170
6528
  /**
6171
6529
  * Prefer JavaScript modules (ESM) over CommonJS.
6172
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-module.md
6530
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
6173
6531
  */
6174
6532
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
6175
6533
  /**
6176
6534
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
6177
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-native-coercion-functions.md
6535
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
6178
6536
  */
6179
6537
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
6180
6538
  /**
6181
6539
  * Prefer negative index over `.length - index` when possible.
6182
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-negative-index.md
6540
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
6183
6541
  */
6184
6542
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
6185
6543
  /**
6186
6544
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
6187
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-node-protocol.md
6545
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
6188
6546
  */
6189
6547
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
6190
6548
  /**
6191
6549
  * Prefer `Number` static properties over global ones.
6192
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-number-properties.md
6550
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
6193
6551
  */
6194
6552
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
6195
6553
  /**
6196
6554
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
6197
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-object-from-entries.md
6555
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
6198
6556
  */
6199
6557
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
6200
6558
  /**
6201
6559
  * Prefer omitting the `catch` binding parameter.
6202
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-optional-catch-binding.md
6560
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
6203
6561
  */
6204
6562
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
6205
6563
  /**
6206
6564
  * Prefer borrowing methods from the prototype instead of the instance.
6207
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-prototype-methods.md
6565
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
6208
6566
  */
6209
6567
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
6210
6568
  /**
6211
6569
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
6212
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-query-selector.md
6570
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
6213
6571
  */
6214
6572
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
6215
6573
  /**
6216
6574
  * Prefer `Reflect.apply()` over `Function#apply()`.
6217
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-reflect-apply.md
6575
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
6218
6576
  */
6219
6577
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
6220
6578
  /**
6221
6579
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
6222
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-regexp-test.md
6580
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
6223
6581
  */
6224
6582
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
6225
6583
  /**
6226
6584
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
6227
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-response-static-json.md
6585
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
6228
6586
  */
6229
6587
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>
6230
6588
  /**
6231
6589
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
6232
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-has.md
6590
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
6233
6591
  */
6234
6592
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
6235
6593
  /**
6236
6594
  * Prefer using `Set#size` instead of `Array#length`.
6237
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-size.md
6595
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
6238
6596
  */
6239
6597
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
6598
+ /**
6599
+ * Prefer simple conditions first in logical expressions.
6600
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
6601
+ */
6602
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>
6240
6603
  /**
6241
6604
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
6242
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-single-call.md
6605
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
6243
6606
  */
6244
6607
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
6245
6608
  /**
6246
6609
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
6247
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-spread.md
6610
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
6248
6611
  */
6249
6612
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
6250
6613
  /**
6251
6614
  * Prefer using the `String.raw` tag to avoid escaping `\`.
6252
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-raw.md
6615
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
6253
6616
  */
6254
6617
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
6255
6618
  /**
6256
6619
  * Prefer `String#replaceAll()` over regex searches with the global flag.
6257
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-replace-all.md
6620
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
6258
6621
  */
6259
6622
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
6260
6623
  /**
6261
6624
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
6262
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-slice.md
6625
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
6263
6626
  */
6264
6627
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
6265
6628
  /**
6266
6629
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
6267
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-starts-ends-with.md
6630
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
6268
6631
  */
6269
6632
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
6270
6633
  /**
6271
6634
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
6272
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-trim-start-end.md
6635
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
6273
6636
  */
6274
6637
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
6275
6638
  /**
6276
6639
  * Prefer using `structuredClone` to create a deep clone.
6277
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-structured-clone.md
6640
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
6278
6641
  */
6279
6642
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
6280
6643
  /**
6281
6644
  * Prefer `switch` over multiple `else-if`.
6282
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-switch.md
6645
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
6283
6646
  */
6284
6647
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
6285
6648
  /**
6286
6649
  * Prefer ternary expressions over simple `if-else` statements.
6287
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-ternary.md
6650
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
6288
6651
  */
6289
6652
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
6290
6653
  /**
6291
6654
  * Prefer top-level await over top-level promises and async function calls.
6292
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-top-level-await.md
6655
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
6293
6656
  */
6294
6657
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
6295
6658
  /**
6296
6659
  * Enforce throwing `TypeError` in type checking conditions.
6297
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-type-error.md
6660
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
6298
6661
  */
6299
6662
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
6300
6663
  /**
6301
6664
  * Prevent abbreviations.
6302
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prevent-abbreviations.md
6665
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
6303
6666
  */
6304
6667
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
6305
6668
  /**
6306
6669
  * Enforce consistent relative URL style.
6307
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/relative-url-style.md
6670
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
6308
6671
  */
6309
6672
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
6310
6673
  /**
6311
6674
  * Enforce using the separator argument with `Array#join()`.
6312
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-array-join-separator.md
6675
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
6313
6676
  */
6314
6677
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
6315
6678
  /**
6316
6679
  * Require non-empty module attributes for imports and exports
6317
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-attributes.md
6680
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
6318
6681
  */
6319
6682
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>
6320
6683
  /**
6321
6684
  * Require non-empty specifier list in import and export statements.
6322
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-specifiers.md
6685
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
6323
6686
  */
6324
6687
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
6325
6688
  /**
6326
6689
  * Enforce using the digits argument with `Number#toFixed()`.
6327
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6690
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
6328
6691
  */
6329
6692
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
6330
6693
  /**
6331
6694
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
6332
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-post-message-target-origin.md
6695
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
6333
6696
  */
6334
6697
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
6335
6698
  /**
6336
6699
  * Enforce better string content.
6337
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/string-content.md
6700
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
6338
6701
  */
6339
6702
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
6340
6703
  /**
6341
6704
  * Enforce consistent brace style for `case` clauses.
6342
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/switch-case-braces.md
6705
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
6343
6706
  */
6344
6707
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
6708
+ /**
6709
+ * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
6710
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
6711
+ */
6712
+ 'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>
6345
6713
  /**
6346
6714
  * Fix whitespace-insensitive template indentation.
6347
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/template-indent.md
6715
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
6348
6716
  */
6349
6717
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
6350
6718
  /**
6351
6719
  * Enforce consistent case for text encoding identifiers.
6352
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/text-encoding-identifier-case.md
6720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
6353
6721
  */
6354
6722
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>
6355
6723
  /**
6356
6724
  * Require `new` when creating an error.
6357
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/throw-new-error.md
6725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
6358
6726
  */
6359
6727
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
6360
6728
  /**
@@ -6891,7 +7259,7 @@ interface RuleOptions {
6891
7259
  * disallow object, array, and function literals in template
6892
7260
  * @see https://eslint.vuejs.org/rules/no-literals-in-template.html
6893
7261
  */
6894
- 'vue/no-literals-in-template'?: Linter.RuleEntry<[]>
7262
+ 'vue/no-literals-in-template'?: Linter.RuleEntry<VueNoLiteralsInTemplate>
6895
7263
  /**
6896
7264
  * disallow unnecessary `<template>`
6897
7265
  * @see https://eslint.vuejs.org/rules/no-lone-template.html
@@ -7284,6 +7652,11 @@ interface RuleOptions {
7284
7652
  * @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
7285
7653
  */
7286
7654
  'vue/prefer-separate-static-class'?: Linter.RuleEntry<[]>
7655
+ /**
7656
+ * enforce passing a single argument to custom event emissions
7657
+ * @see https://eslint.vuejs.org/rules/prefer-single-event-payload.html
7658
+ */
7659
+ 'vue/prefer-single-event-payload'?: Linter.RuleEntry<[]>
7287
7660
  /**
7288
7661
  * Require template literals instead of string concatenation in `<template>`
7289
7662
  * @see https://eslint.vuejs.org/rules/prefer-template.html
@@ -7299,6 +7672,11 @@ interface RuleOptions {
7299
7672
  * @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
7300
7673
  */
7301
7674
  'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>
7675
+ /**
7676
+ * enforce using `v-model` instead of `:prop`/`@update:prop` pair
7677
+ * @see https://eslint.vuejs.org/rules/prefer-v-model.html
7678
+ */
7679
+ 'vue/prefer-v-model'?: Linter.RuleEntry<[]>
7302
7680
  /**
7303
7681
  * enforce specific casing for the Prop name in Vue components
7304
7682
  * @see https://eslint.vuejs.org/rules/prop-name-casing.html
@@ -7816,58 +8194,59 @@ type EslintCommunityEslintCommentsNoUse = []|[{
7816
8194
  type EslintCommunityEslintCommentsRequireDescription = []|[{
7817
8195
  ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
7818
8196
  }]
7819
- // ----- @eslint-react/dom/no-unknown-property -----
8197
+ // ----- @eslint-react/dom-no-unknown-property -----
7820
8198
  type EslintReactDomNoUnknownProperty = []|[{
7821
8199
  ignore?: string[]
7822
8200
  requireDataLowercase?: boolean
7823
8201
  }]
7824
- // ----- @eslint-react/jsx-shorthand-boolean -----
7825
- type EslintReactJsxShorthandBoolean = []|[(-1 | 1)]
7826
- // ----- @eslint-react/jsx-shorthand-fragment -----
7827
- type EslintReactJsxShorthandFragment = []|[(-1 | 1)]
7828
- // ----- @eslint-react/naming-convention/component-name -----
7829
- type EslintReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
7830
- allowAllCaps?: boolean
7831
- excepts?: string[]
7832
- rule?: ("PascalCase" | "CONSTANT_CASE")
7833
- })]
7834
- // ----- @eslint-react/naming-convention/filename -----
7835
- type EslintReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
7836
- excepts?: string[]
7837
- extensions?: string[]
7838
- rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case")
7839
- })]
7840
- // ----- @eslint-react/naming-convention/filename-extension -----
7841
- type EslintReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
7842
- allow?: ("always" | "as-needed")
7843
- extensions?: string[]
7844
- ignoreFilesWithoutCode?: boolean
7845
- })]
7846
- // ----- @eslint-react/naming-convention/use-state -----
7847
- type EslintReactNamingConventionUseState = []|[{
7848
- enforceAssignment?: boolean
7849
- enforceSetterName?: boolean
8202
+ // ----- @eslint-react/exhaustive-deps -----
8203
+ type EslintReactExhaustiveDeps = []|[{
8204
+ additionalHooks?: string
8205
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
8206
+ experimental_autoDependenciesHooks?: string[]
8207
+ requireExplicitEffectDeps?: boolean
7850
8208
  }]
7851
- // ----- @eslint-react/no-forbidden-props -----
7852
- type EslintReactNoForbiddenProps = []|[{
7853
- forbid?: (string | {
7854
- excludedNodes?: string[]
7855
- prop: string
7856
- } | {
7857
- includedNodes?: string[]
7858
- prop: string
7859
- })[]
8209
+ // ----- @eslint-react/jsx-no-useless-fragment -----
8210
+ type EslintReactJsxNoUselessFragment = []|[{
8211
+
8212
+ allowEmptyFragment?: boolean
8213
+
8214
+ allowExpressions?: boolean
7860
8215
  }]
7861
8216
  // ----- @eslint-react/no-unstable-default-props -----
7862
8217
  type EslintReactNoUnstableDefaultProps = []|[{
7863
8218
  safeDefaultProps?: string[]
7864
8219
  }]
7865
- // ----- @eslint-react/no-useless-fragment -----
7866
- type EslintReactNoUselessFragment = []|[{
7867
-
7868
- allowEmptyFragment?: boolean
7869
-
7870
- allowExpressions?: boolean
8220
+ // ----- @eslint-react/rules-of-hooks -----
8221
+ type EslintReactRulesOfHooks = []|[{
8222
+ additionalHooks?: string
8223
+ }]
8224
+ // ----- @eslint-react/use-state -----
8225
+ type EslintReactUseState = []|[{
8226
+ enforceAssignment?: boolean
8227
+ enforceLazyInitialization?: boolean
8228
+ enforceSetterName?: boolean
8229
+ }]
8230
+ // ----- @eslint-react/x-exhaustive-deps -----
8231
+ type EslintReactXExhaustiveDeps = []|[{
8232
+ additionalHooks?: string
8233
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
8234
+ experimental_autoDependenciesHooks?: string[]
8235
+ requireExplicitEffectDeps?: boolean
8236
+ }]
8237
+ // ----- @eslint-react/x-no-unstable-default-props -----
8238
+ type EslintReactXNoUnstableDefaultProps = []|[{
8239
+ safeDefaultProps?: string[]
8240
+ }]
8241
+ // ----- @eslint-react/x-rules-of-hooks -----
8242
+ type EslintReactXRulesOfHooks = []|[{
8243
+ additionalHooks?: string
8244
+ }]
8245
+ // ----- @eslint-react/x-use-state -----
8246
+ type EslintReactXUseState = []|[{
8247
+ enforceAssignment?: boolean
8248
+ enforceLazyInitialization?: boolean
8249
+ enforceSetterName?: boolean
7871
8250
  }]
7872
8251
  // ----- @typescript-eslint/array-type -----
7873
8252
  type TypescriptEslintArrayType = []|[{
@@ -8886,6 +9265,19 @@ type TypescriptEslintPreferOptionalChain = []|[{
8886
9265
  // ----- @typescript-eslint/prefer-promise-reject-errors -----
8887
9266
  type TypescriptEslintPreferPromiseRejectErrors = []|[{
8888
9267
 
9268
+ allow?: (string | {
9269
+ from: "file"
9270
+ name: (string | [string, ...(string)[]])
9271
+ path?: string
9272
+ } | {
9273
+ from: "lib"
9274
+ name: (string | [string, ...(string)[]])
9275
+ } | {
9276
+ from: "package"
9277
+ name: (string | [string, ...(string)[]])
9278
+ package: string
9279
+ })[]
9280
+
8889
9281
  allowEmptyReject?: boolean
8890
9282
 
8891
9283
  allowThrowingAny?: boolean
@@ -11287,6 +11679,11 @@ type PackageJsonRequireAuthor = []|[{
11287
11679
 
11288
11680
  ignorePrivate?: boolean
11289
11681
  }]
11682
+ // ----- package-json/require-bin -----
11683
+ type PackageJsonRequireBin = []|[{
11684
+
11685
+ ignorePrivate?: boolean
11686
+ }]
11290
11687
  // ----- package-json/require-bugs -----
11291
11688
  type PackageJsonRequireBugs = []|[{
11292
11689
 
@@ -11297,6 +11694,16 @@ type PackageJsonRequireBundleDependencies = []|[{
11297
11694
 
11298
11695
  ignorePrivate?: boolean
11299
11696
  }]
11697
+ // ----- package-json/require-contributors -----
11698
+ type PackageJsonRequireContributors = []|[{
11699
+
11700
+ ignorePrivate?: boolean
11701
+ }]
11702
+ // ----- package-json/require-cpu -----
11703
+ type PackageJsonRequireCpu = []|[{
11704
+
11705
+ ignorePrivate?: boolean
11706
+ }]
11300
11707
  // ----- package-json/require-dependencies -----
11301
11708
  type PackageJsonRequireDependencies = []|[{
11302
11709
 
@@ -11312,6 +11719,16 @@ type PackageJsonRequireDevDependencies = []|[{
11312
11719
 
11313
11720
  ignorePrivate?: boolean
11314
11721
  }]
11722
+ // ----- package-json/require-devEngines -----
11723
+ type PackageJsonRequireDevEngines = []|[{
11724
+
11725
+ ignorePrivate?: boolean
11726
+ }]
11727
+ // ----- package-json/require-directories -----
11728
+ type PackageJsonRequireDirectories = []|[{
11729
+
11730
+ ignorePrivate?: boolean
11731
+ }]
11315
11732
  // ----- package-json/require-engines -----
11316
11733
  type PackageJsonRequireEngines = []|[{
11317
11734
 
@@ -11327,6 +11744,11 @@ type PackageJsonRequireFiles = []|[{
11327
11744
 
11328
11745
  ignorePrivate?: boolean
11329
11746
  }]
11747
+ // ----- package-json/require-funding -----
11748
+ type PackageJsonRequireFunding = []|[{
11749
+
11750
+ ignorePrivate?: boolean
11751
+ }]
11330
11752
  // ----- package-json/require-homepage -----
11331
11753
  type PackageJsonRequireHomepage = []|[{
11332
11754
 
@@ -11347,6 +11769,16 @@ type PackageJsonRequireMain = []|[{
11347
11769
 
11348
11770
  ignorePrivate?: boolean
11349
11771
  }]
11772
+ // ----- package-json/require-man -----
11773
+ type PackageJsonRequireMan = []|[{
11774
+
11775
+ ignorePrivate?: boolean
11776
+ }]
11777
+ // ----- package-json/require-module -----
11778
+ type PackageJsonRequireModule = []|[{
11779
+
11780
+ ignorePrivate?: boolean
11781
+ }]
11350
11782
  // ----- package-json/require-name -----
11351
11783
  type PackageJsonRequireName = []|[{
11352
11784
 
@@ -11531,18 +11963,10 @@ type Radix = []|[("always" | "as-needed")]
11531
11963
  type ReactCompilerReactCompiler = []|[{
11532
11964
  [k: string]: unknown | undefined
11533
11965
  }]
11534
- // ----- react-hooks/automatic-effect-dependencies -----
11535
- type ReactHooksAutomaticEffectDependencies = []|[{
11536
- [k: string]: unknown | undefined
11537
- }]
11538
11966
  // ----- react-hooks/capitalized-calls -----
11539
11967
  type ReactHooksCapitalizedCalls = []|[{
11540
11968
  [k: string]: unknown | undefined
11541
11969
  }]
11542
- // ----- react-hooks/component-hook-factories -----
11543
- type ReactHooksComponentHookFactories = []|[{
11544
- [k: string]: unknown | undefined
11545
- }]
11546
11970
  // ----- react-hooks/config -----
11547
11971
  type ReactHooksConfig = []|[{
11548
11972
  [k: string]: unknown | undefined
@@ -11558,12 +11982,12 @@ type ReactHooksExhaustiveDeps = []|[{
11558
11982
  experimental_autoDependenciesHooks?: string[]
11559
11983
  requireExplicitEffectDeps?: boolean
11560
11984
  }]
11561
- // ----- react-hooks/fbt -----
11562
- type ReactHooksFbt = []|[{
11985
+ // ----- react-hooks/exhaustive-effect-dependencies -----
11986
+ type ReactHooksExhaustiveEffectDependencies = []|[{
11563
11987
  [k: string]: unknown | undefined
11564
11988
  }]
11565
- // ----- react-hooks/fire -----
11566
- type ReactHooksFire = []|[{
11989
+ // ----- react-hooks/fbt -----
11990
+ type ReactHooksFbt = []|[{
11567
11991
  [k: string]: unknown | undefined
11568
11992
  }]
11569
11993
  // ----- react-hooks/gating -----
@@ -11590,6 +12014,10 @@ type ReactHooksIncompatibleLibrary = []|[{
11590
12014
  type ReactHooksInvariant = []|[{
11591
12015
  [k: string]: unknown | undefined
11592
12016
  }]
12017
+ // ----- react-hooks/memo-dependencies -----
12018
+ type ReactHooksMemoDependencies = []|[{
12019
+ [k: string]: unknown | undefined
12020
+ }]
11593
12021
  // ----- react-hooks/memoized-effect-dependencies -----
11594
12022
  type ReactHooksMemoizedEffectDependencies = []|[{
11595
12023
  [k: string]: unknown | undefined
@@ -14624,25 +15052,36 @@ type TomlTableBracketSpacing = []|[("always" | "never")]
14624
15052
  type UnicodeBom = []|[("always" | "never")]
14625
15053
  // ----- unicorn/better-regex -----
14626
15054
  type UnicornBetterRegex = []|[{
15055
+
14627
15056
  sortCharacterClasses?: boolean
14628
15057
  }]
14629
15058
  // ----- unicorn/catch-error-name -----
14630
15059
  type UnicornCatchErrorName = []|[{
15060
+
14631
15061
  name?: string
15062
+
14632
15063
  ignore?: unknown[]
14633
15064
  }]
14634
15065
  // ----- unicorn/consistent-function-scoping -----
14635
15066
  type UnicornConsistentFunctionScoping = []|[{
15067
+
14636
15068
  checkArrowFunctions?: boolean
14637
15069
  }]
14638
15070
  // ----- unicorn/escape-case -----
14639
15071
  type UnicornEscapeCase = []|[("uppercase" | "lowercase")]
14640
15072
  // ----- unicorn/expiring-todo-comments -----
14641
15073
  type UnicornExpiringTodoComments = []|[{
15074
+
14642
15075
  terms?: string[]
15076
+
14643
15077
  ignore?: unknown[]
15078
+
15079
+ ignoreDates?: boolean
15080
+
14644
15081
  ignoreDatesOnPullRequests?: boolean
15082
+
14645
15083
  allowWarningComments?: boolean
15084
+
14646
15085
  date?: string
14647
15086
  }]
14648
15087
  // ----- unicorn/explicit-length-check -----
@@ -14651,25 +15090,40 @@ type UnicornExplicitLengthCheck = []|[{
14651
15090
  }]
14652
15091
  // ----- unicorn/filename-case -----
14653
15092
  type UnicornFilenameCase = []|[({
15093
+
14654
15094
  case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase")
15095
+
14655
15096
  ignore?: unknown[]
15097
+
14656
15098
  multipleFileExtensions?: boolean
14657
15099
  } | {
15100
+
14658
15101
  cases?: {
15102
+
14659
15103
  camelCase?: boolean
15104
+
14660
15105
  snakeCase?: boolean
15106
+
14661
15107
  kebabCase?: boolean
15108
+
14662
15109
  pascalCase?: boolean
14663
15110
  }
15111
+
14664
15112
  ignore?: unknown[]
15113
+
14665
15114
  multipleFileExtensions?: boolean
14666
15115
  })]
14667
15116
  // ----- unicorn/import-style -----
14668
15117
  type UnicornImportStyle = []|[{
15118
+
14669
15119
  checkImport?: boolean
15120
+
14670
15121
  checkDynamicImport?: boolean
15122
+
14671
15123
  checkExportFrom?: boolean
15124
+
14672
15125
  checkRequire?: boolean
15126
+
14673
15127
  extendDefaultStyles?: boolean
14674
15128
  styles?: _UnicornImportStyle_ModuleStyles
14675
15129
  }]
@@ -14682,15 +15136,20 @@ interface _UnicornImportStyle_BooleanObject {
14682
15136
  }
14683
15137
  // ----- unicorn/isolated-functions -----
14684
15138
  type UnicornIsolatedFunctions = []|[{
15139
+
14685
15140
  overrideGlobals?: {
14686
15141
  [k: string]: (boolean | ("readonly" | "writable" | "writeable" | "off")) | undefined
14687
15142
  }
15143
+
14688
15144
  functions?: string[]
15145
+
14689
15146
  selectors?: string[]
15147
+
14690
15148
  comments?: string[]
14691
15149
  }]
14692
15150
  // ----- unicorn/no-array-reduce -----
14693
15151
  type UnicornNoArrayReduce = []|[{
15152
+
14694
15153
  allowSimpleOperations?: boolean
14695
15154
  }]
14696
15155
  // ----- unicorn/no-array-reverse -----
@@ -14712,26 +15171,33 @@ type UnicornNoInstanceofBuiltins = []|[{
14712
15171
  type UnicornNoKeywordPrefix = []|[{
14713
15172
 
14714
15173
  disallowedPrefixes?: []|[string]
15174
+
14715
15175
  checkProperties?: boolean
15176
+
14716
15177
  onlyCamelCase?: boolean
14717
15178
  }]
14718
15179
  // ----- unicorn/no-null -----
14719
15180
  type UnicornNoNull = []|[{
15181
+
14720
15182
  checkStrictEquality?: boolean
14721
15183
  }]
14722
15184
  // ----- unicorn/no-typeof-undefined -----
14723
15185
  type UnicornNoTypeofUndefined = []|[{
15186
+
14724
15187
  checkGlobalVariables?: boolean
14725
15188
  }]
14726
15189
  // ----- unicorn/no-unnecessary-polyfills -----
14727
15190
  type UnicornNoUnnecessaryPolyfills = []|[{
15191
+
14728
15192
  targets: (string | unknown[] | {
14729
15193
  [k: string]: unknown | undefined
14730
15194
  })
14731
15195
  }]
14732
15196
  // ----- unicorn/no-useless-undefined -----
14733
15197
  type UnicornNoUselessUndefined = []|[{
15198
+
14734
15199
  checkArguments?: boolean
15200
+
14735
15201
  checkArrowFunctionBody?: boolean
14736
15202
  }]
14737
15203
  // ----- unicorn/number-literal-case -----
@@ -14741,84 +15207,119 @@ type UnicornNumberLiteralCase = []|[{
14741
15207
  // ----- unicorn/numeric-separators-style -----
14742
15208
  type UnicornNumericSeparatorsStyle = []|[{
14743
15209
  binary?: {
15210
+
14744
15211
  onlyIfContainsSeparator?: boolean
15212
+
14745
15213
  minimumDigits?: number
15214
+
14746
15215
  groupLength?: number
14747
15216
  }
14748
15217
  octal?: {
15218
+
14749
15219
  onlyIfContainsSeparator?: boolean
15220
+
14750
15221
  minimumDigits?: number
15222
+
14751
15223
  groupLength?: number
14752
15224
  }
14753
15225
  hexadecimal?: {
15226
+
14754
15227
  onlyIfContainsSeparator?: boolean
15228
+
14755
15229
  minimumDigits?: number
15230
+
14756
15231
  groupLength?: number
14757
15232
  }
14758
15233
  number?: {
15234
+
14759
15235
  onlyIfContainsSeparator?: boolean
15236
+
14760
15237
  minimumDigits?: number
15238
+
14761
15239
  groupLength?: number
14762
15240
  }
15241
+
14763
15242
  onlyIfContainsSeparator?: boolean
14764
15243
  }]
14765
15244
  // ----- unicorn/prefer-add-event-listener -----
14766
15245
  type UnicornPreferAddEventListener = []|[{
15246
+
14767
15247
  excludedPackages?: string[]
14768
15248
  }]
14769
15249
  // ----- unicorn/prefer-array-find -----
14770
15250
  type UnicornPreferArrayFind = []|[{
15251
+
14771
15252
  checkFromLast?: boolean
14772
15253
  }]
14773
15254
  // ----- unicorn/prefer-array-flat -----
14774
15255
  type UnicornPreferArrayFlat = []|[{
15256
+
14775
15257
  functions?: unknown[]
14776
15258
  }]
14777
15259
  // ----- unicorn/prefer-at -----
14778
15260
  type UnicornPreferAt = []|[{
15261
+
14779
15262
  getLastElementFunctions?: unknown[]
15263
+
14780
15264
  checkAllIndexAccess?: boolean
14781
15265
  }]
14782
15266
  // ----- unicorn/prefer-export-from -----
14783
15267
  type UnicornPreferExportFrom = []|[{
15268
+
14784
15269
  ignoreUsedVariables?: boolean
14785
15270
  }]
14786
15271
  // ----- unicorn/prefer-number-properties -----
14787
15272
  type UnicornPreferNumberProperties = []|[{
15273
+
14788
15274
  checkInfinity?: boolean
15275
+
14789
15276
  checkNaN?: boolean
14790
15277
  }]
14791
15278
  // ----- unicorn/prefer-object-from-entries -----
14792
15279
  type UnicornPreferObjectFromEntries = []|[{
15280
+
14793
15281
  functions?: unknown[]
14794
15282
  }]
14795
15283
  // ----- unicorn/prefer-single-call -----
14796
15284
  type UnicornPreferSingleCall = []|[{
15285
+
14797
15286
  ignore?: unknown[]
14798
15287
  }]
14799
15288
  // ----- unicorn/prefer-structured-clone -----
14800
15289
  type UnicornPreferStructuredClone = []|[{
15290
+
14801
15291
  functions?: unknown[]
14802
15292
  }]
14803
15293
  // ----- unicorn/prefer-switch -----
14804
15294
  type UnicornPreferSwitch = []|[{
15295
+
14805
15296
  minimumCases?: number
15297
+
14806
15298
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case")
14807
15299
  }]
14808
15300
  // ----- unicorn/prefer-ternary -----
14809
15301
  type UnicornPreferTernary = []|[("always" | "only-single-line")]
14810
15302
  // ----- unicorn/prevent-abbreviations -----
14811
15303
  type UnicornPreventAbbreviations = []|[{
15304
+
14812
15305
  checkProperties?: boolean
15306
+
14813
15307
  checkVariables?: boolean
15308
+
14814
15309
  checkDefaultAndNamespaceImports?: (boolean | string)
15310
+
14815
15311
  checkShorthandImports?: (boolean | string)
15312
+
14816
15313
  checkShorthandProperties?: boolean
15314
+
14817
15315
  checkFilenames?: boolean
15316
+
14818
15317
  extendDefaultReplacements?: boolean
14819
15318
  replacements?: _UnicornPreventAbbreviations_Abbreviations
15319
+
14820
15320
  extendDefaultAllowList?: boolean
14821
15321
  allowList?: _UnicornPreventAbbreviations_BooleanObject
15322
+
14822
15323
  ignore?: unknown[]
14823
15324
  }]
14824
15325
  type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined
@@ -14828,10 +15329,14 @@ interface _UnicornPreventAbbreviations_Abbreviations {
14828
15329
  interface _UnicornPreventAbbreviations_BooleanObject {
14829
15330
  [k: string]: boolean | undefined
14830
15331
  }
15332
+ interface _UnicornPreventAbbreviations_BooleanObject {
15333
+ [k: string]: boolean | undefined
15334
+ }
14831
15335
  // ----- unicorn/relative-url-style -----
14832
15336
  type UnicornRelativeUrlStyle = []|[("never" | "always")]
14833
15337
  // ----- unicorn/string-content -----
14834
15338
  type UnicornStringContent = []|[{
15339
+
14835
15340
  patterns?: {
14836
15341
  [k: string]: (string | {
14837
15342
  suggest: string
@@ -14844,14 +15349,20 @@ type UnicornStringContent = []|[{
14844
15349
  type UnicornSwitchCaseBraces = []|[("always" | "avoid")]
14845
15350
  // ----- unicorn/template-indent -----
14846
15351
  type UnicornTemplateIndent = []|[{
15352
+
14847
15353
  indent?: (string | number)
15354
+
14848
15355
  tags?: string[]
15356
+
14849
15357
  functions?: string[]
15358
+
14850
15359
  selectors?: string[]
15360
+
14851
15361
  comments?: string[]
14852
15362
  }]
14853
15363
  // ----- unicorn/text-encoding-identifier-case -----
14854
15364
  type UnicornTextEncodingIdentifierCase = []|[{
15365
+
14855
15366
  withDash?: boolean
14856
15367
  }]
14857
15368
  // ----- unused-imports/no-unused-imports -----
@@ -15700,6 +16211,10 @@ type VueNoIrregularWhitespace = []|[{
15700
16211
  skipHTMLAttributeValues?: boolean
15701
16212
  skipHTMLTextContents?: boolean
15702
16213
  }]
16214
+ // ----- vue/no-literals-in-template -----
16215
+ type VueNoLiteralsInTemplate = []|[{
16216
+ ignores?: string[]
16217
+ }]
15703
16218
  // ----- vue/no-lone-template -----
15704
16219
  type VueNoLoneTemplate = []|[{
15705
16220
  ignoreAccessible?: boolean
@@ -15887,7 +16402,7 @@ type VueNoUnusedComponents = []|[{
15887
16402
  }]
15888
16403
  // ----- vue/no-unused-properties -----
15889
16404
  type VueNoUnusedProperties = []|[{
15890
- groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup")[]
16405
+ groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup" | "inject")[]
15891
16406
  deepData?: boolean
15892
16407
  ignorePublicMembers?: boolean
15893
16408
  unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[]