@anolilab/eslint-config 18.0.0 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## @anolilab/eslint-config [19.0.0](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@18.0.0...@anolilab/eslint-config@19.0.0) (2026-01-05)
2
+
3
+ ### Bug Fixes
4
+
5
+ * update package versions and configurations ([6a83bb6](https://github.com/anolilab/javascript-style-guide/commit/6a83bb692298f0f037c4af6e5830865cb0a6d847))
6
+
1
7
  ## @anolilab/eslint-config [18.0.0](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@17.2.0...@anolilab/eslint-config@18.0.0) (2025-12-22)
2
8
 
3
9
  ### Bug Fixes
package/dist/index.d.cts CHANGED
@@ -3390,97 +3390,97 @@ interface RuleOptions {
3390
3390
  */
3391
3391
  'promise/valid-params'?: Linter.RuleEntry<PromiseValidParams>
3392
3392
  /**
3393
- * Disallow `dangerouslySetInnerHTML`.
3393
+ * Disallows 'dangerouslySetInnerHTML'.
3394
3394
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3395
3395
  */
3396
3396
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
3397
3397
  /**
3398
- * Disallow `dangerouslySetInnerHTML` and `children` at the same time.
3398
+ * Disallows 'dangerouslySetInnerHTML' and 'children' at the same time.
3399
3399
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3400
3400
  */
3401
3401
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
3402
3402
  /**
3403
- * Disallow `findDOMNode`.
3403
+ * Disallows 'findDOMNode'.
3404
3404
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3405
3405
  */
3406
3406
  'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
3407
3407
  /**
3408
- * Disallow `flushSync`.
3408
+ * Disallows 'flushSync'.
3409
3409
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3410
3410
  */
3411
3411
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
3412
3412
  /**
3413
- * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
3413
+ * Replaces usage of 'ReactDom.hydrate()' with 'hydrateRoot()'.
3414
3414
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3415
3415
  */
3416
3416
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
3417
3417
  /**
3418
- * Enforces explicit `type` attribute for `button` elements.
3418
+ * Enforces explicit 'type' attribute for 'button' elements.
3419
3419
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3420
3420
  */
3421
3421
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
3422
3422
  /**
3423
- * Enforces explicit `sandbox` prop for `iframe` elements.
3423
+ * Enforces explicit 'sandbox' attribute for 'iframe' elements.
3424
3424
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3425
3425
  */
3426
3426
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
3427
3427
  /**
3428
- * Enforces the absence of a `namespace` in React elements.
3428
+ * Enforces the absence of a 'namespace' in React elements.
3429
3429
  * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3430
3430
  */
3431
3431
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>
3432
3432
  /**
3433
- * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
3433
+ * Replaces usage of 'ReactDom.render()' with 'createRoot(node).render()'.
3434
3434
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
3435
3435
  */
3436
3436
  'react-dom/no-render'?: Linter.RuleEntry<[]>
3437
3437
  /**
3438
- * Disallow the return value of `ReactDOM.render`.
3438
+ * Disallows the return value of 'ReactDOM.render'.
3439
3439
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3440
3440
  */
3441
3441
  'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
3442
3442
  /**
3443
- * Disallow `javascript:` URLs as attribute values.
3443
+ * Disallows 'javascript:' URLs as attribute values.
3444
3444
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3445
3445
  */
3446
3446
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>
3447
3447
  /**
3448
- * Disallows the use of string style prop.
3448
+ * Disallows the use of string style prop in JSX. Use an object instead.
3449
3449
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3450
3450
  */
3451
3451
  'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
3452
3452
  /**
3453
- * Disallow unknown `DOM` property.
3453
+ * Disallows unknown 'DOM' property.
3454
3454
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3455
3455
  */
3456
3456
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
3457
3457
  /**
3458
- * Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations.
3458
+ * Enforces 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3459
3459
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3460
3460
  */
3461
3461
  'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
3462
3462
  /**
3463
- * Disallow `target="_blank"` without `rel="noreferrer noopener"`.
3463
+ * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3464
3464
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3465
3465
  */
3466
3466
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
3467
3467
  /**
3468
- * Replaces usages of `useFormState` with `useActionState`.
3468
+ * Replaces usage of 'useFormState' with 'useActionState'.
3469
3469
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3470
3470
  */
3471
3471
  'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
3472
3472
  /**
3473
- * Disallow `children` in void DOM elements.
3473
+ * Disallows 'children' in void DOM elements.
3474
3474
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3475
3475
  */
3476
3476
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
3477
3477
  /**
3478
- * Enforces React Dom is imported via a namespace import.
3478
+ * Enforces React DOM is imported via a namespace import.
3479
3479
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3480
3480
  */
3481
3481
  'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
3482
3482
  /**
3483
- * Disallow direct calls to the `set` function of `useState` in `useEffect`.
3483
+ * Disallows **direct** calls to the 'set' function of 'useState' in 'useEffect'.
3484
3484
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
3485
3485
  */
3486
3486
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
@@ -3608,7 +3608,7 @@ interface RuleOptions {
3608
3608
  */
3609
3609
  'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
3610
3610
  /**
3611
- * Enforces context name to be a valid component name with the suffix `Context`.
3611
+ * Enforces the context name to be a valid component name with the suffix 'Context'.
3612
3612
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3613
3613
  */
3614
3614
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
@@ -3618,15 +3618,20 @@ interface RuleOptions {
3618
3618
  */
3619
3619
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
3620
3620
  /**
3621
- * Enforces consistent file naming conventions.
3621
+ * Enforces consistent use of the JSX file extension.
3622
3622
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
3623
3623
  */
3624
3624
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
3625
3625
  /**
3626
- * Enforces destructuring and symmetric naming of `useState` hook value and setter.
3626
+ * Enforces that variables assigned from 'useRef' calls have names ending with 'Ref'.
3627
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3628
+ */
3629
+ 'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
3630
+ /**
3631
+ * Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
3627
3632
  * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
3628
3633
  */
3629
- 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
3634
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>
3630
3635
  /**
3631
3636
  * Prevent JSX as JSX prop value
3632
3637
  */
@@ -3645,27 +3650,27 @@ interface RuleOptions {
3645
3650
  'react-perf/jsx-no-new-object-as-prop'?: Linter.RuleEntry<ReactPerfJsxNoNewObjectAsProp>
3646
3651
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
3647
3652
  /**
3648
- * Prevents leaked `addEventListener` in a component or custom Hook.
3653
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3649
3654
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3650
3655
  */
3651
3656
  'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
3652
3657
  /**
3653
- * Prevents leaked `setInterval` in a component or custom Hook.
3658
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3654
3659
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3655
3660
  */
3656
3661
  'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
3657
3662
  /**
3658
- * Prevents leaked `ResizeObserver` in a component or custom Hook.
3663
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3659
3664
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3660
3665
  */
3661
3666
  'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
3662
3667
  /**
3663
- * Prevents leaked `setTimeout` in a component or custom Hook.
3668
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3664
3669
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3665
3670
  */
3666
3671
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
3667
3672
  /**
3668
- * Prevents dollar signs from being inserted as text nodes before expressions.
3673
+ * Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
3669
3674
  * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3670
3675
  */
3671
3676
  'react-x/jsx-dollar'?: Linter.RuleEntry<[]>
@@ -3675,37 +3680,37 @@ interface RuleOptions {
3675
3680
  */
3676
3681
  'react-x/jsx-key-before-spread'?: Linter.RuleEntry<[]>
3677
3682
  /**
3678
- * Prevents comments from being inserted as text nodes.
3683
+ * Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
3679
3684
  * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3680
3685
  */
3681
3686
  'react-x/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
3682
3687
  /**
3683
- * Disallow duplicate props in JSX elements.
3688
+ * Disallows duplicate props in JSX elements.
3684
3689
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
3685
3690
  */
3686
3691
  'react-x/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
3687
3692
  /**
3688
- * Disallows 'IIFE' in JSX elements.
3693
+ * Disallows 'IIFE' in JSX.
3689
3694
  * @see https://eslint-react.xyz/docs/rules/jsx-no-iife
3690
3695
  */
3691
3696
  'react-x/jsx-no-iife'?: Linter.RuleEntry<[]>
3692
3697
  /**
3693
- * Disallow undefined variables in JSX.
3698
+ * Prevents using variables in JSX that are not defined in the scope.
3694
3699
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
3695
3700
  */
3696
3701
  'react-x/jsx-no-undef'?: Linter.RuleEntry<[]>
3697
3702
  /**
3698
- * Enforces shorthand syntax for boolean attributes.
3703
+ * Enforces the use of shorthand syntax for boolean attributes.
3699
3704
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3700
3705
  */
3701
3706
  'react-x/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactXJsxShorthandBoolean>
3702
3707
  /**
3703
- * Enforces shorthand syntax for fragments.
3708
+ * Enforces the use of shorthand syntax for fragments.
3704
3709
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3705
3710
  */
3706
3711
  'react-x/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactXJsxShorthandFragment>
3707
3712
  /**
3708
- * Marks React variables as used when JSX is used.
3713
+ * Marks React variables as used when JSX is present.
3709
3714
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
3710
3715
  */
3711
3716
  'react-x/jsx-uses-react'?: Linter.RuleEntry<[]>
@@ -3715,108 +3720,108 @@ interface RuleOptions {
3715
3720
  */
3716
3721
  'react-x/jsx-uses-vars'?: Linter.RuleEntry<[]>
3717
3722
  /**
3718
- * Disallow accessing `this.state` inside `setState` calls.
3723
+ * Disallows accessing 'this.state' inside 'setState' calls.
3719
3724
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3720
3725
  */
3721
3726
  'react-x/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
3722
3727
  /**
3723
- * Disallow an item's index in the array as its key.
3728
+ * Disallows using an item's index in the array as its key.
3724
3729
  * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3725
3730
  */
3726
3731
  'react-x/no-array-index-key'?: Linter.RuleEntry<[]>
3727
3732
  /**
3728
- * Disallow `Children.count`.
3733
+ * Disallows the use of 'Children.count' from the 'react' package.
3729
3734
  * @see https://eslint-react.xyz/docs/rules/no-children-count
3730
3735
  */
3731
3736
  'react-x/no-children-count'?: Linter.RuleEntry<[]>
3732
3737
  /**
3733
- * Disallow 'Children.forEach'.
3738
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3734
3739
  * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3735
3740
  */
3736
3741
  'react-x/no-children-for-each'?: Linter.RuleEntry<[]>
3737
3742
  /**
3738
- * Disallow `Children.map`.
3743
+ * Disallows the use of 'Children.map' from the 'react' package.
3739
3744
  * @see https://eslint-react.xyz/docs/rules/no-children-map
3740
3745
  */
3741
3746
  'react-x/no-children-map'?: Linter.RuleEntry<[]>
3742
3747
  /**
3743
- * Disallow `Children.only`.
3748
+ * Disallows the use of 'Children.only' from the 'react' package.
3744
3749
  * @see https://eslint-react.xyz/docs/rules/no-children-only
3745
3750
  */
3746
3751
  'react-x/no-children-only'?: Linter.RuleEntry<[]>
3747
3752
  /**
3748
- * Disallow passing `children` as a prop.
3753
+ * Disallows passing 'children' as a prop.
3749
3754
  * @see https://eslint-react.xyz/docs/rules/no-children-prop
3750
3755
  */
3751
3756
  'react-x/no-children-prop'?: Linter.RuleEntry<[]>
3752
3757
  /**
3753
- * Disallow `Children.toArray`.
3758
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3754
3759
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3755
3760
  */
3756
3761
  'react-x/no-children-to-array'?: Linter.RuleEntry<[]>
3757
3762
  /**
3758
- * Disallow class components except for error boundaries.
3763
+ * Disallows class components except for error boundaries.
3759
3764
  * @see https://eslint-react.xyz/docs/rules/no-class-component
3760
3765
  */
3761
3766
  'react-x/no-class-component'?: Linter.RuleEntry<[]>
3762
3767
  /**
3763
- * Disallow `cloneElement`.
3768
+ * Disallows 'cloneElement'.
3764
3769
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3765
3770
  */
3766
3771
  'react-x/no-clone-element'?: Linter.RuleEntry<[]>
3767
3772
  /**
3768
- * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
3773
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3769
3774
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3770
3775
  */
3771
3776
  'react-x/no-component-will-mount'?: Linter.RuleEntry<[]>
3772
3777
  /**
3773
- * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
3778
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3774
3779
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3775
3780
  */
3776
3781
  'react-x/no-component-will-receive-props'?: Linter.RuleEntry<[]>
3777
3782
  /**
3778
- * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
3783
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3779
3784
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3780
3785
  */
3781
3786
  'react-x/no-component-will-update'?: Linter.RuleEntry<[]>
3782
3787
  /**
3783
- * Replace usages of `<Context.Provider>` with `<Context>`.
3788
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3784
3789
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
3785
3790
  */
3786
3791
  'react-x/no-context-provider'?: Linter.RuleEntry<[]>
3787
3792
  /**
3788
- * Disallow `createRef` in function components.
3793
+ * Disallows 'createRef' in function components.
3789
3794
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3790
3795
  */
3791
3796
  'react-x/no-create-ref'?: Linter.RuleEntry<[]>
3792
3797
  /**
3793
- * Disallow `defaultProps` property in favor of ES6 default parameters.
3798
+ * Disallows the 'defaultProps' property in favor of ES6 default parameters.
3794
3799
  * @see https://eslint-react.xyz/docs/rules/no-default-props
3795
3800
  */
3796
3801
  'react-x/no-default-props'?: Linter.RuleEntry<[]>
3797
3802
  /**
3798
- * Disallow direct mutation of `this.state`.
3803
+ * Disallows direct mutation of 'this.state'.
3799
3804
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3800
3805
  */
3801
3806
  'react-x/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3802
3807
  /**
3803
- * Disallow duplicate `key` on elements in the same array or a list of `children`.
3808
+ * Disallows duplicate 'key' on elements in the same array or a list of 'children'.
3804
3809
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3805
3810
  */
3806
3811
  'react-x/no-duplicate-key'?: Linter.RuleEntry<[]>
3807
3812
  /**
3808
- * Disallow certain props on components.
3813
+ * Disallows certain props on components.
3809
3814
  * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
3810
3815
  * @deprecated
3811
3816
  */
3812
3817
  'react-x/no-forbidden-props'?: Linter.RuleEntry<ReactXNoForbiddenProps>
3813
3818
  /**
3814
- * Replaces usages of `forwardRef` with passing `ref` as a prop.
3819
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3815
3820
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3816
3821
  */
3817
3822
  'react-x/no-forward-ref'?: Linter.RuleEntry<[]>
3818
3823
  /**
3819
- * Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects).
3824
+ * Prevents 'key' from not being explicitly specified (e.g., spreading 'key' from objects).
3820
3825
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3821
3826
  */
3822
3827
  'react-x/no-implicit-key'?: Linter.RuleEntry<[]>
@@ -3826,57 +3831,57 @@ interface RuleOptions {
3826
3831
  */
3827
3832
  'react-x/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
3828
3833
  /**
3829
- * Enforces that all components have a `displayName` which can be used in devtools.
3834
+ * Enforces that all components have a 'displayName' that can be used in devtools.
3830
3835
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3831
3836
  */
3832
3837
  'react-x/no-missing-component-display-name'?: Linter.RuleEntry<[]>
3833
3838
  /**
3834
- * Enforces that all contexts have a `displayName` which can be used in devtools.
3839
+ * Enforces that all contexts have a 'displayName' that can be used in devtools.
3835
3840
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3836
3841
  */
3837
3842
  'react-x/no-missing-context-display-name'?: Linter.RuleEntry<[]>
3838
3843
  /**
3839
- * Disallow missing `key` on items in list rendering.
3844
+ * Disallows missing 'key' on items in list rendering.
3840
3845
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
3841
3846
  */
3842
3847
  'react-x/no-missing-key'?: Linter.RuleEntry<[]>
3843
3848
  /**
3844
- * Prevents incorrect usage of `captureOwnerStack`.
3849
+ * Prevents incorrect usage of 'captureOwnerStack'.
3845
3850
  * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3846
3851
  */
3847
3852
  'react-x/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
3848
3853
  /**
3849
- * Disallow nesting component definitions inside other components.
3854
+ * Disallows nesting component definitions inside other components.
3850
3855
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3851
3856
  */
3852
3857
  'react-x/no-nested-component-definitions'?: Linter.RuleEntry<[]>
3853
3858
  /**
3854
- * Disallow nesting lazy component declarations inside other components.
3859
+ * Disallows nesting lazy component declarations inside other components.
3855
3860
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3856
3861
  */
3857
3862
  'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3858
3863
  /**
3859
- * Disallow `propTypes` in favor of TypeScript or another type-checking solution.
3864
+ * Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
3860
3865
  * @see https://eslint-react.xyz/docs/rules/no-prop-types
3861
3866
  */
3862
3867
  'react-x/no-prop-types'?: Linter.RuleEntry<[]>
3863
3868
  /**
3864
- * Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
3869
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3865
3870
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3866
3871
  */
3867
3872
  'react-x/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3868
3873
  /**
3869
- * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
3874
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3870
3875
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3871
3876
  */
3872
3877
  'react-x/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
3873
3878
  /**
3874
- * Disallow calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
3879
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3875
3880
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3876
3881
  */
3877
3882
  'react-x/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
3878
3883
  /**
3879
- * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3884
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3880
3885
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3881
3886
  */
3882
3887
  'react-x/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
@@ -3886,42 +3891,42 @@ interface RuleOptions {
3886
3891
  */
3887
3892
  'react-x/no-string-refs'?: Linter.RuleEntry<[]>
3888
3893
  /**
3889
- * Prevents the use of unnecessary `key` props on JSX elements when rendering lists.
3894
+ * Prevents 'key' from being placed on non-top-level elements in list rendering.
3890
3895
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3891
3896
  */
3892
3897
  'react-x/no-unnecessary-key'?: Linter.RuleEntry<[]>
3893
3898
  /**
3894
- * Disallow unnecessary usage of `useCallback`.
3899
+ * Disallows unnecessary usage of 'useCallback'.
3895
3900
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3896
3901
  */
3897
3902
  'react-x/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3898
3903
  /**
3899
- * Disallow unnecessary usage of `useMemo`.
3904
+ * Disallows unnecessary usage of 'useMemo'.
3900
3905
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3901
3906
  */
3902
3907
  'react-x/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3903
3908
  /**
3904
- * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3909
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3905
3910
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3906
3911
  */
3907
3912
  'react-x/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3908
3913
  /**
3909
- * Warns the usage of `UNSAFE_componentWillMount` in class components.
3914
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3910
3915
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3911
3916
  */
3912
3917
  'react-x/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
3913
3918
  /**
3914
- * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
3919
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3915
3920
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3916
3921
  */
3917
3922
  'react-x/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3918
3923
  /**
3919
- * Warns the usage of `UNSAFE_componentWillUpdate` in class components.
3924
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3920
3925
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3921
3926
  */
3922
3927
  'react-x/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3923
3928
  /**
3924
- * Prevents non-stable values (i.e. object literals) from being used as a value for `Context.Provider`.
3929
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3925
3930
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3926
3931
  */
3927
3932
  'react-x/no-unstable-context-value'?: Linter.RuleEntry<[]>
@@ -3931,32 +3936,32 @@ interface RuleOptions {
3931
3936
  */
3932
3937
  'react-x/no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>
3933
3938
  /**
3934
- * Warns unused class component methods and properties.
3939
+ * Warns about unused class component methods and properties.
3935
3940
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3936
3941
  */
3937
3942
  'react-x/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3938
3943
  /**
3939
- * Warns component props that are defined but never used.
3944
+ * Warns about component props that are defined but never used.
3940
3945
  * @see https://eslint-react.xyz/docs/rules/no-unused-props
3941
3946
  */
3942
3947
  'react-x/no-unused-props'?: Linter.RuleEntry<[]>
3943
3948
  /**
3944
- * Warns unused class component state.
3949
+ * Warns about unused class component state.
3945
3950
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3946
3951
  */
3947
3952
  'react-x/no-unused-state'?: Linter.RuleEntry<[]>
3948
3953
  /**
3949
- * Replaces usages of `useContext` with `use`.
3954
+ * Replaces usage of 'useContext' with 'use'.
3950
3955
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3951
3956
  */
3952
3957
  'react-x/no-use-context'?: Linter.RuleEntry<[]>
3953
3958
  /**
3954
- * Disallow useless `forwardRef` calls on components that don't use `ref`s.
3959
+ * Disallows useless 'forwardRef' calls on components that don't use 'ref's.
3955
3960
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3956
3961
  */
3957
3962
  'react-x/no-useless-forward-ref'?: Linter.RuleEntry<[]>
3958
3963
  /**
3959
- * Disallow useless fragment elements.
3964
+ * Disallows useless fragment elements.
3960
3965
  * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3961
3966
  */
3962
3967
  'react-x/no-useless-fragment'?: Linter.RuleEntry<ReactXNoUselessFragment>
@@ -3966,7 +3971,7 @@ interface RuleOptions {
3966
3971
  */
3967
3972
  'react-x/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3968
3973
  /**
3969
- * Enforces React is imported via a namespace import.
3974
+ * Enforces importing React via a namespace import.
3970
3975
  * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3971
3976
  */
3972
3977
  'react-x/prefer-namespace-import'?: Linter.RuleEntry<[]>
@@ -3976,7 +3981,7 @@ interface RuleOptions {
3976
3981
  */
3977
3982
  'react-x/prefer-read-only-props'?: Linter.RuleEntry<[]>
3978
3983
  /**
3979
- * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3984
+ * Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
3980
3985
  * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
3981
3986
  */
3982
3987
  'react-x/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
@@ -7493,7 +7498,7 @@ interface RuleOptions {
7493
7498
  * disallow conditional expects
7494
7499
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
7495
7500
  */
7496
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
7501
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
7497
7502
  /**
7498
7503
  * disallow conditional tests
7499
7504
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -7704,7 +7709,7 @@ interface RuleOptions {
7704
7709
  * prefer dynamic import in mock
7705
7710
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
7706
7711
  */
7707
- 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<[]>
7712
+ 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<VitestPreferImportInMock>
7708
7713
  /**
7709
7714
  * enforce importing Vitest globals
7710
7715
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -7720,6 +7725,11 @@ interface RuleOptions {
7720
7725
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
7721
7726
  */
7722
7727
  'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
7728
+ /**
7729
+ * Prefer mock return shorthands
7730
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-return-shorthand.md
7731
+ */
7732
+ 'vitest/prefer-mock-return-shorthand'?: Linter.RuleEntry<[]>
7723
7733
  /**
7724
7734
  * enforce including a hint with external snapshots
7725
7735
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
@@ -15831,6 +15841,11 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
15831
15841
  extensions?: string[]
15832
15842
  ignoreFilesWithoutCode?: boolean
15833
15843
  })]
15844
+ // ----- react-naming-convention/use-state -----
15845
+ type ReactNamingConventionUseState = []|[{
15846
+ enforceAssignment?: boolean
15847
+ enforceSetterName?: boolean
15848
+ }]
15834
15849
  // ----- react-perf/jsx-no-jsx-as-prop -----
15835
15850
  type ReactPerfJsxNoJsxAsProp = []|[{
15836
15851
  nativeAllowList?: ("all" | string[])
@@ -17122,6 +17137,11 @@ type VitestMaxExpects = []|[{
17122
17137
  type VitestMaxNestedDescribe = []|[{
17123
17138
  max?: number
17124
17139
  }]
17140
+ // ----- vitest/no-conditional-expect -----
17141
+ type VitestNoConditionalExpect = []|[{
17142
+
17143
+ expectAssertions?: boolean
17144
+ }]
17125
17145
  // ----- vitest/no-focused-tests -----
17126
17146
  type VitestNoFocusedTests = []|[{
17127
17147
  fixable?: boolean
@@ -17164,6 +17184,10 @@ type VitestPreferExpectAssertions = []|[{
17164
17184
  onlyFunctionsWithExpectInLoop?: boolean
17165
17185
  onlyFunctionsWithExpectInCallback?: boolean
17166
17186
  }]
17187
+ // ----- vitest/prefer-import-in-mock -----
17188
+ type VitestPreferImportInMock = []|[{
17189
+ fixable?: boolean
17190
+ }]
17167
17191
  // ----- vitest/prefer-lowercase-title -----
17168
17192
  type VitestPreferLowercaseTitle = []|[{
17169
17193
  ignore?: ("describe" | "test" | "it")[]