@anolilab/eslint-config 26.0.0 → 27.0.1

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
@@ -527,6 +527,11 @@ interface RuleOptions {
527
527
  * @see https://tanstack.com/query/latest/docs/eslint/no-void-query-fn
528
528
  */
529
529
  '@tanstack/query/no-void-query-fn'?: Linter.RuleEntry<[]>
530
+ /**
531
+ * Prefer using queryOptions() to co-locate queryKey and queryFn
532
+ * @see https://tanstack.com/query/latest/docs/eslint/prefer-query-options
533
+ */
534
+ '@tanstack/query/prefer-query-options'?: Linter.RuleEntry<[]>
530
535
  /**
531
536
  * Makes sure that QueryClient is stable
532
537
  * @see https://tanstack.com/query/latest/docs/eslint/stable-query-client
@@ -2987,6 +2992,11 @@ interface RuleOptions {
2987
2992
  * @see https://perfectionist.dev/rules/sort-array-includes
2988
2993
  */
2989
2994
  'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>
2995
+ /**
2996
+ * Enforce sorted arrays.
2997
+ * @see https://perfectionist.dev/rules/sort-arrays
2998
+ */
2999
+ 'perfectionist/sort-arrays'?: Linter.RuleEntry<PerfectionistSortArrays>
2990
3000
  /**
2991
3001
  * Enforce sorted classes.
2992
3002
  * @see https://perfectionist.dev/rules/sort-classes
@@ -3467,96 +3477,6 @@ interface RuleOptions {
3467
3477
  * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/valid-params.md
3468
3478
  */
3469
3479
  'promise/valid-params'?: Linter.RuleEntry<PromiseValidParams>
3470
- /**
3471
- * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3472
- * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3473
- */
3474
- 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
3475
- /**
3476
- * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3477
- * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3478
- */
3479
- 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
3480
- /**
3481
- * Disallows 'findDOMNode'.
3482
- * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3483
- */
3484
- 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
3485
- /**
3486
- * Disallows 'flushSync'.
3487
- * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3488
- */
3489
- 'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
3490
- /**
3491
- * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3492
- * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3493
- */
3494
- 'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
3495
- /**
3496
- * Enforces an explicit 'type' attribute for 'button' elements.
3497
- * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3498
- */
3499
- 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
3500
- /**
3501
- * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3502
- * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3503
- */
3504
- 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
3505
- /**
3506
- * Enforces the absence of a 'namespace' in React elements.
3507
- * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3508
- */
3509
- 'react-dom/no-namespace'?: Linter.RuleEntry<[]>
3510
- /**
3511
- * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3512
- * @see https://eslint-react.xyz/docs/rules/dom-no-render
3513
- */
3514
- 'react-dom/no-render'?: Linter.RuleEntry<[]>
3515
- /**
3516
- * Disallows the return value of 'ReactDOM.render'.
3517
- * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3518
- */
3519
- 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
3520
- /**
3521
- * Disallows 'javascript:' URLs as attribute values.
3522
- * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3523
- */
3524
- 'react-dom/no-script-url'?: Linter.RuleEntry<[]>
3525
- /**
3526
- * Disallows the use of string style prop in JSX. Use an object instead.
3527
- * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3528
- */
3529
- 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
3530
- /**
3531
- * Disallows unknown 'DOM' properties.
3532
- * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3533
- */
3534
- 'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
3535
- /**
3536
- * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3537
- * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3538
- */
3539
- 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
3540
- /**
3541
- * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3542
- * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3543
- */
3544
- 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
3545
- /**
3546
- * Replaces usage of 'useFormState' with 'useActionState'.
3547
- * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3548
- */
3549
- 'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
3550
- /**
3551
- * Disallows 'children' in void DOM elements.
3552
- * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3553
- */
3554
- 'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
3555
- /**
3556
- * Enforces importing React DOM via a namespace import.
3557
- * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3558
- */
3559
- 'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
3560
3480
  /**
3561
3481
  * Verifies that automatic effect dependencies are compiled if opted-in
3562
3482
  */
@@ -3675,21 +3595,6 @@ interface RuleOptions {
3675
3595
  * Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
3676
3596
  */
3677
3597
  'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>
3678
- /**
3679
- * Enforces the context name to be a valid component name with the suffix 'Context'.
3680
- * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3681
- */
3682
- 'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
3683
- /**
3684
- * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3685
- * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3686
- */
3687
- 'react-naming-convention/id-name'?: Linter.RuleEntry<[]>
3688
- /**
3689
- * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3690
- * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3691
- */
3692
- 'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
3693
3598
  /**
3694
3599
  * Prevent JSX as JSX prop value
3695
3600
  */
@@ -3708,30 +3613,95 @@ interface RuleOptions {
3708
3613
  'react-perf/jsx-no-new-object-as-prop'?: Linter.RuleEntry<ReactPerfJsxNoNewObjectAsProp>
3709
3614
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
3710
3615
  /**
3711
- * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3712
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3616
+ * Disallows higher order functions that define components or hooks inside them.
3617
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3713
3618
  */
3714
- 'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
3619
+ 'react-x/component-hook-factories'?: Linter.RuleEntry<[]>
3715
3620
  /**
3716
- * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3717
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3621
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3622
+ * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3718
3623
  */
3719
- 'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
3624
+ 'react-x/dom-no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
3720
3625
  /**
3721
- * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3722
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3626
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3627
+ * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3723
3628
  */
3724
- 'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
3629
+ 'react-x/dom-no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
3725
3630
  /**
3726
- * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3727
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3631
+ * Disallows 'findDOMNode'.
3632
+ * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3728
3633
  */
3729
- 'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
3634
+ 'react-x/dom-no-find-dom-node'?: Linter.RuleEntry<[]>
3730
3635
  /**
3731
- * Disallows higher order functions that define components or hooks inside them.
3732
- * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3636
+ * Disallows 'flushSync'.
3637
+ * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3733
3638
  */
3734
- 'react-x/component-hook-factories'?: Linter.RuleEntry<[]>
3639
+ 'react-x/dom-no-flush-sync'?: Linter.RuleEntry<[]>
3640
+ /**
3641
+ * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3642
+ * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3643
+ */
3644
+ 'react-x/dom-no-hydrate'?: Linter.RuleEntry<[]>
3645
+ /**
3646
+ * Enforces an explicit 'type' attribute for 'button' elements.
3647
+ * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3648
+ */
3649
+ 'react-x/dom-no-missing-button-type'?: Linter.RuleEntry<[]>
3650
+ /**
3651
+ * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3652
+ * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3653
+ */
3654
+ 'react-x/dom-no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
3655
+ /**
3656
+ * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3657
+ * @see https://eslint-react.xyz/docs/rules/dom-no-render
3658
+ */
3659
+ 'react-x/dom-no-render'?: Linter.RuleEntry<[]>
3660
+ /**
3661
+ * Disallows the return value of 'ReactDOM.render'.
3662
+ * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3663
+ */
3664
+ 'react-x/dom-no-render-return-value'?: Linter.RuleEntry<[]>
3665
+ /**
3666
+ * Disallows 'javascript:' URLs as attribute values.
3667
+ * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3668
+ */
3669
+ 'react-x/dom-no-script-url'?: Linter.RuleEntry<[]>
3670
+ /**
3671
+ * Disallows the use of string style prop in JSX. Use an object instead.
3672
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3673
+ */
3674
+ 'react-x/dom-no-string-style-prop'?: Linter.RuleEntry<[]>
3675
+ /**
3676
+ * Disallows unknown 'DOM' properties.
3677
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3678
+ */
3679
+ 'react-x/dom-no-unknown-property'?: Linter.RuleEntry<ReactXDomNoUnknownProperty>
3680
+ /**
3681
+ * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3682
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3683
+ */
3684
+ 'react-x/dom-no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
3685
+ /**
3686
+ * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3687
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3688
+ */
3689
+ 'react-x/dom-no-unsafe-target-blank'?: Linter.RuleEntry<[]>
3690
+ /**
3691
+ * Replaces usage of 'useFormState' with 'useActionState'.
3692
+ * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3693
+ */
3694
+ 'react-x/dom-no-use-form-state'?: Linter.RuleEntry<[]>
3695
+ /**
3696
+ * Disallows 'children' in void DOM elements.
3697
+ * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3698
+ */
3699
+ 'react-x/dom-no-void-elements-with-children'?: Linter.RuleEntry<[]>
3700
+ /**
3701
+ * Enforces importing React DOM via a namespace import.
3702
+ * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3703
+ */
3704
+ 'react-x/dom-prefer-namespace-import'?: Linter.RuleEntry<[]>
3735
3705
  /**
3736
3706
  * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3737
3707
  * @see https://eslint-react.xyz/docs/rules/error-boundaries
@@ -3748,30 +3718,60 @@ interface RuleOptions {
3748
3718
  */
3749
3719
  'react-x/immutability'?: Linter.RuleEntry<[]>
3750
3720
  /**
3751
- * Prevents unintentional '$' sign before expression.
3752
- * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3721
+ * Disallows passing 'children' as a prop.
3722
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop
3753
3723
  */
3754
- 'react-x/jsx-dollar'?: Linter.RuleEntry<[]>
3724
+ 'react-x/jsx-no-children-prop'?: Linter.RuleEntry<[]>
3755
3725
  /**
3756
- * Enforces 'key' prop placement before spread props.
3757
- * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3726
+ * Disallows passing 'children' as a prop when children are also passed as nested content.
3727
+ * @see https://eslint-react.xyz/docs/rules/no-children-prop-with-children
3758
3728
  */
3759
- 'react-x/jsx-key-before-spread'?: Linter.RuleEntry<[]>
3729
+ 'react-x/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>
3760
3730
  /**
3761
- * Prevents comment strings (ex: beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
3762
- * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3731
+ * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
3732
+ * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
3763
3733
  */
3764
3734
  'react-x/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
3765
3735
  /**
3766
- * Enforces shorthand syntax for boolean props.
3767
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3736
+ * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3737
+ * @see https://eslint-react.xyz/docs/rules/no-key-after-spread
3738
+ */
3739
+ 'react-x/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>
3740
+ /**
3741
+ * Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
3742
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-dollar
3743
+ */
3744
+ 'react-x/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>
3745
+ /**
3746
+ * Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
3747
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-semicolon
3748
+ */
3749
+ 'react-x/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>
3750
+ /**
3751
+ * Disallow JSX namespace syntax, as React does not support them.
3752
+ * @see https://eslint-react.xyz/docs/rules/no-namespace
3753
+ */
3754
+ 'react-x/jsx-no-namespace'?: Linter.RuleEntry<[]>
3755
+ /**
3756
+ * Disallows useless fragment elements.
3757
+ * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3758
+ */
3759
+ 'react-x/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactXJsxNoUselessFragment>
3760
+ /**
3761
+ * Enforces the context name to be a valid component name with the suffix 'Context'.
3762
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3763
+ */
3764
+ 'react-x/naming-convention-context-name'?: Linter.RuleEntry<[]>
3765
+ /**
3766
+ * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3767
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3768
3768
  */
3769
- 'react-x/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactXJsxShorthandBoolean>
3769
+ 'react-x/naming-convention-id-name'?: Linter.RuleEntry<[]>
3770
3770
  /**
3771
- * Enforces shorthand syntax for fragment elements.
3772
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3771
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3772
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3773
3773
  */
3774
- 'react-x/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactXJsxShorthandFragment>
3774
+ 'react-x/naming-convention-ref-name'?: Linter.RuleEntry<[]>
3775
3775
  /**
3776
3776
  * Disallows accessing 'this.state' inside 'setState' calls.
3777
3777
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
@@ -3803,260 +3803,550 @@ interface RuleOptions {
3803
3803
  */
3804
3804
  'react-x/no-children-only'?: Linter.RuleEntry<[]>
3805
3805
  /**
3806
- * Disallows passing 'children' as a prop.
3807
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
3806
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3807
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3808
+ */
3809
+ 'react-x/no-children-to-array'?: Linter.RuleEntry<[]>
3810
+ /**
3811
+ * Disallows class components except for error boundaries.
3812
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
3813
+ */
3814
+ 'react-x/no-class-component'?: Linter.RuleEntry<[]>
3815
+ /**
3816
+ * Disallows 'cloneElement'.
3817
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
3818
+ */
3819
+ 'react-x/no-clone-element'?: Linter.RuleEntry<[]>
3820
+ /**
3821
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3822
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3823
+ */
3824
+ 'react-x/no-component-will-mount'?: Linter.RuleEntry<[]>
3825
+ /**
3826
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3827
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3828
+ */
3829
+ 'react-x/no-component-will-receive-props'?: Linter.RuleEntry<[]>
3830
+ /**
3831
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3832
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3833
+ */
3834
+ 'react-x/no-component-will-update'?: Linter.RuleEntry<[]>
3835
+ /**
3836
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3837
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
3838
+ */
3839
+ 'react-x/no-context-provider'?: Linter.RuleEntry<[]>
3840
+ /**
3841
+ * Disallows 'createRef' in function components.
3842
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
3843
+ */
3844
+ 'react-x/no-create-ref'?: Linter.RuleEntry<[]>
3845
+ /**
3846
+ * Disallows direct mutation of 'this.state'.
3847
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3848
+ */
3849
+ 'react-x/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3850
+ /**
3851
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
3852
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3853
+ */
3854
+ 'react-x/no-duplicate-key'?: Linter.RuleEntry<[]>
3855
+ /**
3856
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3857
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3858
+ */
3859
+ 'react-x/no-forward-ref'?: Linter.RuleEntry<[]>
3860
+ /**
3861
+ * Prevents implicitly passing the 'children' prop to components.
3862
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
3863
+ */
3864
+ 'react-x/no-implicit-children'?: Linter.RuleEntry<[]>
3865
+ /**
3866
+ * Prevents implicitly passing the 'key' prop to components.
3867
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3868
+ */
3869
+ 'react-x/no-implicit-key'?: Linter.RuleEntry<[]>
3870
+ /**
3871
+ * Prevents implicitly passing the 'ref' prop to components.
3872
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
3873
+ */
3874
+ 'react-x/no-implicit-ref'?: Linter.RuleEntry<[]>
3875
+ /**
3876
+ * Prevents problematic leaked values from being rendered.
3877
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3878
+ */
3879
+ 'react-x/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
3880
+ /**
3881
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
3882
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3883
+ */
3884
+ 'react-x/no-missing-component-display-name'?: Linter.RuleEntry<[]>
3885
+ /**
3886
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
3887
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3888
+ */
3889
+ 'react-x/no-missing-context-display-name'?: Linter.RuleEntry<[]>
3890
+ /**
3891
+ * Disallows missing 'key' on items in list rendering.
3892
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
3893
+ */
3894
+ 'react-x/no-missing-key'?: Linter.RuleEntry<[]>
3895
+ /**
3896
+ * Prevents incorrect usage of 'captureOwnerStack'.
3897
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3898
+ */
3899
+ 'react-x/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
3900
+ /**
3901
+ * Disallows nesting component definitions inside other components.
3902
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3903
+ */
3904
+ 'react-x/no-nested-component-definitions'?: Linter.RuleEntry<[]>
3905
+ /**
3906
+ * Disallows nesting lazy component declarations inside other components or hooks.
3907
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3908
+ */
3909
+ 'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3910
+ /**
3911
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3912
+ * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3913
+ */
3914
+ 'react-x/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3915
+ /**
3916
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3917
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3918
+ */
3919
+ 'react-x/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
3920
+ /**
3921
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3922
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3923
+ */
3924
+ 'react-x/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
3925
+ /**
3926
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3927
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3928
+ */
3929
+ 'react-x/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
3930
+ /**
3931
+ * Disallows unnecessary usage of 'useCallback'.
3932
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3933
+ */
3934
+ 'react-x/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3935
+ /**
3936
+ * Disallows unnecessary usage of 'useMemo'.
3937
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3938
+ */
3939
+ 'react-x/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3940
+ /**
3941
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3942
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3943
+ */
3944
+ 'react-x/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3945
+ /**
3946
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3947
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3948
+ */
3949
+ 'react-x/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
3950
+ /**
3951
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3952
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3953
+ */
3954
+ 'react-x/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3955
+ /**
3956
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3957
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3958
+ */
3959
+ 'react-x/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3960
+ /**
3961
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3962
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3963
+ */
3964
+ 'react-x/no-unstable-context-value'?: Linter.RuleEntry<[]>
3965
+ /**
3966
+ * Prevents using referential-type values as default props in object destructuring.
3967
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3968
+ */
3969
+ 'react-x/no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>
3970
+ /**
3971
+ * Warns about unused class component methods and properties.
3972
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3973
+ */
3974
+ 'react-x/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3975
+ /**
3976
+ * Warns about component props that are defined but never used.
3977
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3978
+ */
3979
+ 'react-x/no-unused-props'?: Linter.RuleEntry<[]>
3980
+ /**
3981
+ * Warns about unused class component state.
3982
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
3983
+ */
3984
+ 'react-x/no-unused-state'?: Linter.RuleEntry<[]>
3985
+ /**
3986
+ * Replaces usage of 'useContext' with 'use'.
3987
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
3988
+ */
3989
+ 'react-x/no-use-context'?: Linter.RuleEntry<[]>
3990
+ /**
3991
+ * Enforces destructuring assignment for component props and context.
3992
+ * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
3993
+ */
3994
+ 'react-x/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3995
+ /**
3996
+ * Enforces importing React via a namespace import.
3997
+ * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3998
+ */
3999
+ 'react-x/prefer-namespace-import'?: Linter.RuleEntry<[]>
4000
+ /**
4001
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
4002
+ * @see https://eslint-react.xyz/docs/rules/purity
4003
+ */
4004
+ 'react-x/purity'?: Linter.RuleEntry<[]>
4005
+ /**
4006
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
4007
+ * @see https://eslint-react.xyz/docs/rules/refs
4008
+ */
4009
+ 'react-x/refs'?: Linter.RuleEntry<[]>
4010
+ /**
4011
+ * Validates and transforms React Client/Server Function definitions.
4012
+ * @see https://eslint-react.xyz/docs/rules/function-definition
4013
+ */
4014
+ 'react-x/rsc-function-definition'?: Linter.RuleEntry<[]>
4015
+ /**
4016
+ * Enforces the Rules of Hooks.
4017
+ * @see https://react.dev/reference/rules/rules-of-hooks
4018
+ */
4019
+ 'react-x/rules-of-hooks'?: Linter.RuleEntry<ReactXRulesOfHooks>
4020
+ /**
4021
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
4022
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
4023
+ */
4024
+ 'react-x/set-state-in-effect'?: Linter.RuleEntry<[]>
4025
+ /**
4026
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
4027
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
4028
+ */
4029
+ 'react-x/set-state-in-render'?: Linter.RuleEntry<[]>
4030
+ /**
4031
+ * Validates against syntax that React Compiler does not support.
4032
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
4033
+ */
4034
+ 'react-x/unsupported-syntax'?: Linter.RuleEntry<[]>
4035
+ /**
4036
+ * Validates that 'useMemo' is called with a callback that returns a value.
4037
+ * @see https://eslint-react.xyz/docs/rules/use-memo
4038
+ */
4039
+ 'react-x/use-memo'?: Linter.RuleEntry<[]>
4040
+ /**
4041
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
4042
+ * @see https://eslint-react.xyz/docs/rules/use-state
4043
+ */
4044
+ 'react-x/use-state'?: Linter.RuleEntry<ReactXUseState>
4045
+ /**
4046
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
4047
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
4048
+ */
4049
+ 'react-x/web-api-no-leaked-event-listener'?: Linter.RuleEntry<[]>
4050
+ /**
4051
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
4052
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
4053
+ */
4054
+ 'react-x/web-api-no-leaked-interval'?: Linter.RuleEntry<[]>
4055
+ /**
4056
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
4057
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
4058
+ */
4059
+ 'react-x/web-api-no-leaked-resize-observer'?: Linter.RuleEntry<[]>
4060
+ /**
4061
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
4062
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
4063
+ */
4064
+ 'react-x/web-api-no-leaked-timeout'?: Linter.RuleEntry<[]>
4065
+ /**
4066
+ * Disallows higher order functions that define components or hooks inside them.
4067
+ * @see https://eslint-react.xyz/docs/rules/component-hook-factories
4068
+ */
4069
+ 'react-x/x-component-hook-factories'?: Linter.RuleEntry<[]>
4070
+ /**
4071
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
4072
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
4073
+ */
4074
+ 'react-x/x-error-boundaries'?: Linter.RuleEntry<[]>
4075
+ /**
4076
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
4077
+ * @see https://github.com/facebook/react/issues/14920
4078
+ */
4079
+ 'react-x/x-exhaustive-deps'?: Linter.RuleEntry<ReactXXExhaustiveDeps>
4080
+ /**
4081
+ * Validates against mutating props, state, and other values that are immutable.
4082
+ * @see https://eslint-react.xyz/docs/rules/immutability
4083
+ */
4084
+ 'react-x/x-immutability'?: Linter.RuleEntry<[]>
4085
+ /**
4086
+ * Disallows accessing 'this.state' inside 'setState' calls.
4087
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
4088
+ */
4089
+ 'react-x/x-no-access-state-in-setstate'?: Linter.RuleEntry<[]>
4090
+ /**
4091
+ * Disallows using an item's index in the array as its key.
4092
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
4093
+ */
4094
+ 'react-x/x-no-array-index-key'?: Linter.RuleEntry<[]>
4095
+ /**
4096
+ * Disallows the use of 'Children.count' from the 'react' package.
4097
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
4098
+ */
4099
+ 'react-x/x-no-children-count'?: Linter.RuleEntry<[]>
4100
+ /**
4101
+ * Disallows the use of 'Children.forEach' from the 'react' package.
4102
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
4103
+ */
4104
+ 'react-x/x-no-children-for-each'?: Linter.RuleEntry<[]>
4105
+ /**
4106
+ * Disallows the use of 'Children.map' from the 'react' package.
4107
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
4108
+ */
4109
+ 'react-x/x-no-children-map'?: Linter.RuleEntry<[]>
4110
+ /**
4111
+ * Disallows the use of 'Children.only' from the 'react' package.
4112
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
3808
4113
  */
3809
- 'react-x/no-children-prop'?: Linter.RuleEntry<[]>
4114
+ 'react-x/x-no-children-only'?: Linter.RuleEntry<[]>
3810
4115
  /**
3811
4116
  * Disallows the use of 'Children.toArray' from the 'react' package.
3812
4117
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3813
4118
  */
3814
- 'react-x/no-children-to-array'?: Linter.RuleEntry<[]>
4119
+ 'react-x/x-no-children-to-array'?: Linter.RuleEntry<[]>
3815
4120
  /**
3816
4121
  * Disallows class components except for error boundaries.
3817
4122
  * @see https://eslint-react.xyz/docs/rules/no-class-component
3818
4123
  */
3819
- 'react-x/no-class-component'?: Linter.RuleEntry<[]>
4124
+ 'react-x/x-no-class-component'?: Linter.RuleEntry<[]>
3820
4125
  /**
3821
4126
  * Disallows 'cloneElement'.
3822
4127
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3823
4128
  */
3824
- 'react-x/no-clone-element'?: Linter.RuleEntry<[]>
4129
+ 'react-x/x-no-clone-element'?: Linter.RuleEntry<[]>
3825
4130
  /**
3826
4131
  * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3827
4132
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3828
4133
  */
3829
- 'react-x/no-component-will-mount'?: Linter.RuleEntry<[]>
4134
+ 'react-x/x-no-component-will-mount'?: Linter.RuleEntry<[]>
3830
4135
  /**
3831
4136
  * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3832
4137
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3833
4138
  */
3834
- 'react-x/no-component-will-receive-props'?: Linter.RuleEntry<[]>
4139
+ 'react-x/x-no-component-will-receive-props'?: Linter.RuleEntry<[]>
3835
4140
  /**
3836
4141
  * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3837
4142
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3838
4143
  */
3839
- 'react-x/no-component-will-update'?: Linter.RuleEntry<[]>
4144
+ 'react-x/x-no-component-will-update'?: Linter.RuleEntry<[]>
3840
4145
  /**
3841
4146
  * Replaces usage of '<Context.Provider>' with '<Context>'.
3842
4147
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
3843
4148
  */
3844
- 'react-x/no-context-provider'?: Linter.RuleEntry<[]>
4149
+ 'react-x/x-no-context-provider'?: Linter.RuleEntry<[]>
3845
4150
  /**
3846
4151
  * Disallows 'createRef' in function components.
3847
4152
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3848
4153
  */
3849
- 'react-x/no-create-ref'?: Linter.RuleEntry<[]>
4154
+ 'react-x/x-no-create-ref'?: Linter.RuleEntry<[]>
3850
4155
  /**
3851
4156
  * Disallows direct mutation of 'this.state'.
3852
4157
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3853
4158
  */
3854
- 'react-x/no-direct-mutation-state'?: Linter.RuleEntry<[]>
4159
+ 'react-x/x-no-direct-mutation-state'?: Linter.RuleEntry<[]>
3855
4160
  /**
3856
4161
  * Prevents duplicate 'key' props on sibling elements when rendering lists.
3857
4162
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3858
4163
  */
3859
- 'react-x/no-duplicate-key'?: Linter.RuleEntry<[]>
4164
+ 'react-x/x-no-duplicate-key'?: Linter.RuleEntry<[]>
3860
4165
  /**
3861
4166
  * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3862
4167
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3863
4168
  */
3864
- 'react-x/no-forward-ref'?: Linter.RuleEntry<[]>
4169
+ 'react-x/x-no-forward-ref'?: Linter.RuleEntry<[]>
3865
4170
  /**
3866
4171
  * Prevents implicitly passing the 'children' prop to components.
3867
4172
  * @see https://eslint-react.xyz/docs/rules/no-implicit-children
3868
4173
  */
3869
- 'react-x/no-implicit-children'?: Linter.RuleEntry<[]>
4174
+ 'react-x/x-no-implicit-children'?: Linter.RuleEntry<[]>
3870
4175
  /**
3871
4176
  * Prevents implicitly passing the 'key' prop to components.
3872
4177
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3873
4178
  */
3874
- 'react-x/no-implicit-key'?: Linter.RuleEntry<[]>
4179
+ 'react-x/x-no-implicit-key'?: Linter.RuleEntry<[]>
3875
4180
  /**
3876
4181
  * Prevents implicitly passing the 'ref' prop to components.
3877
4182
  * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
3878
4183
  */
3879
- 'react-x/no-implicit-ref'?: Linter.RuleEntry<[]>
4184
+ 'react-x/x-no-implicit-ref'?: Linter.RuleEntry<[]>
3880
4185
  /**
3881
4186
  * Prevents problematic leaked values from being rendered.
3882
4187
  * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3883
4188
  */
3884
- 'react-x/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
4189
+ 'react-x/x-no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
3885
4190
  /**
3886
4191
  * Enforces that all components have a 'displayName' that can be used in DevTools.
3887
4192
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3888
4193
  */
3889
- 'react-x/no-missing-component-display-name'?: Linter.RuleEntry<[]>
4194
+ 'react-x/x-no-missing-component-display-name'?: Linter.RuleEntry<[]>
3890
4195
  /**
3891
4196
  * Enforces that all contexts have a 'displayName' that can be used in DevTools.
3892
4197
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3893
4198
  */
3894
- 'react-x/no-missing-context-display-name'?: Linter.RuleEntry<[]>
4199
+ 'react-x/x-no-missing-context-display-name'?: Linter.RuleEntry<[]>
3895
4200
  /**
3896
4201
  * Disallows missing 'key' on items in list rendering.
3897
4202
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
3898
4203
  */
3899
- 'react-x/no-missing-key'?: Linter.RuleEntry<[]>
4204
+ 'react-x/x-no-missing-key'?: Linter.RuleEntry<[]>
3900
4205
  /**
3901
4206
  * Prevents incorrect usage of 'captureOwnerStack'.
3902
4207
  * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3903
4208
  */
3904
- 'react-x/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
4209
+ 'react-x/x-no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
3905
4210
  /**
3906
4211
  * Disallows nesting component definitions inside other components.
3907
4212
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3908
4213
  */
3909
- 'react-x/no-nested-component-definitions'?: Linter.RuleEntry<[]>
4214
+ 'react-x/x-no-nested-component-definitions'?: Linter.RuleEntry<[]>
3910
4215
  /**
3911
- * Disallows nesting lazy component declarations inside other components.
4216
+ * Disallows nesting lazy component declarations inside other components or hooks.
3912
4217
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3913
4218
  */
3914
- 'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
4219
+ 'react-x/x-no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3915
4220
  /**
3916
4221
  * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3917
4222
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3918
4223
  */
3919
- 'react-x/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
4224
+ 'react-x/x-no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3920
4225
  /**
3921
4226
  * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3922
4227
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3923
4228
  */
3924
- 'react-x/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
4229
+ 'react-x/x-no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
3925
4230
  /**
3926
4231
  * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3927
4232
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3928
4233
  */
3929
- 'react-x/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
4234
+ 'react-x/x-no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
3930
4235
  /**
3931
4236
  * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3932
4237
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3933
4238
  */
3934
- 'react-x/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
4239
+ 'react-x/x-no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
3935
4240
  /**
3936
4241
  * Disallows unnecessary usage of 'useCallback'.
3937
4242
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3938
4243
  */
3939
- 'react-x/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
4244
+ 'react-x/x-no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3940
4245
  /**
3941
4246
  * Disallows unnecessary usage of 'useMemo'.
3942
4247
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3943
4248
  */
3944
- 'react-x/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
4249
+ 'react-x/x-no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3945
4250
  /**
3946
4251
  * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3947
4252
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3948
4253
  */
3949
- 'react-x/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
4254
+ 'react-x/x-no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3950
4255
  /**
3951
4256
  * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3952
4257
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3953
4258
  */
3954
- 'react-x/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
4259
+ 'react-x/x-no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
3955
4260
  /**
3956
4261
  * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3957
4262
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3958
4263
  */
3959
- 'react-x/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
4264
+ 'react-x/x-no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3960
4265
  /**
3961
4266
  * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3962
4267
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3963
4268
  */
3964
- 'react-x/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
4269
+ 'react-x/x-no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3965
4270
  /**
3966
4271
  * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3967
4272
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3968
4273
  */
3969
- 'react-x/no-unstable-context-value'?: Linter.RuleEntry<[]>
4274
+ 'react-x/x-no-unstable-context-value'?: Linter.RuleEntry<[]>
3970
4275
  /**
3971
4276
  * Prevents using referential-type values as default props in object destructuring.
3972
4277
  * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3973
4278
  */
3974
- 'react-x/no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>
4279
+ 'react-x/x-no-unstable-default-props'?: Linter.RuleEntry<ReactXXNoUnstableDefaultProps>
3975
4280
  /**
3976
4281
  * Warns about unused class component methods and properties.
3977
4282
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3978
4283
  */
3979
- 'react-x/no-unused-class-component-members'?: Linter.RuleEntry<[]>
4284
+ 'react-x/x-no-unused-class-component-members'?: Linter.RuleEntry<[]>
3980
4285
  /**
3981
4286
  * Warns about component props that are defined but never used.
3982
4287
  * @see https://eslint-react.xyz/docs/rules/no-unused-props
3983
4288
  */
3984
- 'react-x/no-unused-props'?: Linter.RuleEntry<[]>
4289
+ 'react-x/x-no-unused-props'?: Linter.RuleEntry<[]>
3985
4290
  /**
3986
4291
  * Warns about unused class component state.
3987
4292
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3988
4293
  */
3989
- 'react-x/no-unused-state'?: Linter.RuleEntry<[]>
4294
+ 'react-x/x-no-unused-state'?: Linter.RuleEntry<[]>
3990
4295
  /**
3991
4296
  * Replaces usage of 'useContext' with 'use'.
3992
4297
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3993
4298
  */
3994
- 'react-x/no-use-context'?: Linter.RuleEntry<[]>
3995
- /**
3996
- * Disallows useless fragment elements.
3997
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3998
- */
3999
- 'react-x/no-useless-fragment'?: Linter.RuleEntry<ReactXNoUselessFragment>
4299
+ 'react-x/x-no-use-context'?: Linter.RuleEntry<[]>
4000
4300
  /**
4001
4301
  * Enforces destructuring assignment for component props and context.
4002
4302
  * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
4003
4303
  */
4004
- 'react-x/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
4304
+ 'react-x/x-prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
4005
4305
  /**
4006
4306
  * Enforces importing React via a namespace import.
4007
4307
  * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
4008
4308
  */
4009
- 'react-x/prefer-namespace-import'?: Linter.RuleEntry<[]>
4309
+ 'react-x/x-prefer-namespace-import'?: Linter.RuleEntry<[]>
4010
4310
  /**
4011
4311
  * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
4012
4312
  * @see https://eslint-react.xyz/docs/rules/purity
4013
4313
  */
4014
- 'react-x/purity'?: Linter.RuleEntry<[]>
4314
+ 'react-x/x-purity'?: Linter.RuleEntry<[]>
4015
4315
  /**
4016
4316
  * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
4017
4317
  * @see https://eslint-react.xyz/docs/rules/refs
4018
4318
  */
4019
- 'react-x/refs'?: Linter.RuleEntry<[]>
4319
+ 'react-x/x-refs'?: Linter.RuleEntry<[]>
4020
4320
  /**
4021
4321
  * Enforces the Rules of Hooks.
4022
4322
  * @see https://react.dev/reference/rules/rules-of-hooks
4023
4323
  */
4024
- 'react-x/rules-of-hooks'?: Linter.RuleEntry<ReactXRulesOfHooks>
4324
+ 'react-x/x-rules-of-hooks'?: Linter.RuleEntry<ReactXXRulesOfHooks>
4025
4325
  /**
4026
4326
  * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
4027
4327
  * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
4028
4328
  */
4029
- 'react-x/set-state-in-effect'?: Linter.RuleEntry<[]>
4329
+ 'react-x/x-set-state-in-effect'?: Linter.RuleEntry<[]>
4030
4330
  /**
4031
4331
  * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
4032
4332
  * @see https://eslint-react.xyz/docs/rules/set-state-in-render
4033
4333
  */
4034
- 'react-x/set-state-in-render'?: Linter.RuleEntry<[]>
4035
- /**
4036
- * Enforces the Rules of Props.
4037
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-props
4038
- */
4039
- 'react-x/unstable-rules-of-props'?: Linter.RuleEntry<[]>
4040
- /**
4041
- * Enforces the Rules of State.
4042
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-state
4043
- */
4044
- 'react-x/unstable-rules-of-state'?: Linter.RuleEntry<[]>
4334
+ 'react-x/x-set-state-in-render'?: Linter.RuleEntry<[]>
4045
4335
  /**
4046
4336
  * Validates against syntax that React Compiler does not support.
4047
4337
  * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
4048
4338
  */
4049
- 'react-x/unsupported-syntax'?: Linter.RuleEntry<[]>
4339
+ 'react-x/x-unsupported-syntax'?: Linter.RuleEntry<[]>
4050
4340
  /**
4051
4341
  * Validates that 'useMemo' is called with a callback that returns a value.
4052
4342
  * @see https://eslint-react.xyz/docs/rules/use-memo
4053
4343
  */
4054
- 'react-x/use-memo'?: Linter.RuleEntry<[]>
4344
+ 'react-x/x-use-memo'?: Linter.RuleEntry<[]>
4055
4345
  /**
4056
4346
  * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
4057
4347
  * @see https://eslint-react.xyz/docs/rules/use-state
4058
4348
  */
4059
- 'react-x/use-state'?: Linter.RuleEntry<ReactXUseState>
4349
+ 'react-x/x-use-state'?: Linter.RuleEntry<ReactXXUseState>
4060
4350
  /**
4061
4351
  * Disallow adjusting state in an effect when a prop changes.
4062
4352
  * @see https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
@@ -6788,730 +7078,750 @@ interface RuleOptions {
6788
7078
  'tsdoc/syntax'?: Linter.RuleEntry<[]>
6789
7079
  /**
6790
7080
  * Improve regexes by making them shorter, consistent, and safer.
6791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/better-regex.md
7081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
6792
7082
  */
6793
7083
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
6794
7084
  /**
6795
7085
  * Enforce a specific parameter name in catch clauses.
6796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/catch-error-name.md
7086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
6797
7087
  */
6798
7088
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
6799
7089
  /**
6800
7090
  * Enforce consistent assertion style with `node:assert`.
6801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-assert.md
7091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
6802
7092
  */
6803
7093
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>
6804
7094
  /**
6805
7095
  * Prefer passing `Date` directly to the constructor when cloning.
6806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-date-clone.md
7096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
6807
7097
  */
6808
7098
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>
6809
7099
  /**
6810
7100
  * Use destructured variables over properties.
6811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-destructuring.md
7101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
6812
7102
  */
6813
7103
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
6814
7104
  /**
6815
7105
  * Prefer consistent types when spreading a ternary in an array literal.
6816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-empty-array-spread.md
7106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
6817
7107
  */
6818
7108
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
6819
7109
  /**
6820
7110
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-existence-index-check.md
7111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
6822
7112
  */
6823
7113
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>
6824
7114
  /**
6825
7115
  * Move function definitions to the highest possible scope.
6826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/consistent-function-scoping.md
7116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
6827
7117
  */
6828
7118
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
7119
+ /**
7120
+ * Enforce consistent style for escaping `${` in template literals.
7121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
7122
+ */
7123
+ 'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>
6829
7124
  /**
6830
7125
  * Enforce correct `Error` subclassing.
6831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/custom-error-definition.md
7126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
6832
7127
  */
6833
7128
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
6834
7129
  /**
6835
7130
  * Enforce no spaces between braces.
6836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/empty-brace-spaces.md
7131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
6837
7132
  */
6838
7133
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
6839
7134
  /**
6840
7135
  * Enforce passing a `message` value when creating a built-in error.
6841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/error-message.md
7136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
6842
7137
  */
6843
7138
  'unicorn/error-message'?: Linter.RuleEntry<[]>
6844
7139
  /**
6845
7140
  * Require escape sequences to use uppercase or lowercase values.
6846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/escape-case.md
7141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
6847
7142
  */
6848
7143
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>
6849
7144
  /**
6850
7145
  * Add expiration conditions to TODO comments.
6851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/expiring-todo-comments.md
7146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
6852
7147
  */
6853
7148
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
6854
7149
  /**
6855
7150
  * Enforce explicitly comparing the `length` or `size` property of a value.
6856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/explicit-length-check.md
7151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
6857
7152
  */
6858
7153
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
6859
7154
  /**
6860
7155
  * Enforce a case style for filenames.
6861
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/filename-case.md
7156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
6862
7157
  */
6863
7158
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
6864
7159
  /**
6865
7160
  * Enforce specific import styles per module.
6866
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/import-style.md
7161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
6867
7162
  */
6868
7163
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
6869
7164
  /**
6870
7165
  * Prevent usage of variables from outside the scope of isolated functions.
6871
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/isolated-functions.md
7166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
6872
7167
  */
6873
7168
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>
6874
7169
  /**
6875
7170
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
6876
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/new-for-builtins.md
7171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
6877
7172
  */
6878
7173
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
6879
7174
  /**
6880
7175
  * Enforce specifying rules to disable in `eslint-disable` comments.
6881
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-abusive-eslint-disable.md
7176
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
6882
7177
  */
6883
7178
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
6884
7179
  /**
6885
7180
  * Disallow recursive access to `this` within getters and setters.
6886
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-accessor-recursion.md
7181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
6887
7182
  */
6888
7183
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>
6889
7184
  /**
6890
7185
  * Disallow anonymous functions and classes as the default export.
6891
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-anonymous-default-export.md
7186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
6892
7187
  */
6893
7188
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
6894
7189
  /**
6895
7190
  * Prevent passing a function reference directly to iterator methods.
6896
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-callback-reference.md
7191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
6897
7192
  */
6898
7193
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
6899
7194
  /**
6900
7195
  * Prefer `for…of` over the `forEach` method.
6901
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-for-each.md
7196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
6902
7197
  */
6903
7198
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
6904
7199
  /**
6905
7200
  * Disallow using the `this` argument in array methods.
6906
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-method-this-argument.md
7201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
6907
7202
  */
6908
7203
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
6909
7204
  /**
6910
7205
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
6911
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
7206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
6912
7207
  * @deprecated
6913
7208
  */
6914
7209
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>
6915
7210
  /**
6916
7211
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
6917
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reduce.md
7212
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
6918
7213
  */
6919
7214
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
6920
7215
  /**
6921
7216
  * Prefer `Array#toReversed()` over `Array#reverse()`.
6922
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-reverse.md
7217
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
6923
7218
  */
6924
7219
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>
6925
7220
  /**
6926
7221
  * Prefer `Array#toSorted()` over `Array#sort()`.
6927
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-array-sort.md
7222
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
6928
7223
  */
6929
7224
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>
6930
7225
  /**
6931
7226
  * Disallow member access from await expression.
6932
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-expression-member.md
7227
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
6933
7228
  */
6934
7229
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
6935
7230
  /**
6936
7231
  * Disallow using `await` in `Promise` method parameters.
6937
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-await-in-promise-methods.md
7232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
6938
7233
  */
6939
7234
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
6940
7235
  /**
6941
7236
  * Do not use leading/trailing space between `console.log` parameters.
6942
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-console-spaces.md
7237
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
6943
7238
  */
6944
7239
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
6945
7240
  /**
6946
7241
  * Do not use `document.cookie` directly.
6947
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-document-cookie.md
7242
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
6948
7243
  */
6949
7244
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
6950
7245
  /**
6951
7246
  * Disallow empty files.
6952
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-empty-file.md
7247
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
6953
7248
  */
6954
7249
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
6955
7250
  /**
6956
7251
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
6957
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-for-loop.md
7252
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
6958
7253
  */
6959
7254
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
6960
7255
  /**
6961
7256
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
6962
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-hex-escape.md
7257
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
6963
7258
  */
6964
7259
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
6965
7260
  /**
6966
7261
  * Disallow immediate mutation after variable assignment.
6967
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-immediate-mutation.md
7262
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
6968
7263
  */
6969
7264
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>
6970
7265
  /**
6971
7266
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
6972
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7267
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
6973
7268
  * @deprecated
6974
7269
  */
6975
7270
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
6976
7271
  /**
6977
7272
  * Disallow `instanceof` with built-in objects
6978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-instanceof-builtins.md
7273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
6979
7274
  */
6980
7275
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>
6981
7276
  /**
6982
7277
  * Disallow invalid options in `fetch()` and `new Request()`.
6983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-fetch-options.md
7278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
6984
7279
  */
6985
7280
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
6986
7281
  /**
6987
7282
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
6988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-invalid-remove-event-listener.md
7283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
6989
7284
  */
6990
7285
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
6991
7286
  /**
6992
7287
  * Disallow identifiers starting with `new` or `class`.
6993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-keyword-prefix.md
7288
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
6994
7289
  */
6995
7290
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
6996
7291
  /**
6997
7292
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
6998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
6999
7294
  * @deprecated
7000
7295
  */
7001
7296
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>
7002
7297
  /**
7003
7298
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7004
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-lonely-if.md
7299
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
7005
7300
  */
7006
7301
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
7007
7302
  /**
7008
7303
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7009
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-magic-array-flat-depth.md
7304
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
7010
7305
  */
7011
7306
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
7012
7307
  /**
7013
7308
  * Disallow named usage of default import and export.
7014
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-named-default.md
7309
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
7015
7310
  */
7016
7311
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>
7017
7312
  /**
7018
7313
  * Disallow negated conditions.
7019
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negated-condition.md
7314
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
7020
7315
  */
7021
7316
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
7022
7317
  /**
7023
7318
  * Disallow negated expression in equality check.
7024
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-negation-in-equality-check.md
7319
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
7025
7320
  */
7026
7321
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
7027
7322
  /**
7028
7323
  * Disallow nested ternary expressions.
7029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-nested-ternary.md
7324
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
7030
7325
  */
7031
7326
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
7032
7327
  /**
7033
7328
  * Disallow `new Array()`.
7034
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-array.md
7329
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
7035
7330
  */
7036
7331
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
7037
7332
  /**
7038
7333
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7039
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-new-buffer.md
7334
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
7040
7335
  */
7041
7336
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
7042
7337
  /**
7043
7338
  * Disallow the use of the `null` literal.
7044
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-null.md
7339
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
7045
7340
  */
7046
7341
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
7047
7342
  /**
7048
7343
  * Disallow the use of objects as default parameters.
7049
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-object-as-default-parameter.md
7344
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
7050
7345
  */
7051
7346
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
7052
7347
  /**
7053
7348
  * Disallow `process.exit()`.
7054
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-process-exit.md
7349
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
7055
7350
  */
7056
7351
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
7057
7352
  /**
7058
7353
  * Disallow passing single-element arrays to `Promise` methods.
7059
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-single-promise-in-promise-methods.md
7354
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
7060
7355
  */
7061
7356
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
7062
7357
  /**
7063
7358
  * Disallow classes that only have static members.
7064
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-static-only-class.md
7359
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
7065
7360
  */
7066
7361
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
7067
7362
  /**
7068
7363
  * Disallow `then` property.
7069
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-thenable.md
7364
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
7070
7365
  */
7071
7366
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
7072
7367
  /**
7073
7368
  * Disallow assigning `this` to a variable.
7074
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-this-assignment.md
7369
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
7075
7370
  */
7076
7371
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
7077
7372
  /**
7078
7373
  * Disallow comparing `undefined` using `typeof`.
7079
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-typeof-undefined.md
7374
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
7080
7375
  */
7081
7376
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
7082
7377
  /**
7083
7378
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7084
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7379
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7085
7380
  */
7086
7381
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>
7087
7382
  /**
7088
7383
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7089
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-array-splice-count.md
7384
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
7090
7385
  */
7091
7386
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>
7092
7387
  /**
7093
7388
  * Disallow awaiting non-promise values.
7094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-await.md
7389
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
7095
7390
  */
7096
7391
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
7097
7392
  /**
7098
7393
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-polyfills.md
7394
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
7100
7395
  */
7101
7396
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
7102
7397
  /**
7103
7398
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unnecessary-slice-end.md
7399
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
7105
7400
  */
7106
7401
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>
7107
7402
  /**
7108
7403
  * Disallow unreadable array destructuring.
7109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-array-destructuring.md
7404
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
7110
7405
  */
7111
7406
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
7112
7407
  /**
7113
7408
  * Disallow unreadable IIFEs.
7114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unreadable-iife.md
7409
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
7115
7410
  */
7116
7411
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
7117
7412
  /**
7118
7413
  * Disallow unused object properties.
7119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-unused-properties.md
7414
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
7120
7415
  */
7121
7416
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
7122
7417
  /**
7123
7418
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
7124
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-collection-argument.md
7419
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
7125
7420
  */
7126
7421
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>
7127
7422
  /**
7128
7423
  * Disallow unnecessary `Error.captureStackTrace(…)`.
7129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7424
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7130
7425
  */
7131
7426
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>
7132
7427
  /**
7133
7428
  * Disallow useless fallback when spreading in object literals.
7134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-fallback-in-spread.md
7429
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
7135
7430
  */
7136
7431
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
7432
+ /**
7433
+ * Disallow unnecessary `.toArray()` on iterators.
7434
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
7435
+ */
7436
+ 'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>
7137
7437
  /**
7138
7438
  * Disallow useless array length check.
7139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-length-check.md
7439
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
7140
7440
  */
7141
7441
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
7142
7442
  /**
7143
7443
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7144
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-promise-resolve-reject.md
7444
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
7145
7445
  */
7146
7446
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
7147
7447
  /**
7148
7448
  * Disallow unnecessary spread.
7149
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-spread.md
7449
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
7150
7450
  */
7151
7451
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
7152
7452
  /**
7153
7453
  * Disallow useless case in switch statements.
7154
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-switch-case.md
7454
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
7155
7455
  */
7156
7456
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
7157
7457
  /**
7158
7458
  * Disallow useless `undefined`.
7159
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-useless-undefined.md
7459
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
7160
7460
  */
7161
7461
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
7162
7462
  /**
7163
7463
  * Disallow number literals with zero fractions or dangling dots.
7164
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/no-zero-fractions.md
7464
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
7165
7465
  */
7166
7466
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
7167
7467
  /**
7168
7468
  * Enforce proper case for numeric literals.
7169
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/number-literal-case.md
7469
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
7170
7470
  */
7171
7471
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>
7172
7472
  /**
7173
7473
  * Enforce the style of numeric separators by correctly grouping digits.
7174
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/numeric-separators-style.md
7474
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
7175
7475
  */
7176
7476
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
7177
7477
  /**
7178
7478
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7179
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-add-event-listener.md
7479
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
7180
7480
  */
7181
7481
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
7182
7482
  /**
7183
7483
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7184
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-find.md
7484
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
7185
7485
  */
7186
7486
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
7187
7487
  /**
7188
7488
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7189
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat.md
7489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
7190
7490
  */
7191
7491
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
7192
7492
  /**
7193
7493
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
7194
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-flat-map.md
7494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
7195
7495
  */
7196
7496
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
7197
7497
  /**
7198
7498
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7199
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-index-of.md
7499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
7200
7500
  */
7201
7501
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
7202
7502
  /**
7203
7503
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7204
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-array-some.md
7504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
7205
7505
  */
7206
7506
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
7207
7507
  /**
7208
7508
  * Prefer `.at()` method for index access and `String#charAt()`.
7209
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-at.md
7509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
7210
7510
  */
7211
7511
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
7212
7512
  /**
7213
7513
  * Prefer `BigInt` literals over the constructor.
7214
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-bigint-literals.md
7514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
7215
7515
  */
7216
7516
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>
7217
7517
  /**
7218
7518
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7219
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-blob-reading-methods.md
7519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
7220
7520
  */
7221
7521
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
7222
7522
  /**
7223
7523
  * Prefer class field declarations over `this` assignments in constructors.
7224
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-class-fields.md
7524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
7225
7525
  */
7226
7526
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>
7227
7527
  /**
7228
7528
  * Prefer using `Element#classList.toggle()` to toggle class names.
7229
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-classlist-toggle.md
7529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
7230
7530
  */
7231
7531
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>
7232
7532
  /**
7233
7533
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7234
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-code-point.md
7534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
7235
7535
  */
7236
7536
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
7237
7537
  /**
7238
7538
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7239
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-date-now.md
7539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
7240
7540
  */
7241
7541
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
7242
7542
  /**
7243
7543
  * Prefer default parameters over reassignment.
7244
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-default-parameters.md
7544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
7245
7545
  */
7246
7546
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
7247
7547
  /**
7248
7548
  * Prefer `Node#append()` over `Node#appendChild()`.
7249
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-append.md
7549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
7250
7550
  */
7251
7551
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
7252
7552
  /**
7253
7553
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
7254
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-dataset.md
7554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
7255
7555
  */
7256
7556
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
7257
7557
  /**
7258
7558
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7259
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-remove.md
7559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
7260
7560
  */
7261
7561
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
7262
7562
  /**
7263
7563
  * Prefer `.textContent` over `.innerText`.
7264
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-dom-node-text-content.md
7564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
7265
7565
  */
7266
7566
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
7267
7567
  /**
7268
7568
  * Prefer `EventTarget` over `EventEmitter`.
7269
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-event-target.md
7569
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
7270
7570
  */
7271
7571
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
7272
7572
  /**
7273
7573
  * Prefer `export…from` when re-exporting.
7274
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-export-from.md
7574
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
7275
7575
  */
7276
7576
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
7277
7577
  /**
7278
7578
  * Prefer `globalThis` over `window`, `self`, and `global`.
7279
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-global-this.md
7579
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
7280
7580
  */
7281
7581
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>
7282
7582
  /**
7283
7583
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7284
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-import-meta-properties.md
7584
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
7285
7585
  */
7286
7586
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>
7287
7587
  /**
7288
7588
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7289
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-includes.md
7589
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
7290
7590
  */
7291
7591
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
7292
7592
  /**
7293
7593
  * Prefer reading a JSON file as a buffer.
7294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-json-parse-buffer.md
7594
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
7295
7595
  */
7296
7596
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
7297
7597
  /**
7298
7598
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7299
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-keyboard-event-key.md
7599
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
7300
7600
  */
7301
7601
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
7302
7602
  /**
7303
7603
  * Prefer using a logical operator over a ternary.
7304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7604
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7305
7605
  */
7306
7606
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
7307
7607
  /**
7308
7608
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7309
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-min-max.md
7609
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
7310
7610
  */
7311
7611
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>
7312
7612
  /**
7313
7613
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-math-trunc.md
7614
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
7315
7615
  */
7316
7616
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
7317
7617
  /**
7318
7618
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-dom-apis.md
7619
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
7320
7620
  */
7321
7621
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
7322
7622
  /**
7323
7623
  * Prefer modern `Math` APIs over legacy patterns.
7324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-modern-math-apis.md
7624
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
7325
7625
  */
7326
7626
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
7327
7627
  /**
7328
7628
  * Prefer JavaScript modules (ESM) over CommonJS.
7329
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-module.md
7629
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
7330
7630
  */
7331
7631
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
7332
7632
  /**
7333
7633
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7334
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-native-coercion-functions.md
7634
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
7335
7635
  */
7336
7636
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
7337
7637
  /**
7338
7638
  * Prefer negative index over `.length - index` when possible.
7339
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-negative-index.md
7639
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
7340
7640
  */
7341
7641
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
7342
7642
  /**
7343
7643
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7344
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-node-protocol.md
7644
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
7345
7645
  */
7346
7646
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
7347
7647
  /**
7348
7648
  * Prefer `Number` static properties over global ones.
7349
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-number-properties.md
7649
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
7350
7650
  */
7351
7651
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
7352
7652
  /**
7353
7653
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7354
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-object-from-entries.md
7654
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
7355
7655
  */
7356
7656
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
7357
7657
  /**
7358
7658
  * Prefer omitting the `catch` binding parameter.
7359
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-optional-catch-binding.md
7659
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
7360
7660
  */
7361
7661
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
7362
7662
  /**
7363
7663
  * Prefer borrowing methods from the prototype instead of the instance.
7364
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-prototype-methods.md
7664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
7365
7665
  */
7366
7666
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
7367
7667
  /**
7368
7668
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7369
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-query-selector.md
7669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
7370
7670
  */
7371
7671
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
7372
7672
  /**
7373
7673
  * Prefer `Reflect.apply()` over `Function#apply()`.
7374
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-reflect-apply.md
7674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
7375
7675
  */
7376
7676
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
7377
7677
  /**
7378
7678
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7379
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-regexp-test.md
7679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
7380
7680
  */
7381
7681
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
7382
7682
  /**
7383
7683
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7384
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-response-static-json.md
7684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
7385
7685
  */
7386
7686
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>
7387
7687
  /**
7388
7688
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7389
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-has.md
7689
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
7390
7690
  */
7391
7691
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
7392
7692
  /**
7393
7693
  * Prefer using `Set#size` instead of `Array#length`.
7394
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-set-size.md
7694
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
7395
7695
  */
7396
7696
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
7697
+ /**
7698
+ * Prefer simple conditions first in logical expressions.
7699
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
7700
+ */
7701
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>
7397
7702
  /**
7398
7703
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7399
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-single-call.md
7704
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
7400
7705
  */
7401
7706
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>
7402
7707
  /**
7403
7708
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7404
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-spread.md
7709
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
7405
7710
  */
7406
7711
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
7407
7712
  /**
7408
7713
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7409
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-raw.md
7714
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
7410
7715
  */
7411
7716
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
7412
7717
  /**
7413
7718
  * Prefer `String#replaceAll()` over regex searches with the global flag.
7414
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-replace-all.md
7719
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
7415
7720
  */
7416
7721
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
7417
7722
  /**
7418
7723
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7419
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-slice.md
7724
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
7420
7725
  */
7421
7726
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
7422
7727
  /**
7423
7728
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7424
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-starts-ends-with.md
7729
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
7425
7730
  */
7426
7731
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
7427
7732
  /**
7428
7733
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7429
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-string-trim-start-end.md
7734
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
7430
7735
  */
7431
7736
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
7432
7737
  /**
7433
7738
  * Prefer using `structuredClone` to create a deep clone.
7434
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-structured-clone.md
7739
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
7435
7740
  */
7436
7741
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
7437
7742
  /**
7438
7743
  * Prefer `switch` over multiple `else-if`.
7439
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-switch.md
7744
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
7440
7745
  */
7441
7746
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
7442
7747
  /**
7443
7748
  * Prefer ternary expressions over simple `if-else` statements.
7444
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-ternary.md
7749
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
7445
7750
  */
7446
7751
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
7447
7752
  /**
7448
7753
  * Prefer top-level await over top-level promises and async function calls.
7449
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-top-level-await.md
7754
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
7450
7755
  */
7451
7756
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
7452
7757
  /**
7453
7758
  * Enforce throwing `TypeError` in type checking conditions.
7454
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prefer-type-error.md
7759
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
7455
7760
  */
7456
7761
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
7457
7762
  /**
7458
7763
  * Prevent abbreviations.
7459
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/prevent-abbreviations.md
7764
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
7460
7765
  */
7461
7766
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
7462
7767
  /**
7463
7768
  * Enforce consistent relative URL style.
7464
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/relative-url-style.md
7769
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
7465
7770
  */
7466
7771
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
7467
7772
  /**
7468
7773
  * Enforce using the separator argument with `Array#join()`.
7469
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-array-join-separator.md
7774
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
7470
7775
  */
7471
7776
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
7472
7777
  /**
7473
7778
  * Require non-empty module attributes for imports and exports
7474
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-attributes.md
7779
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
7475
7780
  */
7476
7781
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>
7477
7782
  /**
7478
7783
  * Require non-empty specifier list in import and export statements.
7479
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-module-specifiers.md
7784
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
7480
7785
  */
7481
7786
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>
7482
7787
  /**
7483
7788
  * Enforce using the digits argument with `Number#toFixed()`.
7484
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7789
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7485
7790
  */
7486
7791
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
7487
7792
  /**
7488
7793
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7489
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/require-post-message-target-origin.md
7794
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
7490
7795
  */
7491
7796
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
7492
7797
  /**
7493
7798
  * Enforce better string content.
7494
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/string-content.md
7799
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
7495
7800
  */
7496
7801
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
7497
7802
  /**
7498
7803
  * Enforce consistent brace style for `case` clauses.
7499
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/switch-case-braces.md
7804
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
7500
7805
  */
7501
7806
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
7807
+ /**
7808
+ * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7809
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
7810
+ */
7811
+ 'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>
7502
7812
  /**
7503
7813
  * Fix whitespace-insensitive template indentation.
7504
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/template-indent.md
7814
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
7505
7815
  */
7506
7816
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
7507
7817
  /**
7508
7818
  * Enforce consistent case for text encoding identifiers.
7509
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/text-encoding-identifier-case.md
7819
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
7510
7820
  */
7511
7821
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>
7512
7822
  /**
7513
7823
  * Require `new` when creating an error.
7514
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v63.0.0/docs/rules/throw-new-error.md
7824
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
7515
7825
  */
7516
7826
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
7517
7827
  /**
@@ -12936,95 +13246,273 @@ type NShebang = []|[{
12936
13246
  [k: string]: [string, string]
12937
13247
  } | [{
12938
13248
 
12939
- include: [string, ...(string)[]]
12940
- exclude?: string[]
13249
+ include: [string, ...(string)[]]
13250
+ exclude?: string[]
13251
+
13252
+ replace: [string, string]
13253
+ }, ...({
13254
+
13255
+ include: [string, ...(string)[]]
13256
+ exclude?: string[]
13257
+
13258
+ replace: [string, string]
13259
+ })[]])
13260
+ ignoreUnpublished?: boolean
13261
+ additionalExecutables?: string[]
13262
+ executableMap?: {
13263
+ [k: string]: string
13264
+ }
13265
+ }]
13266
+ // ----- no-secrets/no-pattern-match -----
13267
+ type NoSecretsNoPatternMatch = {
13268
+
13269
+ patterns: {
13270
+
13271
+ [k: string]: (string | {}) | undefined
13272
+ }
13273
+ }[]
13274
+ // ----- no-secrets/no-secrets -----
13275
+ type NoSecretsNoSecrets = {
13276
+
13277
+ tolerance: number
13278
+
13279
+ ignoreModules: boolean
13280
+
13281
+ ignoreCase: boolean
13282
+
13283
+ ignoreContent: ((string | {}) | (string | {})[])
13284
+
13285
+ ignoreIdentifiers: ((string | {}) | (string | {})[])
13286
+
13287
+ additionalDelimiters: ((string | {}) | (string | {})[])
13288
+
13289
+ additionalRegexes: {
13290
+
13291
+ [k: string]: (string | {}) | undefined
13292
+ }
13293
+ }[]
13294
+ // ----- no-unsanitized/method -----
13295
+ type NoUnsanitizedMethod = []|[{
13296
+ defaultDisable?: boolean
13297
+ escape?: {
13298
+ taggedTemplates?: []|[string]
13299
+ methods?: []|[string]
13300
+ [k: string]: unknown | undefined
13301
+ }
13302
+ objectMatches?: unknown[]
13303
+ properties?: unknown[]
13304
+ variableTracing?: boolean
13305
+ }]|[{
13306
+ defaultDisable?: boolean
13307
+ escape?: {
13308
+ taggedTemplates?: []|[string]
13309
+ methods?: []|[string]
13310
+ [k: string]: unknown | undefined
13311
+ }
13312
+ objectMatches?: unknown[]
13313
+ properties?: unknown[]
13314
+ variableTracing?: boolean
13315
+ }, {
13316
+ [k: string]: unknown | undefined
13317
+ }]
13318
+ // ----- no-unsanitized/property -----
13319
+ type NoUnsanitizedProperty = []|[{
13320
+ escape?: {
13321
+ taggedTemplates?: []|[string]
13322
+ methods?: []|[string]
13323
+ [k: string]: unknown | undefined
13324
+ }
13325
+ variableTracing?: boolean
13326
+ }]|[{
13327
+ escape?: {
13328
+ taggedTemplates?: []|[string]
13329
+ methods?: []|[string]
13330
+ [k: string]: unknown | undefined
13331
+ }
13332
+ variableTracing?: boolean
13333
+ }, {
13334
+ [k: string]: unknown | undefined
13335
+ }]
13336
+ // ----- perfectionist/sort-array-includes -----
13337
+ type PerfectionistSortArrayIncludes = {
13338
+
13339
+ fallbackSort?: {
13340
+
13341
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13342
+
13343
+ order?: ("asc" | "desc")
13344
+ }
13345
+
13346
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13347
+
13348
+ specialCharacters?: ("remove" | "trim" | "keep")
13349
+
13350
+ ignoreCase?: boolean
13351
+
13352
+ alphabet?: string
13353
+
13354
+ locales?: (string | string[])
13355
+
13356
+ order?: ("asc" | "desc")
13357
+
13358
+ customGroups?: ({
13359
+
13360
+ fallbackSort?: {
13361
+
13362
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13363
+
13364
+ order?: ("asc" | "desc")
13365
+ }
13366
+
13367
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13368
+
13369
+ groupName: string
13370
+ newlinesInside?: ("ignore" | number)
13371
+
13372
+ order?: ("asc" | "desc")
13373
+
13374
+ anyOf: [{
13375
+
13376
+ elementNamePattern?: (({
13377
+
13378
+ pattern: string
13379
+
13380
+ flags?: string
13381
+ } | string)[] | ({
13382
+
13383
+ pattern: string
13384
+
13385
+ flags?: string
13386
+ } | string))
13387
+
13388
+ selector?: "literal"
13389
+ }, ...({
13390
+
13391
+ elementNamePattern?: (({
13392
+
13393
+ pattern: string
13394
+
13395
+ flags?: string
13396
+ } | string)[] | ({
13397
+
13398
+ pattern: string
13399
+
13400
+ flags?: string
13401
+ } | string))
13402
+
13403
+ selector?: "literal"
13404
+ })[]]
13405
+ } | {
13406
+
13407
+ fallbackSort?: {
13408
+
13409
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13410
+
13411
+ order?: ("asc" | "desc")
13412
+ }
13413
+
13414
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13415
+
13416
+ groupName: string
13417
+ newlinesInside?: ("ignore" | number)
13418
+
13419
+ order?: ("asc" | "desc")
13420
+
13421
+ elementNamePattern?: (({
13422
+
13423
+ pattern: string
13424
+
13425
+ flags?: string
13426
+ } | string)[] | ({
13427
+
13428
+ pattern: string
13429
+
13430
+ flags?: string
13431
+ } | string))
13432
+
13433
+ selector?: "literal"
13434
+ })[]
13435
+ newlinesInside?: (("ignore" | number) | "newlinesBetween")
13436
+
13437
+ groups?: (string | [string, ...(string)[]] | {
13438
+ newlinesBetween: ("ignore" | number)
13439
+ } | {
13440
+ group: (string | [string, ...(string)[]])
13441
+
13442
+ fallbackSort?: {
13443
+
13444
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13445
+
13446
+ order?: ("asc" | "desc")
13447
+ }
12941
13448
 
12942
- replace: [string, string]
12943
- }, ...({
13449
+ commentAbove?: string
12944
13450
 
12945
- include: [string, ...(string)[]]
12946
- exclude?: string[]
13451
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order")
13452
+ newlinesInside?: ("ignore" | number)
12947
13453
 
12948
- replace: [string, string]
12949
- })[]])
12950
- ignoreUnpublished?: boolean
12951
- additionalExecutables?: string[]
12952
- executableMap?: {
12953
- [k: string]: string
12954
- }
12955
- }]
12956
- // ----- no-secrets/no-pattern-match -----
12957
- type NoSecretsNoPatternMatch = {
13454
+ order?: ("asc" | "desc")
13455
+ })[]
13456
+ newlinesBetween?: ("ignore" | number)
12958
13457
 
12959
- patterns: {
13458
+ useConfigurationIf?: {
12960
13459
 
12961
- [k: string]: (string | {}) | undefined
13460
+ allNamesMatchPattern?: (({
13461
+
13462
+ pattern: string
13463
+
13464
+ flags?: string
13465
+ } | string)[] | ({
13466
+
13467
+ pattern: string
13468
+
13469
+ flags?: string
13470
+ } | string))
13471
+
13472
+ matchesAstSelector?: string
12962
13473
  }
12963
- }[]
12964
- // ----- no-secrets/no-secrets -----
12965
- type NoSecretsNoSecrets = {
12966
-
12967
- tolerance: number
12968
-
12969
- ignoreModules: boolean
12970
-
12971
- ignoreCase: boolean
12972
13474
 
12973
- ignoreContent: ((string | {}) | (string | {})[])
12974
-
12975
- ignoreIdentifiers: ((string | {}) | (string | {})[])
12976
-
12977
- additionalDelimiters: ((string | {}) | (string | {})[])
12978
-
12979
- additionalRegexes: {
13475
+ partitionByComment?: (boolean | (({
12980
13476
 
12981
- [k: string]: (string | {}) | undefined
12982
- }
13477
+ pattern: string
13478
+
13479
+ flags?: string
13480
+ } | string)[] | ({
13481
+
13482
+ pattern: string
13483
+
13484
+ flags?: string
13485
+ } | string)) | {
13486
+
13487
+ block?: (boolean | (({
13488
+
13489
+ pattern: string
13490
+
13491
+ flags?: string
13492
+ } | string)[] | ({
13493
+
13494
+ pattern: string
13495
+
13496
+ flags?: string
13497
+ } | string)))
13498
+
13499
+ line?: (boolean | (({
13500
+
13501
+ pattern: string
13502
+
13503
+ flags?: string
13504
+ } | string)[] | ({
13505
+
13506
+ pattern: string
13507
+
13508
+ flags?: string
13509
+ } | string)))
13510
+ })
13511
+
13512
+ partitionByNewLine?: boolean
12983
13513
  }[]
12984
- // ----- no-unsanitized/method -----
12985
- type NoUnsanitizedMethod = []|[{
12986
- defaultDisable?: boolean
12987
- escape?: {
12988
- taggedTemplates?: []|[string]
12989
- methods?: []|[string]
12990
- [k: string]: unknown | undefined
12991
- }
12992
- objectMatches?: unknown[]
12993
- properties?: unknown[]
12994
- variableTracing?: boolean
12995
- }]|[{
12996
- defaultDisable?: boolean
12997
- escape?: {
12998
- taggedTemplates?: []|[string]
12999
- methods?: []|[string]
13000
- [k: string]: unknown | undefined
13001
- }
13002
- objectMatches?: unknown[]
13003
- properties?: unknown[]
13004
- variableTracing?: boolean
13005
- }, {
13006
- [k: string]: unknown | undefined
13007
- }]
13008
- // ----- no-unsanitized/property -----
13009
- type NoUnsanitizedProperty = []|[{
13010
- escape?: {
13011
- taggedTemplates?: []|[string]
13012
- methods?: []|[string]
13013
- [k: string]: unknown | undefined
13014
- }
13015
- variableTracing?: boolean
13016
- }]|[{
13017
- escape?: {
13018
- taggedTemplates?: []|[string]
13019
- methods?: []|[string]
13020
- [k: string]: unknown | undefined
13021
- }
13022
- variableTracing?: boolean
13023
- }, {
13024
- [k: string]: unknown | undefined
13025
- }]
13026
- // ----- perfectionist/sort-array-includes -----
13027
- type PerfectionistSortArrayIncludes = {
13514
+ // ----- perfectionist/sort-arrays -----
13515
+ type PerfectionistSortArrays = {
13028
13516
 
13029
13517
  fallbackSort?: {
13030
13518
 
@@ -13145,7 +13633,7 @@ type PerfectionistSortArrayIncludes = {
13145
13633
  })[]
13146
13634
  newlinesBetween?: ("ignore" | number)
13147
13635
 
13148
- useConfigurationIf?: {
13636
+ useConfigurationIf: {
13149
13637
 
13150
13638
  allNamesMatchPattern?: (({
13151
13639
 
@@ -17339,11 +17827,6 @@ type PromiseSpecOnly = []|[{
17339
17827
  type PromiseValidParams = []|[{
17340
17828
  exclude?: string[]
17341
17829
  }]
17342
- // ----- react-dom/no-unknown-property -----
17343
- type ReactDomNoUnknownProperty = []|[{
17344
- ignore?: string[]
17345
- requireDataLowercase?: boolean
17346
- }]
17347
17830
  // ----- react-hooks/automatic-effect-dependencies -----
17348
17831
  type ReactHooksAutomaticEffectDependencies = []|[{
17349
17832
  [k: string]: unknown | undefined
@@ -17486,6 +17969,11 @@ type ReactRefreshOnlyExportComponents = []|[{
17486
17969
  allowConstantExport?: boolean
17487
17970
  checkJS?: boolean
17488
17971
  }]
17972
+ // ----- react-x/dom-no-unknown-property -----
17973
+ type ReactXDomNoUnknownProperty = []|[{
17974
+ ignore?: string[]
17975
+ requireDataLowercase?: boolean
17976
+ }]
17489
17977
  // ----- react-x/exhaustive-deps -----
17490
17978
  type ReactXExhaustiveDeps = []|[{
17491
17979
  additionalHooks?: string
@@ -17493,21 +17981,17 @@ type ReactXExhaustiveDeps = []|[{
17493
17981
  experimental_autoDependenciesHooks?: string[]
17494
17982
  requireExplicitEffectDeps?: boolean
17495
17983
  }]
17496
- // ----- react-x/jsx-shorthand-boolean -----
17497
- type ReactXJsxShorthandBoolean = []|[(-1 | 1)]
17498
- // ----- react-x/jsx-shorthand-fragment -----
17499
- type ReactXJsxShorthandFragment = []|[(-1 | 1)]
17500
- // ----- react-x/no-unstable-default-props -----
17501
- type ReactXNoUnstableDefaultProps = []|[{
17502
- safeDefaultProps?: string[]
17503
- }]
17504
- // ----- react-x/no-useless-fragment -----
17505
- type ReactXNoUselessFragment = []|[{
17984
+ // ----- react-x/jsx-no-useless-fragment -----
17985
+ type ReactXJsxNoUselessFragment = []|[{
17506
17986
 
17507
17987
  allowEmptyFragment?: boolean
17508
17988
 
17509
17989
  allowExpressions?: boolean
17510
17990
  }]
17991
+ // ----- react-x/no-unstable-default-props -----
17992
+ type ReactXNoUnstableDefaultProps = []|[{
17993
+ safeDefaultProps?: string[]
17994
+ }]
17511
17995
  // ----- react-x/rules-of-hooks -----
17512
17996
  type ReactXRulesOfHooks = []|[{
17513
17997
  additionalHooks?: string
@@ -17518,6 +18002,27 @@ type ReactXUseState = []|[{
17518
18002
  enforceLazyInitialization?: boolean
17519
18003
  enforceSetterName?: boolean
17520
18004
  }]
18005
+ // ----- react-x/x-exhaustive-deps -----
18006
+ type ReactXXExhaustiveDeps = []|[{
18007
+ additionalHooks?: string
18008
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
18009
+ experimental_autoDependenciesHooks?: string[]
18010
+ requireExplicitEffectDeps?: boolean
18011
+ }]
18012
+ // ----- react-x/x-no-unstable-default-props -----
18013
+ type ReactXXNoUnstableDefaultProps = []|[{
18014
+ safeDefaultProps?: string[]
18015
+ }]
18016
+ // ----- react-x/x-rules-of-hooks -----
18017
+ type ReactXXRulesOfHooks = []|[{
18018
+ additionalHooks?: string
18019
+ }]
18020
+ // ----- react-x/x-use-state -----
18021
+ type ReactXXUseState = []|[{
18022
+ enforceAssignment?: boolean
18023
+ enforceLazyInitialization?: boolean
18024
+ enforceSetterName?: boolean
18025
+ }]
17521
18026
  // ----- react/boolean-prop-naming -----
17522
18027
  type ReactBooleanPropNaming = []|[{
17523
18028
 
@@ -18496,25 +19001,36 @@ type TomlSpacedComment = []|[("always" | "never")]|[("always" | "never"), {
18496
19001
  type TomlTableBracketSpacing = []|[("always" | "never")]
18497
19002
  // ----- unicorn/better-regex -----
18498
19003
  type UnicornBetterRegex = []|[{
19004
+
18499
19005
  sortCharacterClasses?: boolean
18500
19006
  }]
18501
19007
  // ----- unicorn/catch-error-name -----
18502
19008
  type UnicornCatchErrorName = []|[{
19009
+
18503
19010
  name?: string
19011
+
18504
19012
  ignore?: unknown[]
18505
19013
  }]
18506
19014
  // ----- unicorn/consistent-function-scoping -----
18507
19015
  type UnicornConsistentFunctionScoping = []|[{
19016
+
18508
19017
  checkArrowFunctions?: boolean
18509
19018
  }]
18510
19019
  // ----- unicorn/escape-case -----
18511
19020
  type UnicornEscapeCase = []|[("uppercase" | "lowercase")]
18512
19021
  // ----- unicorn/expiring-todo-comments -----
18513
19022
  type UnicornExpiringTodoComments = []|[{
19023
+
18514
19024
  terms?: string[]
19025
+
18515
19026
  ignore?: unknown[]
19027
+
19028
+ ignoreDates?: boolean
19029
+
18516
19030
  ignoreDatesOnPullRequests?: boolean
19031
+
18517
19032
  allowWarningComments?: boolean
19033
+
18518
19034
  date?: string
18519
19035
  }]
18520
19036
  // ----- unicorn/explicit-length-check -----
@@ -18523,25 +19039,40 @@ type UnicornExplicitLengthCheck = []|[{
18523
19039
  }]
18524
19040
  // ----- unicorn/filename-case -----
18525
19041
  type UnicornFilenameCase = []|[({
19042
+
18526
19043
  case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase")
19044
+
18527
19045
  ignore?: unknown[]
19046
+
18528
19047
  multipleFileExtensions?: boolean
18529
19048
  } | {
19049
+
18530
19050
  cases?: {
19051
+
18531
19052
  camelCase?: boolean
19053
+
18532
19054
  snakeCase?: boolean
19055
+
18533
19056
  kebabCase?: boolean
19057
+
18534
19058
  pascalCase?: boolean
18535
19059
  }
19060
+
18536
19061
  ignore?: unknown[]
19062
+
18537
19063
  multipleFileExtensions?: boolean
18538
19064
  })]
18539
19065
  // ----- unicorn/import-style -----
18540
19066
  type UnicornImportStyle = []|[{
19067
+
18541
19068
  checkImport?: boolean
19069
+
18542
19070
  checkDynamicImport?: boolean
19071
+
18543
19072
  checkExportFrom?: boolean
19073
+
18544
19074
  checkRequire?: boolean
19075
+
18545
19076
  extendDefaultStyles?: boolean
18546
19077
  styles?: _UnicornImportStyle_ModuleStyles
18547
19078
  }]
@@ -18554,15 +19085,20 @@ interface _UnicornImportStyle_BooleanObject {
18554
19085
  }
18555
19086
  // ----- unicorn/isolated-functions -----
18556
19087
  type UnicornIsolatedFunctions = []|[{
19088
+
18557
19089
  overrideGlobals?: {
18558
19090
  [k: string]: (boolean | ("readonly" | "writable" | "writeable" | "off")) | undefined
18559
19091
  }
19092
+
18560
19093
  functions?: string[]
19094
+
18561
19095
  selectors?: string[]
19096
+
18562
19097
  comments?: string[]
18563
19098
  }]
18564
19099
  // ----- unicorn/no-array-reduce -----
18565
19100
  type UnicornNoArrayReduce = []|[{
19101
+
18566
19102
  allowSimpleOperations?: boolean
18567
19103
  }]
18568
19104
  // ----- unicorn/no-array-reverse -----
@@ -18584,26 +19120,33 @@ type UnicornNoInstanceofBuiltins = []|[{
18584
19120
  type UnicornNoKeywordPrefix = []|[{
18585
19121
 
18586
19122
  disallowedPrefixes?: []|[string]
19123
+
18587
19124
  checkProperties?: boolean
19125
+
18588
19126
  onlyCamelCase?: boolean
18589
19127
  }]
18590
19128
  // ----- unicorn/no-null -----
18591
19129
  type UnicornNoNull = []|[{
19130
+
18592
19131
  checkStrictEquality?: boolean
18593
19132
  }]
18594
19133
  // ----- unicorn/no-typeof-undefined -----
18595
19134
  type UnicornNoTypeofUndefined = []|[{
19135
+
18596
19136
  checkGlobalVariables?: boolean
18597
19137
  }]
18598
19138
  // ----- unicorn/no-unnecessary-polyfills -----
18599
19139
  type UnicornNoUnnecessaryPolyfills = []|[{
19140
+
18600
19141
  targets: (string | unknown[] | {
18601
19142
  [k: string]: unknown | undefined
18602
19143
  })
18603
19144
  }]
18604
19145
  // ----- unicorn/no-useless-undefined -----
18605
19146
  type UnicornNoUselessUndefined = []|[{
19147
+
18606
19148
  checkArguments?: boolean
19149
+
18607
19150
  checkArrowFunctionBody?: boolean
18608
19151
  }]
18609
19152
  // ----- unicorn/number-literal-case -----
@@ -18613,84 +19156,119 @@ type UnicornNumberLiteralCase = []|[{
18613
19156
  // ----- unicorn/numeric-separators-style -----
18614
19157
  type UnicornNumericSeparatorsStyle = []|[{
18615
19158
  binary?: {
19159
+
18616
19160
  onlyIfContainsSeparator?: boolean
19161
+
18617
19162
  minimumDigits?: number
19163
+
18618
19164
  groupLength?: number
18619
19165
  }
18620
19166
  octal?: {
19167
+
18621
19168
  onlyIfContainsSeparator?: boolean
19169
+
18622
19170
  minimumDigits?: number
19171
+
18623
19172
  groupLength?: number
18624
19173
  }
18625
19174
  hexadecimal?: {
19175
+
18626
19176
  onlyIfContainsSeparator?: boolean
19177
+
18627
19178
  minimumDigits?: number
19179
+
18628
19180
  groupLength?: number
18629
19181
  }
18630
19182
  number?: {
19183
+
18631
19184
  onlyIfContainsSeparator?: boolean
19185
+
18632
19186
  minimumDigits?: number
19187
+
18633
19188
  groupLength?: number
18634
19189
  }
19190
+
18635
19191
  onlyIfContainsSeparator?: boolean
18636
19192
  }]
18637
19193
  // ----- unicorn/prefer-add-event-listener -----
18638
19194
  type UnicornPreferAddEventListener = []|[{
19195
+
18639
19196
  excludedPackages?: string[]
18640
19197
  }]
18641
19198
  // ----- unicorn/prefer-array-find -----
18642
19199
  type UnicornPreferArrayFind = []|[{
19200
+
18643
19201
  checkFromLast?: boolean
18644
19202
  }]
18645
19203
  // ----- unicorn/prefer-array-flat -----
18646
19204
  type UnicornPreferArrayFlat = []|[{
19205
+
18647
19206
  functions?: unknown[]
18648
19207
  }]
18649
19208
  // ----- unicorn/prefer-at -----
18650
19209
  type UnicornPreferAt = []|[{
19210
+
18651
19211
  getLastElementFunctions?: unknown[]
19212
+
18652
19213
  checkAllIndexAccess?: boolean
18653
19214
  }]
18654
19215
  // ----- unicorn/prefer-export-from -----
18655
19216
  type UnicornPreferExportFrom = []|[{
19217
+
18656
19218
  ignoreUsedVariables?: boolean
18657
19219
  }]
18658
19220
  // ----- unicorn/prefer-number-properties -----
18659
19221
  type UnicornPreferNumberProperties = []|[{
19222
+
18660
19223
  checkInfinity?: boolean
19224
+
18661
19225
  checkNaN?: boolean
18662
19226
  }]
18663
19227
  // ----- unicorn/prefer-object-from-entries -----
18664
19228
  type UnicornPreferObjectFromEntries = []|[{
19229
+
18665
19230
  functions?: unknown[]
18666
19231
  }]
18667
19232
  // ----- unicorn/prefer-single-call -----
18668
19233
  type UnicornPreferSingleCall = []|[{
19234
+
18669
19235
  ignore?: unknown[]
18670
19236
  }]
18671
19237
  // ----- unicorn/prefer-structured-clone -----
18672
19238
  type UnicornPreferStructuredClone = []|[{
19239
+
18673
19240
  functions?: unknown[]
18674
19241
  }]
18675
19242
  // ----- unicorn/prefer-switch -----
18676
19243
  type UnicornPreferSwitch = []|[{
19244
+
18677
19245
  minimumCases?: number
19246
+
18678
19247
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case")
18679
19248
  }]
18680
19249
  // ----- unicorn/prefer-ternary -----
18681
19250
  type UnicornPreferTernary = []|[("always" | "only-single-line")]
18682
19251
  // ----- unicorn/prevent-abbreviations -----
18683
19252
  type UnicornPreventAbbreviations = []|[{
19253
+
18684
19254
  checkProperties?: boolean
19255
+
18685
19256
  checkVariables?: boolean
19257
+
18686
19258
  checkDefaultAndNamespaceImports?: (boolean | string)
19259
+
18687
19260
  checkShorthandImports?: (boolean | string)
19261
+
18688
19262
  checkShorthandProperties?: boolean
19263
+
18689
19264
  checkFilenames?: boolean
19265
+
18690
19266
  extendDefaultReplacements?: boolean
18691
19267
  replacements?: _UnicornPreventAbbreviations_Abbreviations
19268
+
18692
19269
  extendDefaultAllowList?: boolean
18693
19270
  allowList?: _UnicornPreventAbbreviations_BooleanObject
19271
+
18694
19272
  ignore?: unknown[]
18695
19273
  }]
18696
19274
  type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined
@@ -18700,10 +19278,14 @@ interface _UnicornPreventAbbreviations_Abbreviations {
18700
19278
  interface _UnicornPreventAbbreviations_BooleanObject {
18701
19279
  [k: string]: boolean | undefined
18702
19280
  }
19281
+ interface _UnicornPreventAbbreviations_BooleanObject {
19282
+ [k: string]: boolean | undefined
19283
+ }
18703
19284
  // ----- unicorn/relative-url-style -----
18704
19285
  type UnicornRelativeUrlStyle = []|[("never" | "always")]
18705
19286
  // ----- unicorn/string-content -----
18706
19287
  type UnicornStringContent = []|[{
19288
+
18707
19289
  patterns?: {
18708
19290
  [k: string]: (string | {
18709
19291
  suggest: string
@@ -18716,14 +19298,20 @@ type UnicornStringContent = []|[{
18716
19298
  type UnicornSwitchCaseBraces = []|[("always" | "avoid")]
18717
19299
  // ----- unicorn/template-indent -----
18718
19300
  type UnicornTemplateIndent = []|[{
19301
+
18719
19302
  indent?: (string | number)
19303
+
18720
19304
  tags?: string[]
19305
+
18721
19306
  functions?: string[]
19307
+
18722
19308
  selectors?: string[]
19309
+
18723
19310
  comments?: string[]
18724
19311
  }]
18725
19312
  // ----- unicorn/text-encoding-identifier-case -----
18726
19313
  type UnicornTextEncodingIdentifierCase = []|[{
19314
+
18727
19315
  withDash?: boolean
18728
19316
  }]
18729
19317
  // ----- unocss/enforce-class-compile -----
@@ -19146,7 +19734,7 @@ type ZodSchemaErrorPropertyStyle = []|[{
19146
19734
  example?: string
19147
19735
  }]
19148
19736
  // Names of all the configs
19149
- type ConfigNames = 'anolilab/antfu' | 'anolilab/astro/setup' | 'anolilab/astro/rules' | 'anolilab/best-practices/rules' | 'anolilab/best-practices/ts-rules' | 'compat/flat/recommended' | 'anolilab/errors/rules' | 'anolilab/errors/ts-rules' | 'anolilab/html/setup' | 'anolilab/no-secrets' | 'anolilab/no-unsanitized/setup' | 'anolilab/promise/rules' | 'anolilab/simple-import-sort' | 'anolilab/sonarjs/plugin' | 'anolilab/sonarjs/rules' | 'anolilab/sonarjs/js-and-ts-rules' | 'anolilab/sonarjs/js-rules' | 'storybook:recommended:setup' | 'storybook:recommended:stories-rules' | 'storybook:recommended:main-rules' | 'tailwindcss:base' | 'tailwindcss:rules' | 'anolilab/validate-jsx-nesting/setup' | 'anolilab/variables/rules' | 'anolilab/variables/ts-rules' | 'anolilab/style/rules' | 'anolilab/style/ts-rules' | 'anolilab/eslint-comments/rules' | 'anolilab/formatter/setup' | 'anolilab/imports/setup' | 'anolilab/imports/rules' | 'anolilab/imports/d.ts-rules' | 'anolilab/javascript/setup' | '@eslint/js/recommended' | 'anolilab/jsx-a11y/setup' | 'anolilab/jsdoc/setup' | 'anolilab/jsdoc/js-rules' | 'anolilab/jsonc/json5-rules' | 'anolilab/jsonc/jsonc-rules' | 'anolilab/jsonc/json-rules' | 'anolilab/jsonc/package.json-rules' | 'anolilab/jsonc/tsconfig-json' | 'anolilab/markdown/setup' | 'anolilab/markdown/processor' | 'anolilab/markdown/parser' | 'anolilab/markdown/rules' | 'anolilab/markdown/disables/markdown' | 'anolilab/markdown/disables/code' | 'anolilab/perfectionist/setup' | 'anolilab/perfectionist/rules' | 'anolilab/perfectionist/typescript' | 'anolilab/perfectionist/postcss' | 'anolilab/react/setup' | 'anolilab/react/rules' | 'anolilab/react/jsx' | 'anolilab/react/tsx' | 'anolilab/react/storybook' | 'anolilab/node/setup' | 'anolilab/node/rules' | 'anolilab/stylistic/rules' | 'anolilab/vitest/setup' | 'anolilab/vitest/rules' | 'anolilab/toml' | 'anolilab/regexp/rules' | 'anolilab/typescript/setup' | 'anolilab/typescript/parser' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/strict' | 'anolilab/typescript/rules' | 'anolilab/unicorn/plugin' | 'anolilab/unicorn/rules' | 'anolilab/unicorn/tsconfig-overrides' | 'anolilab/unicorn/ts-overrides' | 'anolilab/unocss' | 'anolilab/yaml' | 'anolilab/zod/rules'
19737
+ type ConfigNames = 'anolilab/antfu' | 'anolilab/astro/setup' | 'anolilab/astro/rules' | 'anolilab/best-practices/rules' | 'anolilab/best-practices/ts-rules' | 'compat/flat/recommended' | 'anolilab/errors/rules' | 'anolilab/errors/ts-rules' | 'anolilab/html/setup' | 'anolilab/no-secrets' | 'anolilab/no-unsanitized/setup' | 'anolilab/promise/rules' | 'anolilab/simple-import-sort' | 'anolilab/sonarjs/plugin' | 'anolilab/sonarjs/rules' | 'anolilab/sonarjs/js-and-ts-rules' | 'anolilab/sonarjs/js-rules' | 'storybook:recommended:setup' | 'storybook:recommended:stories-rules' | 'storybook:recommended:main-rules' | 'tailwindcss:base' | 'tailwindcss:rules' | 'anolilab/validate-jsx-nesting/setup' | 'anolilab/variables/rules' | 'anolilab/variables/ts-rules' | 'anolilab/style/rules' | 'anolilab/style/ts-rules' | 'anolilab/eslint-comments/rules' | 'anolilab/formatter/setup' | 'anolilab/imports/setup' | 'anolilab/imports/rules' | 'anolilab/imports/d.ts-rules' | 'anolilab/javascript/setup' | '@eslint/js/recommended' | 'anolilab/jsx-a11y/setup' | 'anolilab/jsdoc/setup' | 'anolilab/jsdoc/js-rules' | 'anolilab/jsonc/json5-rules' | 'anolilab/jsonc/jsonc-rules' | 'anolilab/jsonc/json-rules' | 'anolilab/jsonc/package.json-rules' | 'anolilab/jsonc/tsconfig-json' | 'anolilab/markdown/setup' | 'anolilab/markdown/processor' | 'anolilab/markdown/parser' | 'anolilab/markdown/rules' | 'anolilab/markdown/disables/markdown' | 'anolilab/markdown/disables/code' | 'anolilab/perfectionist/setup' | 'anolilab/perfectionist/rules' | 'anolilab/perfectionist/typescript' | 'anolilab/perfectionist/postcss' | 'anolilab/react/setup' | 'anolilab/react/rules' | 'anolilab/react/jsx' | 'anolilab/react/tsx' | 'anolilab/react/storybook' | 'anolilab/node/setup' | 'anolilab/node/rules' | 'anolilab/stylistic/rules' | 'anolilab/vitest/setup' | 'anolilab/vitest/rules' | 'anolilab/toml' | 'anolilab/regexp/rules' | 'anolilab/typescript/setup' | 'anolilab/typescript/parser' | 'anolilab/typescript/type-aware-parser' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/strict' | 'typescript-eslint/base' | 'typescript-eslint/eslint-recommended' | 'typescript-eslint/strict-type-checked-only' | 'anolilab/typescript/rules-type-aware' | 'anolilab/typescript/no-for-of-array/rules' | 'anolilab/typescript/rules' | 'anolilab/unicorn/plugin' | 'anolilab/unicorn/rules' | 'anolilab/unicorn/tsconfig-overrides' | 'anolilab/unicorn/ts-overrides' | 'anolilab/unocss' | 'anolilab/yaml' | 'anolilab/zod/rules'
19150
19738
 
19151
19739
  type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
19152
19740
  interface VendoredPrettierOptionsRequired {