@infernodesign/eslint-config 1.26.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ConfigWithExtends, FlatConfigComposer } from "eslint-flat-config-utils";
2
+ import { Linter } from "eslint";
2
3
  import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
3
4
  import { ParserOptions } from "@typescript-eslint/parser";
4
5
  import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
5
6
  import { Options } from "eslint-processor-vue-blocks";
6
- import { Linter } from "eslint";
7
7
 
8
8
  //#region src/typegen.d.ts
9
9
  interface RuleOptions {
@@ -322,6 +322,11 @@ interface RuleOptions {
322
322
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
323
323
  */
324
324
  'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
325
+ /**
326
+ * disallow `prerender` export outside of pages/ directory
327
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/
328
+ */
329
+ 'astro/no-prerender-export-outside-pages'?: Linter.RuleEntry<[]>;
325
330
  /**
326
331
  * disallow use of `set:html` to prevent XSS attack
327
332
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
@@ -1676,6 +1681,11 @@ interface RuleOptions {
1676
1681
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
1677
1682
  */
1678
1683
  'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>;
1684
+ /**
1685
+ * Require or disallow metadata for fenced code blocks
1686
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-meta.md
1687
+ */
1688
+ 'markdown/fenced-code-meta'?: Linter.RuleEntry<MarkdownFencedCodeMeta>;
1679
1689
  /**
1680
1690
  * Enforce heading levels increment by one
1681
1691
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
@@ -3054,6 +3064,11 @@ interface RuleOptions {
3054
3064
  * @see https://perfectionist.dev/rules/sort-array-includes
3055
3065
  */
3056
3066
  'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>;
3067
+ /**
3068
+ * Enforce sorted arrays.
3069
+ * @see https://perfectionist.dev/rules/sort-arrays
3070
+ */
3071
+ 'perfectionist/sort-arrays'?: Linter.RuleEntry<PerfectionistSortArrays>;
3057
3072
  /**
3058
3073
  * Enforce sorted classes.
3059
3074
  * @see https://perfectionist.dev/rules/sort-classes
@@ -3287,182 +3302,167 @@ interface RuleOptions {
3287
3302
  * @see https://eslint.org/docs/latest/rules/radix
3288
3303
  */
3289
3304
  'radix'?: Linter.RuleEntry<Radix>;
3305
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
3306
+ /**
3307
+ * Disallows higher order functions that define components or hooks inside them.
3308
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3309
+ */
3310
+ 'react/component-hook-factories'?: Linter.RuleEntry<[]>;
3290
3311
  /**
3291
3312
  * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3292
3313
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3293
3314
  */
3294
- 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3315
+ 'react/dom-no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3295
3316
  /**
3296
3317
  * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3297
3318
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3298
3319
  */
3299
- 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3320
+ 'react/dom-no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3300
3321
  /**
3301
3322
  * Disallows 'findDOMNode'.
3302
3323
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3303
3324
  */
3304
- 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>;
3325
+ 'react/dom-no-find-dom-node'?: Linter.RuleEntry<[]>;
3305
3326
  /**
3306
3327
  * Disallows 'flushSync'.
3307
3328
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3308
3329
  */
3309
- 'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>;
3330
+ 'react/dom-no-flush-sync'?: Linter.RuleEntry<[]>;
3310
3331
  /**
3311
3332
  * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3312
3333
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3313
3334
  */
3314
- 'react-dom/no-hydrate'?: Linter.RuleEntry<[]>;
3335
+ 'react/dom-no-hydrate'?: Linter.RuleEntry<[]>;
3315
3336
  /**
3316
3337
  * Enforces an explicit 'type' attribute for 'button' elements.
3317
3338
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3318
3339
  */
3319
- 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
3340
+ 'react/dom-no-missing-button-type'?: Linter.RuleEntry<[]>;
3320
3341
  /**
3321
3342
  * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3322
3343
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3323
3344
  */
3324
- 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3325
- /**
3326
- * Enforces the absence of a 'namespace' in React elements.
3327
- * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3328
- */
3329
- 'react-dom/no-namespace'?: Linter.RuleEntry<[]>;
3345
+ 'react/dom-no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3330
3346
  /**
3331
3347
  * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3332
3348
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
3333
3349
  */
3334
- 'react-dom/no-render'?: Linter.RuleEntry<[]>;
3350
+ 'react/dom-no-render'?: Linter.RuleEntry<[]>;
3335
3351
  /**
3336
3352
  * Disallows the return value of 'ReactDOM.render'.
3337
3353
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3338
3354
  */
3339
- 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>;
3355
+ 'react/dom-no-render-return-value'?: Linter.RuleEntry<[]>;
3340
3356
  /**
3341
3357
  * Disallows 'javascript:' URLs as attribute values.
3342
3358
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3343
3359
  */
3344
- 'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
3360
+ 'react/dom-no-script-url'?: Linter.RuleEntry<[]>;
3345
3361
  /**
3346
3362
  * Disallows the use of string style prop in JSX. Use an object instead.
3347
3363
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3348
3364
  */
3349
- 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
3365
+ 'react/dom-no-string-style-prop'?: Linter.RuleEntry<[]>;
3350
3366
  /**
3351
3367
  * Disallows unknown 'DOM' properties.
3352
3368
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3353
3369
  */
3354
- 'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3370
+ 'react/dom-no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3355
3371
  /**
3356
3372
  * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3357
3373
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3358
3374
  */
3359
- 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3375
+ 'react/dom-no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3360
3376
  /**
3361
3377
  * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3362
3378
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3363
3379
  */
3364
- 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3380
+ 'react/dom-no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3365
3381
  /**
3366
3382
  * Replaces usage of 'useFormState' with 'useActionState'.
3367
3383
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3368
3384
  */
3369
- 'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>;
3385
+ 'react/dom-no-use-form-state'?: Linter.RuleEntry<[]>;
3370
3386
  /**
3371
3387
  * Disallows 'children' in void DOM elements.
3372
3388
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3373
3389
  */
3374
- 'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3390
+ 'react/dom-no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3375
3391
  /**
3376
3392
  * Enforces importing React DOM via a namespace import.
3377
3393
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3378
3394
  */
3379
- 'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
3380
- /**
3381
- * Enforces the context name to be a valid component name with the suffix 'Context'.
3382
- * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3383
- */
3384
- 'react-naming-convention/context-name'?: Linter.RuleEntry<[]>;
3395
+ 'react/dom-prefer-namespace-import'?: Linter.RuleEntry<[]>;
3385
3396
  /**
3386
- * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3387
- * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3397
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3398
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
3388
3399
  */
3389
- 'react-naming-convention/id-name'?: Linter.RuleEntry<[]>;
3400
+ 'react/error-boundaries'?: Linter.RuleEntry<[]>;
3390
3401
  /**
3391
- * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3392
- * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3402
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3403
+ * @see https://github.com/facebook/react/issues/14920
3393
3404
  */
3394
- 'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>;
3395
- 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
3405
+ 'react/exhaustive-deps'?: Linter.RuleEntry<ReactExhaustiveDeps>;
3396
3406
  /**
3397
- * Validates and transforms React Client/Server Function definitions.
3398
- * @see https://eslint-react.xyz/docs/rules/function-definition
3407
+ * Validates against mutating props, state, and other values that are immutable.
3408
+ * @see https://eslint-react.xyz/docs/rules/immutability
3399
3409
  */
3400
- 'react-rsc/function-definition'?: Linter.RuleEntry<[]>;
3410
+ 'react/immutability'?: Linter.RuleEntry<[]>;
3401
3411
  /**
3402
- * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3403
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3412
+ * Disallows passing 'children' as a prop.
3413
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop
3404
3414
  */
3405
- 'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>;
3415
+ 'react/jsx-no-children-prop'?: Linter.RuleEntry<[]>;
3406
3416
  /**
3407
- * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3408
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3417
+ * Disallows passing 'children' as a prop when children are also passed as nested content.
3418
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop-with-children
3409
3419
  */
3410
- 'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>;
3420
+ 'react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>;
3411
3421
  /**
3412
- * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3413
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3422
+ * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
3423
+ * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
3414
3424
  */
3415
- 'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
3425
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3416
3426
  /**
3417
- * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3418
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3427
+ * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3428
+ * @see https://eslint-react.xyz/docs/rules/no-key-after-spread
3419
3429
  */
3420
- 'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
3430
+ 'react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>;
3421
3431
  /**
3422
- * Disallows higher order functions that define components or hooks inside them.
3423
- * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3432
+ * Catches `$` before `{expr}` in JSX typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
3433
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-dollar
3424
3434
  */
3425
- 'react/component-hook-factories'?: Linter.RuleEntry<[]>;
3435
+ 'react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>;
3426
3436
  /**
3427
- * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3428
- * @see https://eslint-react.xyz/docs/rules/error-boundaries
3437
+ * Catches `;` at the start of JSX text nodes typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
3438
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-semicolon
3429
3439
  */
3430
- 'react/error-boundaries'?: Linter.RuleEntry<[]>;
3440
+ 'react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>;
3431
3441
  /**
3432
- * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3433
- * @see https://github.com/facebook/react/issues/14920
3442
+ * Disallow JSX namespace syntax, as React does not support them.
3443
+ * @see https://eslint-react.xyz/docs/rules/no-namespace
3434
3444
  */
3435
- 'react/exhaustive-deps'?: Linter.RuleEntry<ReactExhaustiveDeps>;
3445
+ 'react/jsx-no-namespace'?: Linter.RuleEntry<[]>;
3436
3446
  /**
3437
- * Validates against mutating props, state, and other values that are immutable.
3438
- * @see https://eslint-react.xyz/docs/rules/immutability
3439
- */
3440
- 'react/immutability'?: Linter.RuleEntry<[]>;
3441
- /**
3442
- * Prevents unintentional '$' sign before expression.
3443
- * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3444
- */
3445
- 'react/jsx-dollar'?: Linter.RuleEntry<[]>;
3446
- /**
3447
- * Enforces 'key' prop placement before spread props.
3448
- * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3447
+ * Disallows useless fragment elements.
3448
+ * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3449
3449
  */
3450
- 'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
3450
+ 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>;
3451
3451
  /**
3452
- * Prevents comment strings (ex: beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
3453
- * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3452
+ * Enforces the context name to be a valid component name with the suffix 'Context'.
3453
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3454
3454
  */
3455
- 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3455
+ 'react/naming-convention-context-name'?: Linter.RuleEntry<[]>;
3456
3456
  /**
3457
- * Enforces shorthand syntax for boolean props.
3458
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3457
+ * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3458
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3459
3459
  */
3460
- 'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>;
3460
+ 'react/naming-convention-id-name'?: Linter.RuleEntry<[]>;
3461
3461
  /**
3462
- * Enforces shorthand syntax for fragment elements.
3463
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3462
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3463
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3464
3464
  */
3465
- 'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>;
3465
+ 'react/naming-convention-ref-name'?: Linter.RuleEntry<[]>;
3466
3466
  /**
3467
3467
  * Disallows accessing 'this.state' inside 'setState' calls.
3468
3468
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
@@ -3493,11 +3493,6 @@ interface RuleOptions {
3493
3493
  * @see https://eslint-react.xyz/docs/rules/no-children-only
3494
3494
  */
3495
3495
  'react/no-children-only'?: Linter.RuleEntry<[]>;
3496
- /**
3497
- * Disallows passing 'children' as a prop.
3498
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
3499
- */
3500
- 'react/no-children-prop'?: Linter.RuleEntry<[]>;
3501
3496
  /**
3502
3497
  * Disallows the use of 'Children.toArray' from the 'react' package.
3503
3498
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
@@ -3599,7 +3594,7 @@ interface RuleOptions {
3599
3594
  */
3600
3595
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3601
3596
  /**
3602
- * Disallows nesting lazy component declarations inside other components.
3597
+ * Disallows nesting lazy component declarations inside other components or hooks.
3603
3598
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3604
3599
  */
3605
3600
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
@@ -3683,11 +3678,6 @@ interface RuleOptions {
3683
3678
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3684
3679
  */
3685
3680
  'react/no-use-context'?: Linter.RuleEntry<[]>;
3686
- /**
3687
- * Disallows useless fragment elements.
3688
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3689
- */
3690
- 'react/no-useless-fragment'?: Linter.RuleEntry<ReactNoUselessFragment>;
3691
3681
  /**
3692
3682
  * Enforces destructuring assignment for component props and context.
3693
3683
  * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
@@ -3708,6 +3698,11 @@ interface RuleOptions {
3708
3698
  * @see https://eslint-react.xyz/docs/rules/refs
3709
3699
  */
3710
3700
  'react/refs'?: Linter.RuleEntry<[]>;
3701
+ /**
3702
+ * Validates and transforms React Client/Server Function definitions.
3703
+ * @see https://eslint-react.xyz/docs/rules/function-definition
3704
+ */
3705
+ 'react/rsc-function-definition'?: Linter.RuleEntry<[]>;
3711
3706
  /**
3712
3707
  * Enforces the Rules of Hooks.
3713
3708
  * @see https://react.dev/reference/rules/rules-of-hooks
@@ -3724,30 +3719,325 @@ interface RuleOptions {
3724
3719
  */
3725
3720
  'react/set-state-in-render'?: Linter.RuleEntry<[]>;
3726
3721
  /**
3727
- * Enforces the Rules of Props.
3728
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-props
3722
+ * Validates against syntax that React Compiler does not support.
3723
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
3724
+ */
3725
+ 'react/unsupported-syntax'?: Linter.RuleEntry<[]>;
3726
+ /**
3727
+ * Validates that 'useMemo' is called with a callback that returns a value.
3728
+ * @see https://eslint-react.xyz/docs/rules/use-memo
3729
+ */
3730
+ 'react/use-memo'?: Linter.RuleEntry<[]>;
3731
+ /**
3732
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
3733
+ * @see https://eslint-react.xyz/docs/rules/use-state
3734
+ */
3735
+ 'react/use-state'?: Linter.RuleEntry<ReactUseState>;
3736
+ /**
3737
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3738
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3739
+ */
3740
+ 'react/web-api-no-leaked-event-listener'?: Linter.RuleEntry<[]>;
3741
+ /**
3742
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3743
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3744
+ */
3745
+ 'react/web-api-no-leaked-interval'?: Linter.RuleEntry<[]>;
3746
+ /**
3747
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3748
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3749
+ */
3750
+ 'react/web-api-no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
3751
+ /**
3752
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3753
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3754
+ */
3755
+ 'react/web-api-no-leaked-timeout'?: Linter.RuleEntry<[]>;
3756
+ /**
3757
+ * Disallows higher order functions that define components or hooks inside them.
3758
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3759
+ */
3760
+ 'react/x-component-hook-factories'?: Linter.RuleEntry<[]>;
3761
+ /**
3762
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3763
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
3764
+ */
3765
+ 'react/x-error-boundaries'?: Linter.RuleEntry<[]>;
3766
+ /**
3767
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3768
+ * @see https://github.com/facebook/react/issues/14920
3769
+ */
3770
+ 'react/x-exhaustive-deps'?: Linter.RuleEntry<ReactXExhaustiveDeps>;
3771
+ /**
3772
+ * Validates against mutating props, state, and other values that are immutable.
3773
+ * @see https://eslint-react.xyz/docs/rules/immutability
3774
+ */
3775
+ 'react/x-immutability'?: Linter.RuleEntry<[]>;
3776
+ /**
3777
+ * Disallows accessing 'this.state' inside 'setState' calls.
3778
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3779
+ */
3780
+ 'react/x-no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
3781
+ /**
3782
+ * Disallows using an item's index in the array as its key.
3783
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3784
+ */
3785
+ 'react/x-no-array-index-key'?: Linter.RuleEntry<[]>;
3786
+ /**
3787
+ * Disallows the use of 'Children.count' from the 'react' package.
3788
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
3789
+ */
3790
+ 'react/x-no-children-count'?: Linter.RuleEntry<[]>;
3791
+ /**
3792
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3793
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3794
+ */
3795
+ 'react/x-no-children-for-each'?: Linter.RuleEntry<[]>;
3796
+ /**
3797
+ * Disallows the use of 'Children.map' from the 'react' package.
3798
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
3799
+ */
3800
+ 'react/x-no-children-map'?: Linter.RuleEntry<[]>;
3801
+ /**
3802
+ * Disallows the use of 'Children.only' from the 'react' package.
3803
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
3804
+ */
3805
+ 'react/x-no-children-only'?: Linter.RuleEntry<[]>;
3806
+ /**
3807
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3808
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3809
+ */
3810
+ 'react/x-no-children-to-array'?: Linter.RuleEntry<[]>;
3811
+ /**
3812
+ * Disallows class components except for error boundaries.
3813
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
3814
+ */
3815
+ 'react/x-no-class-component'?: Linter.RuleEntry<[]>;
3816
+ /**
3817
+ * Disallows 'cloneElement'.
3818
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
3819
+ */
3820
+ 'react/x-no-clone-element'?: Linter.RuleEntry<[]>;
3821
+ /**
3822
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3823
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3824
+ */
3825
+ 'react/x-no-component-will-mount'?: Linter.RuleEntry<[]>;
3826
+ /**
3827
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3828
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3829
+ */
3830
+ 'react/x-no-component-will-receive-props'?: Linter.RuleEntry<[]>;
3831
+ /**
3832
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3833
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3834
+ */
3835
+ 'react/x-no-component-will-update'?: Linter.RuleEntry<[]>;
3836
+ /**
3837
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3838
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
3839
+ */
3840
+ 'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
3841
+ /**
3842
+ * Disallows 'createRef' in function components.
3843
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
3844
+ */
3845
+ 'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
3846
+ /**
3847
+ * Disallows direct mutation of 'this.state'.
3848
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3849
+ */
3850
+ 'react/x-no-direct-mutation-state'?: Linter.RuleEntry<[]>;
3851
+ /**
3852
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
3853
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3854
+ */
3855
+ 'react/x-no-duplicate-key'?: Linter.RuleEntry<[]>;
3856
+ /**
3857
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3858
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3859
+ */
3860
+ 'react/x-no-forward-ref'?: Linter.RuleEntry<[]>;
3861
+ /**
3862
+ * Prevents implicitly passing the 'children' prop to components.
3863
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
3864
+ */
3865
+ 'react/x-no-implicit-children'?: Linter.RuleEntry<[]>;
3866
+ /**
3867
+ * Prevents implicitly passing the 'key' prop to components.
3868
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3869
+ */
3870
+ 'react/x-no-implicit-key'?: Linter.RuleEntry<[]>;
3871
+ /**
3872
+ * Prevents implicitly passing the 'ref' prop to components.
3873
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
3874
+ */
3875
+ 'react/x-no-implicit-ref'?: Linter.RuleEntry<[]>;
3876
+ /**
3877
+ * Prevents problematic leaked values from being rendered.
3878
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3879
+ */
3880
+ 'react/x-no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
3881
+ /**
3882
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
3883
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3884
+ */
3885
+ 'react/x-no-missing-component-display-name'?: Linter.RuleEntry<[]>;
3886
+ /**
3887
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
3888
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3889
+ */
3890
+ 'react/x-no-missing-context-display-name'?: Linter.RuleEntry<[]>;
3891
+ /**
3892
+ * Disallows missing 'key' on items in list rendering.
3893
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
3894
+ */
3895
+ 'react/x-no-missing-key'?: Linter.RuleEntry<[]>;
3896
+ /**
3897
+ * Prevents incorrect usage of 'captureOwnerStack'.
3898
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3899
+ */
3900
+ 'react/x-no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
3901
+ /**
3902
+ * Disallows nesting component definitions inside other components.
3903
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3904
+ */
3905
+ 'react/x-no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3906
+ /**
3907
+ * Disallows nesting lazy component declarations inside other components or hooks.
3908
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3909
+ */
3910
+ 'react/x-no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3911
+ /**
3912
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3913
+ * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3914
+ */
3915
+ 'react/x-no-redundant-should-component-update'?: Linter.RuleEntry<[]>;
3916
+ /**
3917
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3918
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3919
+ */
3920
+ 'react/x-no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
3921
+ /**
3922
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3923
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3924
+ */
3925
+ 'react/x-no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
3926
+ /**
3927
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3928
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3929
+ */
3930
+ 'react/x-no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
3931
+ /**
3932
+ * Disallows unnecessary usage of 'useCallback'.
3933
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3934
+ */
3935
+ 'react/x-no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
3936
+ /**
3937
+ * Disallows unnecessary usage of 'useMemo'.
3938
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3939
+ */
3940
+ 'react/x-no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
3941
+ /**
3942
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3943
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3944
+ */
3945
+ 'react/x-no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
3946
+ /**
3947
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3948
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3949
+ */
3950
+ 'react/x-no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
3951
+ /**
3952
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3953
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3954
+ */
3955
+ 'react/x-no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
3956
+ /**
3957
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3958
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3959
+ */
3960
+ 'react/x-no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
3961
+ /**
3962
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3963
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3964
+ */
3965
+ 'react/x-no-unstable-context-value'?: Linter.RuleEntry<[]>;
3966
+ /**
3967
+ * Prevents using referential-type values as default props in object destructuring.
3968
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3969
+ */
3970
+ 'react/x-no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>;
3971
+ /**
3972
+ * Warns about unused class component methods and properties.
3973
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3729
3974
  */
3730
- 'react/unstable-rules-of-props'?: Linter.RuleEntry<[]>;
3975
+ 'react/x-no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3731
3976
  /**
3732
- * Enforces the Rules of State.
3733
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-state
3977
+ * Warns about component props that are defined but never used.
3978
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3734
3979
  */
3735
- 'react/unstable-rules-of-state'?: Linter.RuleEntry<[]>;
3980
+ 'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
3981
+ /**
3982
+ * Warns about unused class component state.
3983
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
3984
+ */
3985
+ 'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
3986
+ /**
3987
+ * Replaces usage of 'useContext' with 'use'.
3988
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
3989
+ */
3990
+ 'react/x-no-use-context'?: Linter.RuleEntry<[]>;
3991
+ /**
3992
+ * Enforces destructuring assignment for component props and context.
3993
+ * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
3994
+ */
3995
+ 'react/x-prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
3996
+ /**
3997
+ * Enforces importing React via a namespace import.
3998
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3999
+ */
4000
+ 'react/x-prefer-namespace-import'?: Linter.RuleEntry<[]>;
4001
+ /**
4002
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
4003
+ * @see https://eslint-react.xyz/docs/rules/purity
4004
+ */
4005
+ 'react/x-purity'?: Linter.RuleEntry<[]>;
4006
+ /**
4007
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
4008
+ * @see https://eslint-react.xyz/docs/rules/refs
4009
+ */
4010
+ 'react/x-refs'?: Linter.RuleEntry<[]>;
4011
+ /**
4012
+ * Enforces the Rules of Hooks.
4013
+ * @see https://react.dev/reference/rules/rules-of-hooks
4014
+ */
4015
+ 'react/x-rules-of-hooks'?: Linter.RuleEntry<ReactXRulesOfHooks>;
4016
+ /**
4017
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
4018
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
4019
+ */
4020
+ 'react/x-set-state-in-effect'?: Linter.RuleEntry<[]>;
4021
+ /**
4022
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
4023
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
4024
+ */
4025
+ 'react/x-set-state-in-render'?: Linter.RuleEntry<[]>;
3736
4026
  /**
3737
4027
  * Validates against syntax that React Compiler does not support.
3738
4028
  * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
3739
4029
  */
3740
- 'react/unsupported-syntax'?: Linter.RuleEntry<[]>;
4030
+ 'react/x-unsupported-syntax'?: Linter.RuleEntry<[]>;
3741
4031
  /**
3742
4032
  * Validates that 'useMemo' is called with a callback that returns a value.
3743
4033
  * @see https://eslint-react.xyz/docs/rules/use-memo
3744
4034
  */
3745
- 'react/use-memo'?: Linter.RuleEntry<[]>;
4035
+ 'react/x-use-memo'?: Linter.RuleEntry<[]>;
3746
4036
  /**
3747
4037
  * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
3748
4038
  * @see https://eslint-react.xyz/docs/rules/use-state
3749
4039
  */
3750
- 'react/use-state'?: Linter.RuleEntry<ReactUseState>;
4040
+ 'react/x-use-state'?: Linter.RuleEntry<ReactXUseState>;
3751
4041
  /**
3752
4042
  * disallow confusing quantifiers
3753
4043
  * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
@@ -5008,6 +5298,11 @@ interface RuleOptions {
5008
5298
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-attributes-per-line/
5009
5299
  */
5010
5300
  'svelte/max-attributes-per-line'?: Linter.RuleEntry<SvelteMaxAttributesPerLine>;
5301
+ /**
5302
+ * enforce maximum number of lines in svelte component blocks
5303
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-lines-per-block/
5304
+ */
5305
+ 'svelte/max-lines-per-block'?: Linter.RuleEntry<SvelteMaxLinesPerBlock>;
5011
5306
  /**
5012
5307
  * enforce unified spacing in mustache
5013
5308
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/mustache-spacing/
@@ -5107,7 +5402,7 @@ interface RuleOptions {
5107
5402
  */
5108
5403
  'svelte/no-navigation-without-base'?: Linter.RuleEntry<SvelteNoNavigationWithoutBase>;
5109
5404
  /**
5110
- * disallow using navigation (links, goto, pushState, replaceState) without a resolve()
5405
+ * disallow internal navigation (links, `goto()`, `pushState()`, `replaceState()`) without a `resolve()`
5111
5406
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
5112
5407
  */
5113
5408
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
@@ -5735,6 +6030,11 @@ interface RuleOptions {
5735
6030
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
5736
6031
  */
5737
6032
  'test/require-top-level-describe'?: Linter.RuleEntry<TestRequireTopLevelDescribe>;
6033
+ /**
6034
+ * enforce unbound methods are called with their expected scope
6035
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/unbound-method.md
6036
+ */
6037
+ 'test/unbound-method'?: Linter.RuleEntry<TestUnboundMethod>;
5738
6038
  /**
5739
6039
  * enforce valid describe callback
5740
6040
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
@@ -6565,730 +6865,750 @@ interface RuleOptions {
6565
6865
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
6566
6866
  /**
6567
6867
  * Improve regexes by making them shorter, consistent, and safer.
6568
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/better-regex.md
6868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
6569
6869
  */
6570
6870
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
6571
6871
  /**
6572
6872
  * Enforce a specific parameter name in catch clauses.
6573
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/catch-error-name.md
6873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
6574
6874
  */
6575
6875
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
6576
6876
  /**
6577
6877
  * Enforce consistent assertion style with `node:assert`.
6578
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-assert.md
6878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
6579
6879
  */
6580
6880
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
6581
6881
  /**
6582
6882
  * Prefer passing `Date` directly to the constructor when cloning.
6583
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-date-clone.md
6883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
6584
6884
  */
6585
6885
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
6586
6886
  /**
6587
6887
  * Use destructured variables over properties.
6588
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-destructuring.md
6888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
6589
6889
  */
6590
6890
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
6591
6891
  /**
6592
6892
  * Prefer consistent types when spreading a ternary in an array literal.
6593
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-empty-array-spread.md
6893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
6594
6894
  */
6595
6895
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
6596
6896
  /**
6597
6897
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6598
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-existence-index-check.md
6898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
6599
6899
  */
6600
6900
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
6601
6901
  /**
6602
6902
  * Move function definitions to the highest possible scope.
6603
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-function-scoping.md
6903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
6604
6904
  */
6605
6905
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
6906
+ /**
6907
+ * Enforce consistent style for escaping `${` in template literals.
6908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
6909
+ */
6910
+ 'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
6606
6911
  /**
6607
6912
  * Enforce correct `Error` subclassing.
6608
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/custom-error-definition.md
6913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
6609
6914
  */
6610
6915
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
6611
6916
  /**
6612
6917
  * Enforce no spaces between braces.
6613
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/empty-brace-spaces.md
6918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
6614
6919
  */
6615
6920
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
6616
6921
  /**
6617
6922
  * Enforce passing a `message` value when creating a built-in error.
6618
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/error-message.md
6923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
6619
6924
  */
6620
6925
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
6621
6926
  /**
6622
6927
  * Require escape sequences to use uppercase or lowercase values.
6623
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/escape-case.md
6928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
6624
6929
  */
6625
6930
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
6626
6931
  /**
6627
6932
  * Add expiration conditions to TODO comments.
6628
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/expiring-todo-comments.md
6933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
6629
6934
  */
6630
6935
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
6631
6936
  /**
6632
6937
  * Enforce explicitly comparing the `length` or `size` property of a value.
6633
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/explicit-length-check.md
6938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
6634
6939
  */
6635
6940
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
6636
6941
  /**
6637
6942
  * Enforce a case style for filenames.
6638
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/filename-case.md
6943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
6639
6944
  */
6640
6945
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
6641
6946
  /**
6642
6947
  * Enforce specific import styles per module.
6643
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/import-style.md
6948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
6644
6949
  */
6645
6950
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
6646
6951
  /**
6647
6952
  * Prevent usage of variables from outside the scope of isolated functions.
6648
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/isolated-functions.md
6953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
6649
6954
  */
6650
6955
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
6651
6956
  /**
6652
6957
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6653
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/new-for-builtins.md
6958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
6654
6959
  */
6655
6960
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
6656
6961
  /**
6657
6962
  * Enforce specifying rules to disable in `eslint-disable` comments.
6658
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-abusive-eslint-disable.md
6963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
6659
6964
  */
6660
6965
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
6661
6966
  /**
6662
6967
  * Disallow recursive access to `this` within getters and setters.
6663
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-accessor-recursion.md
6968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
6664
6969
  */
6665
6970
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
6666
6971
  /**
6667
6972
  * Disallow anonymous functions and classes as the default export.
6668
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-anonymous-default-export.md
6973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
6669
6974
  */
6670
6975
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
6671
6976
  /**
6672
6977
  * Prevent passing a function reference directly to iterator methods.
6673
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-callback-reference.md
6978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
6674
6979
  */
6675
6980
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
6676
6981
  /**
6677
6982
  * Prefer `for…of` over the `forEach` method.
6678
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-for-each.md
6983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
6679
6984
  */
6680
6985
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
6681
6986
  /**
6682
6987
  * Disallow using the `this` argument in array methods.
6683
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-method-this-argument.md
6988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
6684
6989
  */
6685
6990
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
6686
6991
  /**
6687
6992
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6688
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6689
6994
  * @deprecated
6690
6995
  */
6691
6996
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
6692
6997
  /**
6693
6998
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6694
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reduce.md
6999
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
6695
7000
  */
6696
7001
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
6697
7002
  /**
6698
7003
  * Prefer `Array#toReversed()` over `Array#reverse()`.
6699
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reverse.md
7004
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
6700
7005
  */
6701
7006
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
6702
7007
  /**
6703
7008
  * Prefer `Array#toSorted()` over `Array#sort()`.
6704
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-sort.md
7009
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
6705
7010
  */
6706
7011
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
6707
7012
  /**
6708
7013
  * Disallow member access from await expression.
6709
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-expression-member.md
7014
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
6710
7015
  */
6711
7016
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
6712
7017
  /**
6713
7018
  * Disallow using `await` in `Promise` method parameters.
6714
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-in-promise-methods.md
7019
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
6715
7020
  */
6716
7021
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
6717
7022
  /**
6718
7023
  * Do not use leading/trailing space between `console.log` parameters.
6719
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-console-spaces.md
7024
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
6720
7025
  */
6721
7026
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
6722
7027
  /**
6723
7028
  * Do not use `document.cookie` directly.
6724
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-document-cookie.md
7029
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
6725
7030
  */
6726
7031
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
6727
7032
  /**
6728
7033
  * Disallow empty files.
6729
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-empty-file.md
7034
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
6730
7035
  */
6731
7036
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
6732
7037
  /**
6733
7038
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6734
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-for-loop.md
7039
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
6735
7040
  */
6736
7041
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
6737
7042
  /**
6738
7043
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6739
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-hex-escape.md
7044
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
6740
7045
  */
6741
7046
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
6742
7047
  /**
6743
7048
  * Disallow immediate mutation after variable assignment.
6744
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-immediate-mutation.md
7049
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
6745
7050
  */
6746
7051
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
6747
7052
  /**
6748
7053
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6749
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7054
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6750
7055
  * @deprecated
6751
7056
  */
6752
7057
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
6753
7058
  /**
6754
7059
  * Disallow `instanceof` with built-in objects
6755
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-instanceof-builtins.md
7060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
6756
7061
  */
6757
7062
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
6758
7063
  /**
6759
7064
  * Disallow invalid options in `fetch()` and `new Request()`.
6760
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-fetch-options.md
7065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
6761
7066
  */
6762
7067
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
6763
7068
  /**
6764
7069
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6765
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-remove-event-listener.md
7070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
6766
7071
  */
6767
7072
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
6768
7073
  /**
6769
7074
  * Disallow identifiers starting with `new` or `class`.
6770
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-keyword-prefix.md
7075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
6771
7076
  */
6772
7077
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
6773
7078
  /**
6774
7079
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6775
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6776
7081
  * @deprecated
6777
7082
  */
6778
7083
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
6779
7084
  /**
6780
7085
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
6781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-lonely-if.md
7086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
6782
7087
  */
6783
7088
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
6784
7089
  /**
6785
7090
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
6786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-magic-array-flat-depth.md
7091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
6787
7092
  */
6788
7093
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
6789
7094
  /**
6790
7095
  * Disallow named usage of default import and export.
6791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-named-default.md
7096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
6792
7097
  */
6793
7098
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
6794
7099
  /**
6795
7100
  * Disallow negated conditions.
6796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negated-condition.md
7101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
6797
7102
  */
6798
7103
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
6799
7104
  /**
6800
7105
  * Disallow negated expression in equality check.
6801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negation-in-equality-check.md
7106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
6802
7107
  */
6803
7108
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
6804
7109
  /**
6805
7110
  * Disallow nested ternary expressions.
6806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-nested-ternary.md
7111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
6807
7112
  */
6808
7113
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
6809
7114
  /**
6810
7115
  * Disallow `new Array()`.
6811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-array.md
7116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
6812
7117
  */
6813
7118
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
6814
7119
  /**
6815
7120
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
6816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-buffer.md
7121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
6817
7122
  */
6818
7123
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
6819
7124
  /**
6820
7125
  * Disallow the use of the `null` literal.
6821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-null.md
7126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
6822
7127
  */
6823
7128
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
6824
7129
  /**
6825
7130
  * Disallow the use of objects as default parameters.
6826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-object-as-default-parameter.md
7131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
6827
7132
  */
6828
7133
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
6829
7134
  /**
6830
7135
  * Disallow `process.exit()`.
6831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-process-exit.md
7136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
6832
7137
  */
6833
7138
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
6834
7139
  /**
6835
7140
  * Disallow passing single-element arrays to `Promise` methods.
6836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-single-promise-in-promise-methods.md
7141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
6837
7142
  */
6838
7143
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
6839
7144
  /**
6840
7145
  * Disallow classes that only have static members.
6841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-static-only-class.md
7146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
6842
7147
  */
6843
7148
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
6844
7149
  /**
6845
7150
  * Disallow `then` property.
6846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-thenable.md
7151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
6847
7152
  */
6848
7153
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
6849
7154
  /**
6850
7155
  * Disallow assigning `this` to a variable.
6851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-this-assignment.md
7156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
6852
7157
  */
6853
7158
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
6854
7159
  /**
6855
7160
  * Disallow comparing `undefined` using `typeof`.
6856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-typeof-undefined.md
7161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
6857
7162
  */
6858
7163
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
6859
7164
  /**
6860
7165
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
6861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
6862
7167
  */
6863
7168
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
6864
7169
  /**
6865
7170
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
6866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-splice-count.md
7171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
6867
7172
  */
6868
7173
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
6869
7174
  /**
6870
7175
  * Disallow awaiting non-promise values.
6871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-await.md
7176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
6872
7177
  */
6873
7178
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
6874
7179
  /**
6875
7180
  * Enforce the use of built-in methods instead of unnecessary polyfills.
6876
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-polyfills.md
7181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
6877
7182
  */
6878
7183
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
6879
7184
  /**
6880
7185
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
6881
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-slice-end.md
7186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
6882
7187
  */
6883
7188
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
6884
7189
  /**
6885
7190
  * Disallow unreadable array destructuring.
6886
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-array-destructuring.md
7191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
6887
7192
  */
6888
7193
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
6889
7194
  /**
6890
7195
  * Disallow unreadable IIFEs.
6891
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-iife.md
7196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
6892
7197
  */
6893
7198
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
6894
7199
  /**
6895
7200
  * Disallow unused object properties.
6896
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unused-properties.md
7201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
6897
7202
  */
6898
7203
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
6899
7204
  /**
6900
7205
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
6901
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-collection-argument.md
7206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
6902
7207
  */
6903
7208
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
6904
7209
  /**
6905
7210
  * Disallow unnecessary `Error.captureStackTrace(…)`.
6906
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7211
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
6907
7212
  */
6908
7213
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
6909
7214
  /**
6910
7215
  * Disallow useless fallback when spreading in object literals.
6911
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-fallback-in-spread.md
7216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
6912
7217
  */
6913
7218
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7219
+ /**
7220
+ * Disallow unnecessary `.toArray()` on iterators.
7221
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
7222
+ */
7223
+ 'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
6914
7224
  /**
6915
7225
  * Disallow useless array length check.
6916
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-length-check.md
7226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
6917
7227
  */
6918
7228
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
6919
7229
  /**
6920
7230
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
6921
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-promise-resolve-reject.md
7231
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
6922
7232
  */
6923
7233
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
6924
7234
  /**
6925
7235
  * Disallow unnecessary spread.
6926
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-spread.md
7236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
6927
7237
  */
6928
7238
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
6929
7239
  /**
6930
7240
  * Disallow useless case in switch statements.
6931
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-switch-case.md
7241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
6932
7242
  */
6933
7243
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
6934
7244
  /**
6935
7245
  * Disallow useless `undefined`.
6936
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-undefined.md
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
6937
7247
  */
6938
7248
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
6939
7249
  /**
6940
7250
  * Disallow number literals with zero fractions or dangling dots.
6941
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-zero-fractions.md
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
6942
7252
  */
6943
7253
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
6944
7254
  /**
6945
7255
  * Enforce proper case for numeric literals.
6946
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/number-literal-case.md
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
6947
7257
  */
6948
7258
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
6949
7259
  /**
6950
7260
  * Enforce the style of numeric separators by correctly grouping digits.
6951
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/numeric-separators-style.md
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
6952
7262
  */
6953
7263
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
6954
7264
  /**
6955
7265
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
6956
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-add-event-listener.md
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
6957
7267
  */
6958
7268
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
6959
7269
  /**
6960
7270
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
6961
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-find.md
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
6962
7272
  */
6963
7273
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
6964
7274
  /**
6965
7275
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
6966
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat.md
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
6967
7277
  */
6968
7278
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
6969
7279
  /**
6970
7280
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
6971
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat-map.md
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
6972
7282
  */
6973
7283
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
6974
7284
  /**
6975
7285
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
6976
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-index-of.md
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
6977
7287
  */
6978
7288
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
6979
7289
  /**
6980
7290
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
6981
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-some.md
7291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
6982
7292
  */
6983
7293
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
6984
7294
  /**
6985
7295
  * Prefer `.at()` method for index access and `String#charAt()`.
6986
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-at.md
7296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
6987
7297
  */
6988
7298
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
6989
7299
  /**
6990
7300
  * Prefer `BigInt` literals over the constructor.
6991
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-bigint-literals.md
7301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
6992
7302
  */
6993
7303
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
6994
7304
  /**
6995
7305
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
6996
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-blob-reading-methods.md
7306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
6997
7307
  */
6998
7308
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
6999
7309
  /**
7000
7310
  * Prefer class field declarations over `this` assignments in constructors.
7001
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-class-fields.md
7311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
7002
7312
  */
7003
7313
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7004
7314
  /**
7005
7315
  * Prefer using `Element#classList.toggle()` to toggle class names.
7006
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-classlist-toggle.md
7316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
7007
7317
  */
7008
7318
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7009
7319
  /**
7010
7320
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7011
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-code-point.md
7321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
7012
7322
  */
7013
7323
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7014
7324
  /**
7015
7325
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7016
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-date-now.md
7326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
7017
7327
  */
7018
7328
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7019
7329
  /**
7020
7330
  * Prefer default parameters over reassignment.
7021
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-default-parameters.md
7331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
7022
7332
  */
7023
7333
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7024
7334
  /**
7025
7335
  * Prefer `Node#append()` over `Node#appendChild()`.
7026
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-append.md
7336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
7027
7337
  */
7028
7338
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7029
7339
  /**
7030
7340
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7031
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-dataset.md
7341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
7032
7342
  */
7033
7343
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7034
7344
  /**
7035
7345
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7036
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-remove.md
7346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
7037
7347
  */
7038
7348
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7039
7349
  /**
7040
7350
  * Prefer `.textContent` over `.innerText`.
7041
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-text-content.md
7351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
7042
7352
  */
7043
7353
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7044
7354
  /**
7045
7355
  * Prefer `EventTarget` over `EventEmitter`.
7046
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-event-target.md
7356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
7047
7357
  */
7048
7358
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7049
7359
  /**
7050
7360
  * Prefer `export…from` when re-exporting.
7051
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-export-from.md
7361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
7052
7362
  */
7053
7363
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
7054
7364
  /**
7055
7365
  * Prefer `globalThis` over `window`, `self`, and `global`.
7056
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-global-this.md
7366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
7057
7367
  */
7058
7368
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
7059
7369
  /**
7060
7370
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7061
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-import-meta-properties.md
7371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
7062
7372
  */
7063
7373
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7064
7374
  /**
7065
7375
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7066
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-includes.md
7376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
7067
7377
  */
7068
7378
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7069
7379
  /**
7070
7380
  * Prefer reading a JSON file as a buffer.
7071
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-json-parse-buffer.md
7381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
7072
7382
  */
7073
7383
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7074
7384
  /**
7075
7385
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7076
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-keyboard-event-key.md
7386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
7077
7387
  */
7078
7388
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7079
7389
  /**
7080
7390
  * Prefer using a logical operator over a ternary.
7081
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7082
7392
  */
7083
7393
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
7084
7394
  /**
7085
7395
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7086
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-min-max.md
7396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
7087
7397
  */
7088
7398
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7089
7399
  /**
7090
7400
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7091
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-trunc.md
7401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
7092
7402
  */
7093
7403
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7094
7404
  /**
7095
7405
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7096
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-dom-apis.md
7406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
7097
7407
  */
7098
7408
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7099
7409
  /**
7100
7410
  * Prefer modern `Math` APIs over legacy patterns.
7101
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-math-apis.md
7411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
7102
7412
  */
7103
7413
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7104
7414
  /**
7105
7415
  * Prefer JavaScript modules (ESM) over CommonJS.
7106
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-module.md
7416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
7107
7417
  */
7108
7418
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7109
7419
  /**
7110
7420
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7111
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-native-coercion-functions.md
7421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
7112
7422
  */
7113
7423
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7114
7424
  /**
7115
7425
  * Prefer negative index over `.length - index` when possible.
7116
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-negative-index.md
7426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
7117
7427
  */
7118
7428
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7119
7429
  /**
7120
7430
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7121
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-node-protocol.md
7431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
7122
7432
  */
7123
7433
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7124
7434
  /**
7125
7435
  * Prefer `Number` static properties over global ones.
7126
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-number-properties.md
7436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
7127
7437
  */
7128
7438
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7129
7439
  /**
7130
7440
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7131
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-object-from-entries.md
7441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
7132
7442
  */
7133
7443
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7134
7444
  /**
7135
7445
  * Prefer omitting the `catch` binding parameter.
7136
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-optional-catch-binding.md
7446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
7137
7447
  */
7138
7448
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7139
7449
  /**
7140
7450
  * Prefer borrowing methods from the prototype instead of the instance.
7141
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-prototype-methods.md
7451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
7142
7452
  */
7143
7453
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7144
7454
  /**
7145
7455
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7146
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-query-selector.md
7456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
7147
7457
  */
7148
7458
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
7149
7459
  /**
7150
7460
  * Prefer `Reflect.apply()` over `Function#apply()`.
7151
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-reflect-apply.md
7461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
7152
7462
  */
7153
7463
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7154
7464
  /**
7155
7465
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7156
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-regexp-test.md
7466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
7157
7467
  */
7158
7468
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
7159
7469
  /**
7160
7470
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7161
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-response-static-json.md
7471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
7162
7472
  */
7163
7473
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
7164
7474
  /**
7165
7475
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7166
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-has.md
7476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
7167
7477
  */
7168
7478
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
7169
7479
  /**
7170
7480
  * Prefer using `Set#size` instead of `Array#length`.
7171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-size.md
7481
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
7172
7482
  */
7173
7483
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7484
+ /**
7485
+ * Prefer simple conditions first in logical expressions.
7486
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
7487
+ */
7488
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
7174
7489
  /**
7175
7490
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-single-call.md
7491
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
7177
7492
  */
7178
7493
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
7179
7494
  /**
7180
7495
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-spread.md
7496
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
7182
7497
  */
7183
7498
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7184
7499
  /**
7185
7500
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-raw.md
7501
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
7187
7502
  */
7188
7503
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7189
7504
  /**
7190
7505
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-replace-all.md
7506
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
7192
7507
  */
7193
7508
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7194
7509
  /**
7195
7510
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-slice.md
7511
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
7197
7512
  */
7198
7513
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7199
7514
  /**
7200
7515
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-starts-ends-with.md
7516
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
7202
7517
  */
7203
7518
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7204
7519
  /**
7205
7520
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-trim-start-end.md
7521
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
7207
7522
  */
7208
7523
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7209
7524
  /**
7210
7525
  * Prefer using `structuredClone` to create a deep clone.
7211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-structured-clone.md
7526
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
7212
7527
  */
7213
7528
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7214
7529
  /**
7215
7530
  * Prefer `switch` over multiple `else-if`.
7216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-switch.md
7531
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
7217
7532
  */
7218
7533
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7219
7534
  /**
7220
7535
  * Prefer ternary expressions over simple `if-else` statements.
7221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-ternary.md
7536
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
7222
7537
  */
7223
7538
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7224
7539
  /**
7225
7540
  * Prefer top-level await over top-level promises and async function calls.
7226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-top-level-await.md
7541
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
7227
7542
  */
7228
7543
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7229
7544
  /**
7230
7545
  * Enforce throwing `TypeError` in type checking conditions.
7231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-type-error.md
7546
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
7232
7547
  */
7233
7548
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7234
7549
  /**
7235
7550
  * Prevent abbreviations.
7236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prevent-abbreviations.md
7551
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
7237
7552
  */
7238
7553
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7239
7554
  /**
7240
7555
  * Enforce consistent relative URL style.
7241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/relative-url-style.md
7556
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
7242
7557
  */
7243
7558
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7244
7559
  /**
7245
7560
  * Enforce using the separator argument with `Array#join()`.
7246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-array-join-separator.md
7561
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
7247
7562
  */
7248
7563
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
7249
7564
  /**
7250
7565
  * Require non-empty module attributes for imports and exports
7251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-attributes.md
7566
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
7252
7567
  */
7253
7568
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7254
7569
  /**
7255
7570
  * Require non-empty specifier list in import and export statements.
7256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-specifiers.md
7571
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
7257
7572
  */
7258
7573
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7259
7574
  /**
7260
7575
  * Enforce using the digits argument with `Number#toFixed()`.
7261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7576
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7262
7577
  */
7263
7578
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
7264
7579
  /**
7265
7580
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-post-message-target-origin.md
7581
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
7267
7582
  */
7268
7583
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
7269
7584
  /**
7270
7585
  * Enforce better string content.
7271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/string-content.md
7586
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
7272
7587
  */
7273
7588
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7274
7589
  /**
7275
7590
  * Enforce consistent brace style for `case` clauses.
7276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/switch-case-braces.md
7591
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
7277
7592
  */
7278
7593
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7594
+ /**
7595
+ * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7596
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
7597
+ */
7598
+ 'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
7279
7599
  /**
7280
7600
  * Fix whitespace-insensitive template indentation.
7281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/template-indent.md
7601
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
7282
7602
  */
7283
7603
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7284
7604
  /**
7285
7605
  * Enforce consistent case for text encoding identifiers.
7286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/text-encoding-identifier-case.md
7606
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
7287
7607
  */
7288
7608
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
7289
7609
  /**
7290
7610
  * Require `new` when creating an error.
7291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/throw-new-error.md
7611
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
7292
7612
  */
7293
7613
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
7294
7614
  /**
@@ -10614,13 +10934,15 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
10614
10934
  }] | ["never"]) & unknown[]); // ----- markdown/fenced-code-language -----
10615
10935
  type MarkdownFencedCodeLanguage = [] | [{
10616
10936
  required?: string[];
10617
- }]; // ----- markdown/heading-increment -----
10937
+ }]; // ----- markdown/fenced-code-meta -----
10938
+ type MarkdownFencedCodeMeta = [] | [("always" | "never")]; // ----- markdown/heading-increment -----
10618
10939
  type MarkdownHeadingIncrement = [] | [{
10619
10940
  frontmatterTitle?: string;
10620
10941
  }]; // ----- markdown/no-duplicate-definitions -----
10621
10942
  type MarkdownNoDuplicateDefinitions = [] | [{
10622
10943
  allowDefinitions?: string[];
10623
10944
  allowFootnoteDefinitions?: string[];
10945
+ checkFootnoteDefinitions?: boolean;
10624
10946
  }]; // ----- markdown/no-duplicate-headings -----
10625
10947
  type MarkdownNoDuplicateHeadings = [] | [{
10626
10948
  checkSiblingsOnly?: boolean;
@@ -10653,6 +10975,7 @@ type MarkdownNoSpaceInEmphasis = [] | [{
10653
10975
  type MarkdownNoUnusedDefinitions = [] | [{
10654
10976
  allowDefinitions?: string[];
10655
10977
  allowFootnoteDefinitions?: string[];
10978
+ checkFootnoteDefinitions?: boolean;
10656
10979
  }]; // ----- markdown/table-column-count -----
10657
10980
  type MarkdownTableColumnCount = [] | [{
10658
10981
  checkMissingCells?: boolean;
@@ -11531,6 +11854,112 @@ type PerfectionistSortArrayIncludes = {
11531
11854
  } | string)));
11532
11855
  });
11533
11856
  partitionByNewLine?: boolean;
11857
+ }[]; // ----- perfectionist/sort-arrays -----
11858
+ type PerfectionistSortArrays = {
11859
+ fallbackSort?: {
11860
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11861
+ order?: ("asc" | "desc");
11862
+ };
11863
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11864
+ specialCharacters?: ("remove" | "trim" | "keep");
11865
+ ignoreCase?: boolean;
11866
+ alphabet?: string;
11867
+ locales?: (string | string[]);
11868
+ order?: ("asc" | "desc");
11869
+ customGroups?: ({
11870
+ fallbackSort?: {
11871
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11872
+ order?: ("asc" | "desc");
11873
+ };
11874
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11875
+ groupName: string;
11876
+ newlinesInside?: ("ignore" | number);
11877
+ order?: ("asc" | "desc");
11878
+ anyOf: [{
11879
+ elementNamePattern?: (({
11880
+ pattern: string;
11881
+ flags?: string;
11882
+ } | string)[] | ({
11883
+ pattern: string;
11884
+ flags?: string;
11885
+ } | string));
11886
+ selector?: "literal";
11887
+ }, ...({
11888
+ elementNamePattern?: (({
11889
+ pattern: string;
11890
+ flags?: string;
11891
+ } | string)[] | ({
11892
+ pattern: string;
11893
+ flags?: string;
11894
+ } | string));
11895
+ selector?: "literal";
11896
+ })[]];
11897
+ } | {
11898
+ fallbackSort?: {
11899
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11900
+ order?: ("asc" | "desc");
11901
+ };
11902
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11903
+ groupName: string;
11904
+ newlinesInside?: ("ignore" | number);
11905
+ order?: ("asc" | "desc");
11906
+ elementNamePattern?: (({
11907
+ pattern: string;
11908
+ flags?: string;
11909
+ } | string)[] | ({
11910
+ pattern: string;
11911
+ flags?: string;
11912
+ } | string));
11913
+ selector?: "literal";
11914
+ })[];
11915
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
11916
+ groups?: (string | [string, ...(string)[]] | {
11917
+ newlinesBetween: ("ignore" | number);
11918
+ } | {
11919
+ group: (string | [string, ...(string)[]]);
11920
+ fallbackSort?: {
11921
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11922
+ order?: ("asc" | "desc");
11923
+ };
11924
+ commentAbove?: string;
11925
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
11926
+ newlinesInside?: ("ignore" | number);
11927
+ order?: ("asc" | "desc");
11928
+ })[];
11929
+ newlinesBetween?: ("ignore" | number);
11930
+ useConfigurationIf: {
11931
+ allNamesMatchPattern?: (({
11932
+ pattern: string;
11933
+ flags?: string;
11934
+ } | string)[] | ({
11935
+ pattern: string;
11936
+ flags?: string;
11937
+ } | string));
11938
+ matchesAstSelector?: string;
11939
+ };
11940
+ partitionByComment?: (boolean | (({
11941
+ pattern: string;
11942
+ flags?: string;
11943
+ } | string)[] | ({
11944
+ pattern: string;
11945
+ flags?: string;
11946
+ } | string)) | {
11947
+ block?: (boolean | (({
11948
+ pattern: string;
11949
+ flags?: string;
11950
+ } | string)[] | ({
11951
+ pattern: string;
11952
+ flags?: string;
11953
+ } | string)));
11954
+ line?: (boolean | (({
11955
+ pattern: string;
11956
+ flags?: string;
11957
+ } | string)[] | ({
11958
+ pattern: string;
11959
+ flags?: string;
11960
+ } | string)));
11961
+ });
11962
+ partitionByNewLine?: boolean;
11534
11963
  }[]; // ----- perfectionist/sort-classes -----
11535
11964
  type PerfectionistSortClasses = {
11536
11965
  fallbackSort?: {
@@ -14012,31 +14441,29 @@ type Quotes = [] | [("single" | "double" | "backtick")] | [("single" | "double"
14012
14441
  avoidEscape?: boolean;
14013
14442
  allowTemplateLiterals?: boolean;
14014
14443
  })]; // ----- radix -----
14015
- type Radix = [] | [("always" | "as-needed")]; // ----- react-dom/no-unknown-property -----
14016
- type ReactDomNoUnknownProperty = [] | [{
14017
- ignore?: string[];
14018
- requireDataLowercase?: boolean;
14019
- }]; // ----- react-refresh/only-export-components -----
14444
+ type Radix = [] | [("always" | "as-needed")]; // ----- react-refresh/only-export-components -----
14020
14445
  type ReactRefreshOnlyExportComponents = [] | [{
14021
14446
  extraHOCs?: string[];
14022
14447
  allowExportNames?: string[];
14023
14448
  allowConstantExport?: boolean;
14024
14449
  checkJS?: boolean;
14450
+ }]; // ----- react/dom-no-unknown-property -----
14451
+ type ReactDomNoUnknownProperty = [] | [{
14452
+ ignore?: string[];
14453
+ requireDataLowercase?: boolean;
14025
14454
  }]; // ----- react/exhaustive-deps -----
14026
14455
  type ReactExhaustiveDeps = [] | [{
14027
14456
  additionalHooks?: string;
14028
14457
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
14029
14458
  experimental_autoDependenciesHooks?: string[];
14030
14459
  requireExplicitEffectDeps?: boolean;
14031
- }]; // ----- react/jsx-shorthand-boolean -----
14032
- type ReactJsxShorthandBoolean = [] | [(-1 | 1)]; // ----- react/jsx-shorthand-fragment -----
14033
- type ReactJsxShorthandFragment = [] | [(-1 | 1)]; // ----- react/no-unstable-default-props -----
14034
- type ReactNoUnstableDefaultProps = [] | [{
14035
- safeDefaultProps?: string[];
14036
- }]; // ----- react/no-useless-fragment -----
14037
- type ReactNoUselessFragment = [] | [{
14460
+ }]; // ----- react/jsx-no-useless-fragment -----
14461
+ type ReactJsxNoUselessFragment = [] | [{
14038
14462
  allowEmptyFragment?: boolean;
14039
14463
  allowExpressions?: boolean;
14464
+ }]; // ----- react/no-unstable-default-props -----
14465
+ type ReactNoUnstableDefaultProps = [] | [{
14466
+ safeDefaultProps?: string[];
14040
14467
  }]; // ----- react/rules-of-hooks -----
14041
14468
  type ReactRulesOfHooks = [] | [{
14042
14469
  additionalHooks?: string;
@@ -14045,6 +14472,23 @@ type ReactUseState = [] | [{
14045
14472
  enforceAssignment?: boolean;
14046
14473
  enforceLazyInitialization?: boolean;
14047
14474
  enforceSetterName?: boolean;
14475
+ }]; // ----- react/x-exhaustive-deps -----
14476
+ type ReactXExhaustiveDeps = [] | [{
14477
+ additionalHooks?: string;
14478
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
14479
+ experimental_autoDependenciesHooks?: string[];
14480
+ requireExplicitEffectDeps?: boolean;
14481
+ }]; // ----- react/x-no-unstable-default-props -----
14482
+ type ReactXNoUnstableDefaultProps = [] | [{
14483
+ safeDefaultProps?: string[];
14484
+ }]; // ----- react/x-rules-of-hooks -----
14485
+ type ReactXRulesOfHooks = [] | [{
14486
+ additionalHooks?: string;
14487
+ }]; // ----- react/x-use-state -----
14488
+ type ReactXUseState = [] | [{
14489
+ enforceAssignment?: boolean;
14490
+ enforceLazyInitialization?: boolean;
14491
+ enforceSetterName?: boolean;
14048
14492
  }]; // ----- regexp/hexadecimal-escape -----
14049
14493
  type RegexpHexadecimalEscape = [] | [("always" | "never")]; // ----- regexp/letter-case -----
14050
14494
  type RegexpLetterCase = [] | [{
@@ -15489,6 +15933,13 @@ type SvelteIndent = [] | [{
15489
15933
  type SvelteMaxAttributesPerLine = [] | [{
15490
15934
  multiline?: number;
15491
15935
  singleline?: number;
15936
+ }]; // ----- svelte/max-lines-per-block -----
15937
+ type SvelteMaxLinesPerBlock = [] | [{
15938
+ script?: number;
15939
+ template?: number;
15940
+ style?: number;
15941
+ skipBlankLines?: boolean;
15942
+ skipComments?: boolean;
15492
15943
  }]; // ----- svelte/mustache-spacing -----
15493
15944
  type SvelteMustacheSpacing = [] | [{
15494
15945
  textExpressions?: ("never" | "always");
@@ -15672,6 +16123,9 @@ type TestRequireMockTypeParameters = [] | [{
15672
16123
  }]; // ----- test/require-top-level-describe -----
15673
16124
  type TestRequireTopLevelDescribe = [] | [{
15674
16125
  maxNumberOfTopLevelDescribes?: number;
16126
+ }]; // ----- test/unbound-method -----
16127
+ type TestUnboundMethod = [] | [{
16128
+ ignoreStatic?: boolean;
15675
16129
  }]; // ----- test/valid-expect -----
15676
16130
  type TestValidExpect = [] | [{
15677
16131
  alwaysAwait?: boolean;
@@ -16716,6 +17170,7 @@ type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/ex
16716
17170
  type UnicornExpiringTodoComments = [] | [{
16717
17171
  terms?: string[];
16718
17172
  ignore?: unknown[];
17173
+ ignoreDates?: boolean;
16719
17174
  ignoreDatesOnPullRequests?: boolean;
16720
17175
  allowWarningComments?: boolean;
16721
17176
  date?: string;
@@ -16872,6 +17327,9 @@ type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbrevia
16872
17327
  interface _UnicornPreventAbbreviations_Abbreviations {
16873
17328
  [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
16874
17329
  }
17330
+ interface _UnicornPreventAbbreviations_BooleanObject {
17331
+ [k: string]: boolean | undefined;
17332
+ }
16875
17333
  interface _UnicornPreventAbbreviations_BooleanObject {
16876
17334
  [k: string]: boolean | undefined;
16877
17335
  } // ----- unicorn/relative-url-style -----
@@ -18546,7 +19004,7 @@ declare function comments(): Promise<TypedFlatConfigItem[]>;
18546
19004
  declare function disables(): Promise<TypedFlatConfigItem[]>;
18547
19005
  //#endregion
18548
19006
  //#region src/configs/e18e.d.ts
18549
- declare function e18e(options?: OptionsIsInEditor & OptionsE18e): Promise<TypedFlatConfigItem[]>;
19007
+ declare function e18e(options?: OptionsE18e & OptionsProjectType & OptionsIsInEditor): Promise<TypedFlatConfigItem[]>;
18550
19008
  //#endregion
18551
19009
  //#region src/configs/formatters.d.ts
18552
19010
  declare function formatters(options?: true | OptionsFormatters, stylistic?: StylisticConfig): Promise<TypedFlatConfigItem[]>;