@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 +6 -0
- package/dist/index.d.cts +109 -85
- package/dist/index.d.mts +109 -85
- package/dist/index.d.ts +109 -85
- package/package.json +12 -12
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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")[]
|