@anolilab/eslint-config 17.2.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/dist/index.d.mts CHANGED
@@ -994,6 +994,11 @@ interface RuleOptions {
994
994
  * @see https://typescript-eslint.io/rules/no-useless-constructor
995
995
  */
996
996
  '@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>
997
+ /**
998
+ * Disallow default values that will never be used
999
+ * @see https://typescript-eslint.io/rules/no-useless-default-assignment
1000
+ */
1001
+ '@typescript-eslint/no-useless-default-assignment'?: Linter.RuleEntry<[]>
997
1002
  /**
998
1003
  * Disallow empty exports that don't change anything in a module file
999
1004
  * @see https://typescript-eslint.io/rules/no-useless-empty-export
@@ -3160,6 +3165,11 @@ interface RuleOptions {
3160
3165
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-unsafe-references.md
3161
3166
  */
3162
3167
  'playwright/no-unsafe-references'?: Linter.RuleEntry<[]>
3168
+ /**
3169
+ * Disallow usage of page locators that are not used
3170
+ * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-unused-locators.md
3171
+ */
3172
+ 'playwright/no-unused-locators'?: Linter.RuleEntry<[]>
3163
3173
  /**
3164
3174
  * Disallow unnecessary awaits for Playwright methods
3165
3175
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-useless-await.md
@@ -3286,7 +3296,7 @@ interface RuleOptions {
3286
3296
  */
3287
3297
  'playwright/valid-expect-in-promise'?: Linter.RuleEntry<[]>
3288
3298
  /**
3289
- * Enforce valid tag format in Playwright test blocks
3299
+ * Enforce valid tag format in Playwright test blocks and titles
3290
3300
  */
3291
3301
  'playwright/valid-test-tags'?: Linter.RuleEntry<PlaywrightValidTestTags>
3292
3302
  /**
@@ -3380,97 +3390,97 @@ interface RuleOptions {
3380
3390
  */
3381
3391
  'promise/valid-params'?: Linter.RuleEntry<PromiseValidParams>
3382
3392
  /**
3383
- * Disallow `dangerouslySetInnerHTML`.
3393
+ * Disallows 'dangerouslySetInnerHTML'.
3384
3394
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3385
3395
  */
3386
3396
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
3387
3397
  /**
3388
- * Disallow `dangerouslySetInnerHTML` and `children` at the same time.
3398
+ * Disallows 'dangerouslySetInnerHTML' and 'children' at the same time.
3389
3399
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3390
3400
  */
3391
3401
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
3392
3402
  /**
3393
- * Disallow `findDOMNode`.
3403
+ * Disallows 'findDOMNode'.
3394
3404
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3395
3405
  */
3396
3406
  'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
3397
3407
  /**
3398
- * Disallow `flushSync`.
3408
+ * Disallows 'flushSync'.
3399
3409
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3400
3410
  */
3401
3411
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
3402
3412
  /**
3403
- * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
3413
+ * Replaces usage of 'ReactDom.hydrate()' with 'hydrateRoot()'.
3404
3414
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3405
3415
  */
3406
3416
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
3407
3417
  /**
3408
- * Enforces explicit `type` attribute for `button` elements.
3418
+ * Enforces explicit 'type' attribute for 'button' elements.
3409
3419
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3410
3420
  */
3411
3421
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
3412
3422
  /**
3413
- * Enforces explicit `sandbox` prop for `iframe` elements.
3423
+ * Enforces explicit 'sandbox' attribute for 'iframe' elements.
3414
3424
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3415
3425
  */
3416
3426
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
3417
3427
  /**
3418
- * Enforces the absence of a `namespace` in React elements.
3428
+ * Enforces the absence of a 'namespace' in React elements.
3419
3429
  * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3420
3430
  */
3421
3431
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>
3422
3432
  /**
3423
- * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
3433
+ * Replaces usage of 'ReactDom.render()' with 'createRoot(node).render()'.
3424
3434
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
3425
3435
  */
3426
3436
  'react-dom/no-render'?: Linter.RuleEntry<[]>
3427
3437
  /**
3428
- * Disallow the return value of `ReactDOM.render`.
3438
+ * Disallows the return value of 'ReactDOM.render'.
3429
3439
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3430
3440
  */
3431
3441
  'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
3432
3442
  /**
3433
- * Disallow `javascript:` URLs as attribute values.
3443
+ * Disallows 'javascript:' URLs as attribute values.
3434
3444
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3435
3445
  */
3436
3446
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>
3437
3447
  /**
3438
- * Disallows the use of string style prop.
3448
+ * Disallows the use of string style prop in JSX. Use an object instead.
3439
3449
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3440
3450
  */
3441
3451
  'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
3442
3452
  /**
3443
- * Disallow unknown `DOM` property.
3453
+ * Disallows unknown 'DOM' property.
3444
3454
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3445
3455
  */
3446
3456
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
3447
3457
  /**
3448
- * 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.
3449
3459
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3450
3460
  */
3451
3461
  'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
3452
3462
  /**
3453
- * Disallow `target="_blank"` without `rel="noreferrer noopener"`.
3463
+ * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3454
3464
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3455
3465
  */
3456
3466
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
3457
3467
  /**
3458
- * Replaces usages of `useFormState` with `useActionState`.
3468
+ * Replaces usage of 'useFormState' with 'useActionState'.
3459
3469
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3460
3470
  */
3461
3471
  'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
3462
3472
  /**
3463
- * Disallow `children` in void DOM elements.
3473
+ * Disallows 'children' in void DOM elements.
3464
3474
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3465
3475
  */
3466
3476
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
3467
3477
  /**
3468
- * Enforces React Dom is imported via a namespace import.
3478
+ * Enforces React DOM is imported via a namespace import.
3469
3479
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3470
3480
  */
3471
3481
  'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
3472
3482
  /**
3473
- * Disallow direct calls to the `set` function of `useState` in `useEffect`.
3483
+ * Disallows **direct** calls to the 'set' function of 'useState' in 'useEffect'.
3474
3484
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
3475
3485
  */
3476
3486
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
@@ -3598,7 +3608,7 @@ interface RuleOptions {
3598
3608
  */
3599
3609
  'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
3600
3610
  /**
3601
- * 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'.
3602
3612
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3603
3613
  */
3604
3614
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
@@ -3608,15 +3618,20 @@ interface RuleOptions {
3608
3618
  */
3609
3619
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
3610
3620
  /**
3611
- * Enforces consistent file naming conventions.
3621
+ * Enforces consistent use of the JSX file extension.
3612
3622
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
3613
3623
  */
3614
3624
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
3615
3625
  /**
3616
- * 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.
3617
3632
  * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
3618
3633
  */
3619
- 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
3634
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>
3620
3635
  /**
3621
3636
  * Prevent JSX as JSX prop value
3622
3637
  */
@@ -3635,27 +3650,27 @@ interface RuleOptions {
3635
3650
  'react-perf/jsx-no-new-object-as-prop'?: Linter.RuleEntry<ReactPerfJsxNoNewObjectAsProp>
3636
3651
  'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
3637
3652
  /**
3638
- * Prevents leaked `addEventListener` in a component or custom Hook.
3653
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3639
3654
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3640
3655
  */
3641
3656
  'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
3642
3657
  /**
3643
- * Prevents leaked `setInterval` in a component or custom Hook.
3658
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3644
3659
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3645
3660
  */
3646
3661
  'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
3647
3662
  /**
3648
- * 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()'.
3649
3664
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3650
3665
  */
3651
3666
  'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
3652
3667
  /**
3653
- * Prevents leaked `setTimeout` in a component or custom Hook.
3668
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3654
3669
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3655
3670
  */
3656
3671
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
3657
3672
  /**
3658
- * Prevents dollar signs from being inserted as text nodes before expressions.
3673
+ * Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
3659
3674
  * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3660
3675
  */
3661
3676
  'react-x/jsx-dollar'?: Linter.RuleEntry<[]>
@@ -3665,37 +3680,37 @@ interface RuleOptions {
3665
3680
  */
3666
3681
  'react-x/jsx-key-before-spread'?: Linter.RuleEntry<[]>
3667
3682
  /**
3668
- * 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.
3669
3684
  * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3670
3685
  */
3671
3686
  'react-x/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
3672
3687
  /**
3673
- * Disallow duplicate props in JSX elements.
3688
+ * Disallows duplicate props in JSX elements.
3674
3689
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
3675
3690
  */
3676
3691
  'react-x/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
3677
3692
  /**
3678
- * Disallows 'IIFE' in JSX elements.
3693
+ * Disallows 'IIFE' in JSX.
3679
3694
  * @see https://eslint-react.xyz/docs/rules/jsx-no-iife
3680
3695
  */
3681
3696
  'react-x/jsx-no-iife'?: Linter.RuleEntry<[]>
3682
3697
  /**
3683
- * Disallow undefined variables in JSX.
3698
+ * Prevents using variables in JSX that are not defined in the scope.
3684
3699
  * @see https://eslint-react.xyz/docs/rules/jsx-no-undef
3685
3700
  */
3686
3701
  'react-x/jsx-no-undef'?: Linter.RuleEntry<[]>
3687
3702
  /**
3688
- * Enforces shorthand syntax for boolean attributes.
3703
+ * Enforces the use of shorthand syntax for boolean attributes.
3689
3704
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3690
3705
  */
3691
3706
  'react-x/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactXJsxShorthandBoolean>
3692
3707
  /**
3693
- * Enforces shorthand syntax for fragments.
3708
+ * Enforces the use of shorthand syntax for fragments.
3694
3709
  * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3695
3710
  */
3696
3711
  'react-x/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactXJsxShorthandFragment>
3697
3712
  /**
3698
- * Marks React variables as used when JSX is used.
3713
+ * Marks React variables as used when JSX is present.
3699
3714
  * @see https://eslint-react.xyz/docs/rules/jsx-uses-react
3700
3715
  */
3701
3716
  'react-x/jsx-uses-react'?: Linter.RuleEntry<[]>
@@ -3705,108 +3720,108 @@ interface RuleOptions {
3705
3720
  */
3706
3721
  'react-x/jsx-uses-vars'?: Linter.RuleEntry<[]>
3707
3722
  /**
3708
- * Disallow accessing `this.state` inside `setState` calls.
3723
+ * Disallows accessing 'this.state' inside 'setState' calls.
3709
3724
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3710
3725
  */
3711
3726
  'react-x/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
3712
3727
  /**
3713
- * Disallow an item's index in the array as its key.
3728
+ * Disallows using an item's index in the array as its key.
3714
3729
  * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3715
3730
  */
3716
3731
  'react-x/no-array-index-key'?: Linter.RuleEntry<[]>
3717
3732
  /**
3718
- * Disallow `Children.count`.
3733
+ * Disallows the use of 'Children.count' from the 'react' package.
3719
3734
  * @see https://eslint-react.xyz/docs/rules/no-children-count
3720
3735
  */
3721
3736
  'react-x/no-children-count'?: Linter.RuleEntry<[]>
3722
3737
  /**
3723
- * Disallow 'Children.forEach'.
3738
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3724
3739
  * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3725
3740
  */
3726
3741
  'react-x/no-children-for-each'?: Linter.RuleEntry<[]>
3727
3742
  /**
3728
- * Disallow `Children.map`.
3743
+ * Disallows the use of 'Children.map' from the 'react' package.
3729
3744
  * @see https://eslint-react.xyz/docs/rules/no-children-map
3730
3745
  */
3731
3746
  'react-x/no-children-map'?: Linter.RuleEntry<[]>
3732
3747
  /**
3733
- * Disallow `Children.only`.
3748
+ * Disallows the use of 'Children.only' from the 'react' package.
3734
3749
  * @see https://eslint-react.xyz/docs/rules/no-children-only
3735
3750
  */
3736
3751
  'react-x/no-children-only'?: Linter.RuleEntry<[]>
3737
3752
  /**
3738
- * Disallow passing `children` as a prop.
3753
+ * Disallows passing 'children' as a prop.
3739
3754
  * @see https://eslint-react.xyz/docs/rules/no-children-prop
3740
3755
  */
3741
3756
  'react-x/no-children-prop'?: Linter.RuleEntry<[]>
3742
3757
  /**
3743
- * Disallow `Children.toArray`.
3758
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3744
3759
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3745
3760
  */
3746
3761
  'react-x/no-children-to-array'?: Linter.RuleEntry<[]>
3747
3762
  /**
3748
- * Disallow class components except for error boundaries.
3763
+ * Disallows class components except for error boundaries.
3749
3764
  * @see https://eslint-react.xyz/docs/rules/no-class-component
3750
3765
  */
3751
3766
  'react-x/no-class-component'?: Linter.RuleEntry<[]>
3752
3767
  /**
3753
- * Disallow `cloneElement`.
3768
+ * Disallows 'cloneElement'.
3754
3769
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
3755
3770
  */
3756
3771
  'react-x/no-clone-element'?: Linter.RuleEntry<[]>
3757
3772
  /**
3758
- * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
3773
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3759
3774
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3760
3775
  */
3761
3776
  'react-x/no-component-will-mount'?: Linter.RuleEntry<[]>
3762
3777
  /**
3763
- * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
3778
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3764
3779
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3765
3780
  */
3766
3781
  'react-x/no-component-will-receive-props'?: Linter.RuleEntry<[]>
3767
3782
  /**
3768
- * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
3783
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3769
3784
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3770
3785
  */
3771
3786
  'react-x/no-component-will-update'?: Linter.RuleEntry<[]>
3772
3787
  /**
3773
- * Replace usages of `<Context.Provider>` with `<Context>`.
3788
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3774
3789
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
3775
3790
  */
3776
3791
  'react-x/no-context-provider'?: Linter.RuleEntry<[]>
3777
3792
  /**
3778
- * Disallow `createRef` in function components.
3793
+ * Disallows 'createRef' in function components.
3779
3794
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3780
3795
  */
3781
3796
  'react-x/no-create-ref'?: Linter.RuleEntry<[]>
3782
3797
  /**
3783
- * Disallow `defaultProps` property in favor of ES6 default parameters.
3798
+ * Disallows the 'defaultProps' property in favor of ES6 default parameters.
3784
3799
  * @see https://eslint-react.xyz/docs/rules/no-default-props
3785
3800
  */
3786
3801
  'react-x/no-default-props'?: Linter.RuleEntry<[]>
3787
3802
  /**
3788
- * Disallow direct mutation of `this.state`.
3803
+ * Disallows direct mutation of 'this.state'.
3789
3804
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3790
3805
  */
3791
3806
  'react-x/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3792
3807
  /**
3793
- * 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'.
3794
3809
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3795
3810
  */
3796
3811
  'react-x/no-duplicate-key'?: Linter.RuleEntry<[]>
3797
3812
  /**
3798
- * Disallow certain props on components.
3813
+ * Disallows certain props on components.
3799
3814
  * @see https://eslint-react.xyz/docs/rules/no-forbidden-props
3800
3815
  * @deprecated
3801
3816
  */
3802
3817
  'react-x/no-forbidden-props'?: Linter.RuleEntry<ReactXNoForbiddenProps>
3803
3818
  /**
3804
- * Replaces usages of `forwardRef` with passing `ref` as a prop.
3819
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3805
3820
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3806
3821
  */
3807
3822
  'react-x/no-forward-ref'?: Linter.RuleEntry<[]>
3808
3823
  /**
3809
- * 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).
3810
3825
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3811
3826
  */
3812
3827
  'react-x/no-implicit-key'?: Linter.RuleEntry<[]>
@@ -3816,57 +3831,57 @@ interface RuleOptions {
3816
3831
  */
3817
3832
  'react-x/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
3818
3833
  /**
3819
- * 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.
3820
3835
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3821
3836
  */
3822
3837
  'react-x/no-missing-component-display-name'?: Linter.RuleEntry<[]>
3823
3838
  /**
3824
- * 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.
3825
3840
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3826
3841
  */
3827
3842
  'react-x/no-missing-context-display-name'?: Linter.RuleEntry<[]>
3828
3843
  /**
3829
- * Disallow missing `key` on items in list rendering.
3844
+ * Disallows missing 'key' on items in list rendering.
3830
3845
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
3831
3846
  */
3832
3847
  'react-x/no-missing-key'?: Linter.RuleEntry<[]>
3833
3848
  /**
3834
- * Prevents incorrect usage of `captureOwnerStack`.
3849
+ * Prevents incorrect usage of 'captureOwnerStack'.
3835
3850
  * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3836
3851
  */
3837
3852
  'react-x/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
3838
3853
  /**
3839
- * Disallow nesting component definitions inside other components.
3854
+ * Disallows nesting component definitions inside other components.
3840
3855
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3841
3856
  */
3842
3857
  'react-x/no-nested-component-definitions'?: Linter.RuleEntry<[]>
3843
3858
  /**
3844
- * Disallow nesting lazy component declarations inside other components.
3859
+ * Disallows nesting lazy component declarations inside other components.
3845
3860
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3846
3861
  */
3847
3862
  'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
3848
3863
  /**
3849
- * Disallow `propTypes` in favor of TypeScript or another type-checking solution.
3864
+ * Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
3850
3865
  * @see https://eslint-react.xyz/docs/rules/no-prop-types
3851
3866
  */
3852
3867
  'react-x/no-prop-types'?: Linter.RuleEntry<[]>
3853
3868
  /**
3854
- * Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
3869
+ * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
3855
3870
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3856
3871
  */
3857
3872
  'react-x/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3858
3873
  /**
3859
- * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
3874
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3860
3875
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3861
3876
  */
3862
3877
  'react-x/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
3863
3878
  /**
3864
- * Disallow calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
3879
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3865
3880
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3866
3881
  */
3867
3882
  'react-x/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
3868
3883
  /**
3869
- * Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3884
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3870
3885
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3871
3886
  */
3872
3887
  'react-x/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
@@ -3876,42 +3891,42 @@ interface RuleOptions {
3876
3891
  */
3877
3892
  'react-x/no-string-refs'?: Linter.RuleEntry<[]>
3878
3893
  /**
3879
- * 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.
3880
3895
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
3881
3896
  */
3882
3897
  'react-x/no-unnecessary-key'?: Linter.RuleEntry<[]>
3883
3898
  /**
3884
- * Disallow unnecessary usage of `useCallback`.
3899
+ * Disallows unnecessary usage of 'useCallback'.
3885
3900
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
3886
3901
  */
3887
3902
  'react-x/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3888
3903
  /**
3889
- * Disallow unnecessary usage of `useMemo`.
3904
+ * Disallows unnecessary usage of 'useMemo'.
3890
3905
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
3891
3906
  */
3892
3907
  'react-x/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3893
3908
  /**
3894
- * 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.
3895
3910
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3896
3911
  */
3897
3912
  'react-x/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3898
3913
  /**
3899
- * Warns the usage of `UNSAFE_componentWillMount` in class components.
3914
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3900
3915
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3901
3916
  */
3902
3917
  'react-x/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
3903
3918
  /**
3904
- * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
3919
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3905
3920
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3906
3921
  */
3907
3922
  'react-x/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3908
3923
  /**
3909
- * Warns the usage of `UNSAFE_componentWillUpdate` in class components.
3924
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3910
3925
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3911
3926
  */
3912
3927
  'react-x/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3913
3928
  /**
3914
- * 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'.
3915
3930
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3916
3931
  */
3917
3932
  'react-x/no-unstable-context-value'?: Linter.RuleEntry<[]>
@@ -3921,32 +3936,32 @@ interface RuleOptions {
3921
3936
  */
3922
3937
  'react-x/no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>
3923
3938
  /**
3924
- * Warns unused class component methods and properties.
3939
+ * Warns about unused class component methods and properties.
3925
3940
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3926
3941
  */
3927
3942
  'react-x/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3928
3943
  /**
3929
- * Warns component props that are defined but never used.
3944
+ * Warns about component props that are defined but never used.
3930
3945
  * @see https://eslint-react.xyz/docs/rules/no-unused-props
3931
3946
  */
3932
3947
  'react-x/no-unused-props'?: Linter.RuleEntry<[]>
3933
3948
  /**
3934
- * Warns unused class component state.
3949
+ * Warns about unused class component state.
3935
3950
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3936
3951
  */
3937
3952
  'react-x/no-unused-state'?: Linter.RuleEntry<[]>
3938
3953
  /**
3939
- * Replaces usages of `useContext` with `use`.
3954
+ * Replaces usage of 'useContext' with 'use'.
3940
3955
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3941
3956
  */
3942
3957
  'react-x/no-use-context'?: Linter.RuleEntry<[]>
3943
3958
  /**
3944
- * 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.
3945
3960
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3946
3961
  */
3947
3962
  'react-x/no-useless-forward-ref'?: Linter.RuleEntry<[]>
3948
3963
  /**
3949
- * Disallow useless fragment elements.
3964
+ * Disallows useless fragment elements.
3950
3965
  * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3951
3966
  */
3952
3967
  'react-x/no-useless-fragment'?: Linter.RuleEntry<ReactXNoUselessFragment>
@@ -3956,7 +3971,7 @@ interface RuleOptions {
3956
3971
  */
3957
3972
  'react-x/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3958
3973
  /**
3959
- * Enforces React is imported via a namespace import.
3974
+ * Enforces importing React via a namespace import.
3960
3975
  * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
3961
3976
  */
3962
3977
  'react-x/prefer-namespace-import'?: Linter.RuleEntry<[]>
@@ -3966,7 +3981,7 @@ interface RuleOptions {
3966
3981
  */
3967
3982
  'react-x/prefer-read-only-props'?: Linter.RuleEntry<[]>
3968
3983
  /**
3969
- * 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'.
3970
3985
  * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
3971
3986
  */
3972
3987
  'react-x/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
@@ -3999,10 +4014,6 @@ interface RuleOptions {
3999
4014
  * @see https://tkdodo.eu/blog/avoiding-hydration-mismatches-with-use-sync-external-store
4000
4015
  */
4001
4016
  'react-you-might-not-need-an-effect/no-initialize-state'?: Linter.RuleEntry<[]>
4002
- /**
4003
- * Disallow effects that only use props.
4004
- */
4005
- 'react-you-might-not-need-an-effect/no-manage-parent'?: Linter.RuleEntry<[]>
4006
4017
  /**
4007
4018
  * Disallow passing data to parents in an effect.
4008
4019
  * @see https://react.dev/learn/you-might-not-need-an-effect#passing-data-to-the-parent
@@ -7487,7 +7498,7 @@ interface RuleOptions {
7487
7498
  * disallow conditional expects
7488
7499
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
7489
7500
  */
7490
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
7501
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
7491
7502
  /**
7492
7503
  * disallow conditional tests
7493
7504
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -7584,6 +7595,11 @@ interface RuleOptions {
7584
7595
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
7585
7596
  */
7586
7597
  'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>
7598
+ /**
7599
+ * Disallow unnecessary async function wrapper for expected promises
7600
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md
7601
+ */
7602
+ 'vitest/no-unneeded-async-expect-function'?: Linter.RuleEntry<[]>
7587
7603
  /**
7588
7604
  * Enforce padding around `afterAll` blocks
7589
7605
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
@@ -7693,7 +7709,7 @@ interface RuleOptions {
7693
7709
  * prefer dynamic import in mock
7694
7710
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
7695
7711
  */
7696
- 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<[]>
7712
+ 'vitest/prefer-import-in-mock'?: Linter.RuleEntry<VitestPreferImportInMock>
7697
7713
  /**
7698
7714
  * enforce importing Vitest globals
7699
7715
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -7709,6 +7725,11 @@ interface RuleOptions {
7709
7725
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
7710
7726
  */
7711
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<[]>
7712
7733
  /**
7713
7734
  * enforce including a hint with external snapshots
7714
7735
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
@@ -7754,6 +7775,11 @@ interface RuleOptions {
7754
7775
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
7755
7776
  */
7756
7777
  'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>
7778
+ /**
7779
+ * Suggest using `toHaveBeenCalledTimes()`
7780
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-been-called-times.md
7781
+ */
7782
+ 'vitest/prefer-to-have-been-called-times'?: Linter.RuleEntry<[]>
7757
7783
  /**
7758
7784
  * enforce using toHaveLength()
7759
7785
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
@@ -7779,11 +7805,6 @@ interface RuleOptions {
7779
7805
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
7780
7806
  */
7781
7807
  'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>
7782
- /**
7783
- * require usage of import in vi.mock()
7784
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
7785
- */
7786
- 'vitest/require-import-vi-mock'?: Linter.RuleEntry<[]>
7787
7808
  /**
7788
7809
  * require local Test Context for concurrent snapshot tests
7789
7810
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
@@ -15562,6 +15583,7 @@ type PerfectionistSortVariableDeclarations = []|[{
15562
15583
  // ----- playwright/expect-expect -----
15563
15584
  type PlaywrightExpectExpect = []|[{
15564
15585
  assertFunctionNames?: []|[string]
15586
+ assertFunctionPatterns?: []|[string]
15565
15587
  }]
15566
15588
  // ----- playwright/max-expects -----
15567
15589
  type PlaywrightMaxExpects = []|[{
@@ -15819,6 +15841,11 @@ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
15819
15841
  extensions?: string[]
15820
15842
  ignoreFilesWithoutCode?: boolean
15821
15843
  })]
15844
+ // ----- react-naming-convention/use-state -----
15845
+ type ReactNamingConventionUseState = []|[{
15846
+ enforceAssignment?: boolean
15847
+ enforceSetterName?: boolean
15848
+ }]
15822
15849
  // ----- react-perf/jsx-no-jsx-as-prop -----
15823
15850
  type ReactPerfJsxNoJsxAsProp = []|[{
15824
15851
  nativeAllowList?: ("all" | string[])
@@ -17110,6 +17137,11 @@ type VitestMaxExpects = []|[{
17110
17137
  type VitestMaxNestedDescribe = []|[{
17111
17138
  max?: number
17112
17139
  }]
17140
+ // ----- vitest/no-conditional-expect -----
17141
+ type VitestNoConditionalExpect = []|[{
17142
+
17143
+ expectAssertions?: boolean
17144
+ }]
17113
17145
  // ----- vitest/no-focused-tests -----
17114
17146
  type VitestNoFocusedTests = []|[{
17115
17147
  fixable?: boolean
@@ -17152,6 +17184,10 @@ type VitestPreferExpectAssertions = []|[{
17152
17184
  onlyFunctionsWithExpectInLoop?: boolean
17153
17185
  onlyFunctionsWithExpectInCallback?: boolean
17154
17186
  }]
17187
+ // ----- vitest/prefer-import-in-mock -----
17188
+ type VitestPreferImportInMock = []|[{
17189
+ fixable?: boolean
17190
+ }]
17155
17191
  // ----- vitest/prefer-lowercase-title -----
17156
17192
  type VitestPreferLowercaseTitle = []|[{
17157
17193
  ignore?: ("describe" | "test" | "it")[]