@bfra.me/eslint-config 0.47.6 → 0.47.9
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/lib/index.d.ts +102 -85
- package/lib/index.js +1 -1
- package/package.json +8 -8
- package/src/rules.d.ts +102 -85
package/lib/index.d.ts
CHANGED
|
@@ -4535,97 +4535,97 @@ interface Rules {
|
|
|
4535
4535
|
*/
|
|
4536
4536
|
'radix'?: Linter.RuleEntry<Radix>
|
|
4537
4537
|
/**
|
|
4538
|
-
*
|
|
4538
|
+
* Disallows DOM elements from using 'dangerouslySetInnerHTML'.
|
|
4539
4539
|
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
|
|
4540
4540
|
*/
|
|
4541
4541
|
'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
|
|
4542
4542
|
/**
|
|
4543
|
-
*
|
|
4543
|
+
* Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
|
|
4544
4544
|
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
|
|
4545
4545
|
*/
|
|
4546
4546
|
'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
|
|
4547
4547
|
/**
|
|
4548
|
-
*
|
|
4548
|
+
* Disallows 'findDOMNode'.
|
|
4549
4549
|
* @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
|
|
4550
4550
|
*/
|
|
4551
4551
|
'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
|
|
4552
4552
|
/**
|
|
4553
|
-
*
|
|
4553
|
+
* Disallows 'flushSync'.
|
|
4554
4554
|
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
|
|
4555
4555
|
*/
|
|
4556
4556
|
'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
|
|
4557
4557
|
/**
|
|
4558
|
-
* Replaces
|
|
4558
|
+
* Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
|
|
4559
4559
|
* @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
|
|
4560
4560
|
*/
|
|
4561
4561
|
'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
|
|
4562
4562
|
/**
|
|
4563
|
-
* Enforces explicit
|
|
4563
|
+
* Enforces an explicit 'type' attribute for 'button' elements.
|
|
4564
4564
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
|
|
4565
4565
|
*/
|
|
4566
4566
|
'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
|
|
4567
4567
|
/**
|
|
4568
|
-
* Enforces explicit
|
|
4568
|
+
* Enforces an explicit 'sandbox' attribute for 'iframe' elements.
|
|
4569
4569
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
|
|
4570
4570
|
*/
|
|
4571
4571
|
'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
|
|
4572
4572
|
/**
|
|
4573
|
-
* Enforces the absence of a
|
|
4573
|
+
* Enforces the absence of a 'namespace' in React elements.
|
|
4574
4574
|
* @see https://eslint-react.xyz/docs/rules/dom-no-namespace
|
|
4575
4575
|
*/
|
|
4576
4576
|
'react-dom/no-namespace'?: Linter.RuleEntry<[]>
|
|
4577
4577
|
/**
|
|
4578
|
-
* Replaces
|
|
4578
|
+
* Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
|
|
4579
4579
|
* @see https://eslint-react.xyz/docs/rules/dom-no-render
|
|
4580
4580
|
*/
|
|
4581
4581
|
'react-dom/no-render'?: Linter.RuleEntry<[]>
|
|
4582
4582
|
/**
|
|
4583
|
-
*
|
|
4583
|
+
* Disallows the return value of 'ReactDOM.render'.
|
|
4584
4584
|
* @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
|
|
4585
4585
|
*/
|
|
4586
4586
|
'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
|
|
4587
4587
|
/**
|
|
4588
|
-
*
|
|
4588
|
+
* Disallows 'javascript:' URLs as attribute values.
|
|
4589
4589
|
* @see https://eslint-react.xyz/docs/rules/dom-no-script-url
|
|
4590
4590
|
*/
|
|
4591
4591
|
'react-dom/no-script-url'?: Linter.RuleEntry<[]>
|
|
4592
4592
|
/**
|
|
4593
|
-
* Disallows the use of string style prop.
|
|
4593
|
+
* Disallows the use of string style prop in JSX. Use an object instead.
|
|
4594
4594
|
* @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
|
|
4595
4595
|
*/
|
|
4596
4596
|
'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
|
|
4597
4597
|
/**
|
|
4598
|
-
*
|
|
4598
|
+
* Disallows unknown 'DOM' properties.
|
|
4599
4599
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
|
|
4600
4600
|
*/
|
|
4601
4601
|
'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
|
|
4602
4602
|
/**
|
|
4603
|
-
* Enforces
|
|
4603
|
+
* Enforces 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
|
|
4604
4604
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
|
|
4605
4605
|
*/
|
|
4606
4606
|
'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
|
|
4607
4607
|
/**
|
|
4608
|
-
*
|
|
4608
|
+
* Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
|
|
4609
4609
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
|
|
4610
4610
|
*/
|
|
4611
4611
|
'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
|
|
4612
4612
|
/**
|
|
4613
|
-
* Replaces
|
|
4613
|
+
* Replaces usage of 'useFormState' with 'useActionState'.
|
|
4614
4614
|
* @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
|
|
4615
4615
|
*/
|
|
4616
4616
|
'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
|
|
4617
4617
|
/**
|
|
4618
|
-
*
|
|
4618
|
+
* Disallows 'children' in void DOM elements.
|
|
4619
4619
|
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
|
|
4620
4620
|
*/
|
|
4621
4621
|
'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
|
|
4622
4622
|
/**
|
|
4623
|
-
* Enforces React
|
|
4623
|
+
* Enforces importing React DOM via a namespace import.
|
|
4624
4624
|
* @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
|
|
4625
4625
|
*/
|
|
4626
4626
|
'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
|
|
4627
4627
|
/**
|
|
4628
|
-
*
|
|
4628
|
+
* Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
|
|
4629
4629
|
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
|
|
4630
4630
|
*/
|
|
4631
4631
|
'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
|
|
@@ -4753,88 +4753,93 @@ interface Rules {
|
|
|
4753
4753
|
*/
|
|
4754
4754
|
'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
|
|
4755
4755
|
/**
|
|
4756
|
-
* Enforces context name to be a valid component name with the suffix
|
|
4756
|
+
* Enforces the context name to be a valid component name with the suffix 'Context'.
|
|
4757
4757
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
|
|
4758
4758
|
*/
|
|
4759
4759
|
'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
|
|
4760
4760
|
/**
|
|
4761
|
-
* Enforces consistent file
|
|
4761
|
+
* Enforces consistent file-naming conventions.
|
|
4762
4762
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
|
|
4763
4763
|
*/
|
|
4764
4764
|
'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
|
|
4765
4765
|
/**
|
|
4766
|
-
* Enforces consistent file
|
|
4766
|
+
* Enforces consistent use of the JSX file extension.
|
|
4767
4767
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
|
|
4768
4768
|
*/
|
|
4769
4769
|
'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
|
|
4770
4770
|
/**
|
|
4771
|
-
* Enforces
|
|
4771
|
+
* Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
|
|
4772
|
+
* @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
|
|
4773
|
+
*/
|
|
4774
|
+
'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
|
|
4775
|
+
/**
|
|
4776
|
+
* Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
|
|
4772
4777
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
|
|
4773
4778
|
*/
|
|
4774
4779
|
'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>
|
|
4775
4780
|
'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
|
|
4776
4781
|
/**
|
|
4777
|
-
*
|
|
4782
|
+
* Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
|
|
4778
4783
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
|
|
4779
4784
|
*/
|
|
4780
4785
|
'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
|
|
4781
4786
|
/**
|
|
4782
|
-
*
|
|
4787
|
+
* Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
|
|
4783
4788
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
|
|
4784
4789
|
*/
|
|
4785
4790
|
'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
|
|
4786
4791
|
/**
|
|
4787
|
-
*
|
|
4792
|
+
* Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
|
|
4788
4793
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
|
|
4789
4794
|
*/
|
|
4790
4795
|
'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
|
|
4791
4796
|
/**
|
|
4792
|
-
*
|
|
4797
|
+
* Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
|
|
4793
4798
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
|
|
4794
4799
|
*/
|
|
4795
4800
|
'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
|
|
4796
4801
|
/**
|
|
4797
|
-
* Prevents dollar signs from being inserted
|
|
4802
|
+
* Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
|
|
4798
4803
|
* @see https://eslint-react.xyz/docs/rules/jsx-dollar
|
|
4799
4804
|
*/
|
|
4800
4805
|
'react/jsx-dollar'?: Linter.RuleEntry<[]>
|
|
4801
4806
|
/**
|
|
4802
|
-
* Enforces that the 'key' prop is placed before the spread prop in JSX elements.
|
|
4807
|
+
* Enforces that the 'key' prop is placed before the spread prop in JSX elements when using the new JSX transform.
|
|
4803
4808
|
* @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
|
|
4804
4809
|
*/
|
|
4805
4810
|
'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
|
|
4806
4811
|
/**
|
|
4807
|
-
* Prevents
|
|
4812
|
+
* Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
|
|
4808
4813
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
|
|
4809
4814
|
*/
|
|
4810
4815
|
'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
|
|
4811
4816
|
/**
|
|
4812
|
-
*
|
|
4817
|
+
* Disallows duplicate props in JSX elements.
|
|
4813
4818
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
|
|
4814
4819
|
*/
|
|
4815
4820
|
'react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
|
|
4816
4821
|
/**
|
|
4817
|
-
* Disallows 'IIFE' in JSX
|
|
4822
|
+
* Disallows 'IIFE' in JSX.
|
|
4818
4823
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-iife
|
|
4819
4824
|
*/
|
|
4820
4825
|
'react/jsx-no-iife'?: Linter.RuleEntry<[]>
|
|
4821
4826
|
/**
|
|
4822
|
-
*
|
|
4827
|
+
* Prevents using variables in JSX that are not defined in the scope.
|
|
4823
4828
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-undef
|
|
4824
4829
|
*/
|
|
4825
4830
|
'react/jsx-no-undef'?: Linter.RuleEntry<[]>
|
|
4826
4831
|
/**
|
|
4827
|
-
* Enforces shorthand syntax for boolean attributes.
|
|
4832
|
+
* Enforces the use of shorthand syntax for boolean attributes.
|
|
4828
4833
|
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
|
|
4829
4834
|
*/
|
|
4830
4835
|
'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>
|
|
4831
4836
|
/**
|
|
4832
|
-
* Enforces shorthand syntax for fragments.
|
|
4837
|
+
* Enforces the use of shorthand syntax for fragments.
|
|
4833
4838
|
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
|
|
4834
4839
|
*/
|
|
4835
4840
|
'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>
|
|
4836
4841
|
/**
|
|
4837
|
-
* Marks React variables as used when JSX is
|
|
4842
|
+
* Marks React variables as used when JSX is present.
|
|
4838
4843
|
* @see https://eslint-react.xyz/docs/rules/jsx-uses-react
|
|
4839
4844
|
*/
|
|
4840
4845
|
'react/jsx-uses-react'?: Linter.RuleEntry<[]>
|
|
@@ -4844,108 +4849,108 @@ interface Rules {
|
|
|
4844
4849
|
*/
|
|
4845
4850
|
'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
|
|
4846
4851
|
/**
|
|
4847
|
-
*
|
|
4852
|
+
* Disallows accessing 'this.state' inside 'setState' calls.
|
|
4848
4853
|
* @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
|
|
4849
4854
|
*/
|
|
4850
4855
|
'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
|
|
4851
4856
|
/**
|
|
4852
|
-
*
|
|
4857
|
+
* Disallows using an item's index in the array as its key.
|
|
4853
4858
|
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
|
|
4854
4859
|
*/
|
|
4855
4860
|
'react/no-array-index-key'?: Linter.RuleEntry<[]>
|
|
4856
4861
|
/**
|
|
4857
|
-
*
|
|
4862
|
+
* Disallows the use of 'Children.count' from the 'react' package.
|
|
4858
4863
|
* @see https://eslint-react.xyz/docs/rules/no-children-count
|
|
4859
4864
|
*/
|
|
4860
4865
|
'react/no-children-count'?: Linter.RuleEntry<[]>
|
|
4861
4866
|
/**
|
|
4862
|
-
*
|
|
4867
|
+
* Disallows the use of 'Children.forEach' from the 'react' package.
|
|
4863
4868
|
* @see https://eslint-react.xyz/docs/rules/no-children-for-each
|
|
4864
4869
|
*/
|
|
4865
4870
|
'react/no-children-for-each'?: Linter.RuleEntry<[]>
|
|
4866
4871
|
/**
|
|
4867
|
-
*
|
|
4872
|
+
* Disallows the use of 'Children.map' from the 'react' package.
|
|
4868
4873
|
* @see https://eslint-react.xyz/docs/rules/no-children-map
|
|
4869
4874
|
*/
|
|
4870
4875
|
'react/no-children-map'?: Linter.RuleEntry<[]>
|
|
4871
4876
|
/**
|
|
4872
|
-
*
|
|
4877
|
+
* Disallows the use of 'Children.only' from the 'react' package.
|
|
4873
4878
|
* @see https://eslint-react.xyz/docs/rules/no-children-only
|
|
4874
4879
|
*/
|
|
4875
4880
|
'react/no-children-only'?: Linter.RuleEntry<[]>
|
|
4876
4881
|
/**
|
|
4877
|
-
*
|
|
4882
|
+
* Disallows passing 'children' as a prop.
|
|
4878
4883
|
* @see https://eslint-react.xyz/docs/rules/no-children-prop
|
|
4879
4884
|
*/
|
|
4880
4885
|
'react/no-children-prop'?: Linter.RuleEntry<[]>
|
|
4881
4886
|
/**
|
|
4882
|
-
*
|
|
4887
|
+
* Disallows the use of 'Children.toArray' from the 'react' package.
|
|
4883
4888
|
* @see https://eslint-react.xyz/docs/rules/no-children-to-array
|
|
4884
4889
|
*/
|
|
4885
4890
|
'react/no-children-to-array'?: Linter.RuleEntry<[]>
|
|
4886
4891
|
/**
|
|
4887
|
-
*
|
|
4892
|
+
* Disallows class components except for error boundaries.
|
|
4888
4893
|
* @see https://eslint-react.xyz/docs/rules/no-class-component
|
|
4889
4894
|
*/
|
|
4890
4895
|
'react/no-class-component'?: Linter.RuleEntry<[]>
|
|
4891
4896
|
/**
|
|
4892
|
-
*
|
|
4897
|
+
* Disallows 'cloneElement'.
|
|
4893
4898
|
* @see https://eslint-react.xyz/docs/rules/no-clone-element
|
|
4894
4899
|
*/
|
|
4895
4900
|
'react/no-clone-element'?: Linter.RuleEntry<[]>
|
|
4896
4901
|
/**
|
|
4897
|
-
*
|
|
4902
|
+
* Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
|
|
4898
4903
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
|
|
4899
4904
|
*/
|
|
4900
4905
|
'react/no-component-will-mount'?: Linter.RuleEntry<[]>
|
|
4901
4906
|
/**
|
|
4902
|
-
*
|
|
4907
|
+
* Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
|
|
4903
4908
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
|
|
4904
4909
|
*/
|
|
4905
4910
|
'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
|
|
4906
4911
|
/**
|
|
4907
|
-
*
|
|
4912
|
+
* Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
|
|
4908
4913
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
|
|
4909
4914
|
*/
|
|
4910
4915
|
'react/no-component-will-update'?: Linter.RuleEntry<[]>
|
|
4911
4916
|
/**
|
|
4912
|
-
*
|
|
4917
|
+
* Replaces usage of '<Context.Provider>' with '<Context>'.
|
|
4913
4918
|
* @see https://eslint-react.xyz/docs/rules/no-context-provider
|
|
4914
4919
|
*/
|
|
4915
4920
|
'react/no-context-provider'?: Linter.RuleEntry<[]>
|
|
4916
4921
|
/**
|
|
4917
|
-
*
|
|
4922
|
+
* Disallows 'createRef' in function components.
|
|
4918
4923
|
* @see https://eslint-react.xyz/docs/rules/no-create-ref
|
|
4919
4924
|
*/
|
|
4920
4925
|
'react/no-create-ref'?: Linter.RuleEntry<[]>
|
|
4921
4926
|
/**
|
|
4922
|
-
*
|
|
4927
|
+
* Disallows the 'defaultProps' property in favor of ES6 default parameters.
|
|
4923
4928
|
* @see https://eslint-react.xyz/docs/rules/no-default-props
|
|
4924
4929
|
*/
|
|
4925
4930
|
'react/no-default-props'?: Linter.RuleEntry<[]>
|
|
4926
4931
|
/**
|
|
4927
|
-
*
|
|
4932
|
+
* Disallows direct mutation of 'this.state'.
|
|
4928
4933
|
* @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
|
|
4929
4934
|
*/
|
|
4930
4935
|
'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
|
|
4931
4936
|
/**
|
|
4932
|
-
*
|
|
4937
|
+
* Disallows duplicate 'key' on elements in the same array or a list of 'children'.
|
|
4933
4938
|
* @see https://eslint-react.xyz/docs/rules/no-duplicate-key
|
|
4934
4939
|
*/
|
|
4935
4940
|
'react/no-duplicate-key'?: Linter.RuleEntry<[]>
|
|
4936
4941
|
/**
|
|
4937
|
-
*
|
|
4942
|
+
* Disallows certain props on components.
|
|
4938
4943
|
* @see https://eslint-react.xyz/docs/rules/no-forbidden-props
|
|
4939
4944
|
* @deprecated
|
|
4940
4945
|
*/
|
|
4941
4946
|
'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>
|
|
4942
4947
|
/**
|
|
4943
|
-
* Replaces
|
|
4948
|
+
* Replaces usage of 'forwardRef' with passing 'ref' as a prop.
|
|
4944
4949
|
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
|
|
4945
4950
|
*/
|
|
4946
4951
|
'react/no-forward-ref'?: Linter.RuleEntry<[]>
|
|
4947
4952
|
/**
|
|
4948
|
-
* Prevents
|
|
4953
|
+
* Prevents 'key' from not being explicitly specified (e.g., spreading 'key' from objects).
|
|
4949
4954
|
* @see https://eslint-react.xyz/docs/rules/no-implicit-key
|
|
4950
4955
|
*/
|
|
4951
4956
|
'react/no-implicit-key'?: Linter.RuleEntry<[]>
|
|
@@ -4955,57 +4960,57 @@ interface Rules {
|
|
|
4955
4960
|
*/
|
|
4956
4961
|
'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
|
|
4957
4962
|
/**
|
|
4958
|
-
* Enforces that all components have a
|
|
4963
|
+
* Enforces that all components have a 'displayName' that can be used in devtools.
|
|
4959
4964
|
* @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
|
|
4960
4965
|
*/
|
|
4961
4966
|
'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
|
|
4962
4967
|
/**
|
|
4963
|
-
* Enforces that all contexts have a
|
|
4968
|
+
* Enforces that all contexts have a 'displayName' that can be used in devtools.
|
|
4964
4969
|
* @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
|
|
4965
4970
|
*/
|
|
4966
4971
|
'react/no-missing-context-display-name'?: Linter.RuleEntry<[]>
|
|
4967
4972
|
/**
|
|
4968
|
-
*
|
|
4973
|
+
* Disallows missing 'key' on items in list rendering.
|
|
4969
4974
|
* @see https://eslint-react.xyz/docs/rules/no-missing-key
|
|
4970
4975
|
*/
|
|
4971
4976
|
'react/no-missing-key'?: Linter.RuleEntry<[]>
|
|
4972
4977
|
/**
|
|
4973
|
-
* Prevents incorrect usage of
|
|
4978
|
+
* Prevents incorrect usage of 'captureOwnerStack'.
|
|
4974
4979
|
* @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
|
|
4975
4980
|
*/
|
|
4976
4981
|
'react/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
|
|
4977
4982
|
/**
|
|
4978
|
-
*
|
|
4983
|
+
* Disallows nesting component definitions inside other components.
|
|
4979
4984
|
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
|
|
4980
4985
|
*/
|
|
4981
4986
|
'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
|
|
4982
4987
|
/**
|
|
4983
|
-
*
|
|
4988
|
+
* Disallows nesting lazy component declarations inside other components.
|
|
4984
4989
|
* @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
|
|
4985
4990
|
*/
|
|
4986
4991
|
'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
|
|
4987
4992
|
/**
|
|
4988
|
-
*
|
|
4993
|
+
* Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
|
|
4989
4994
|
* @see https://eslint-react.xyz/docs/rules/no-prop-types
|
|
4990
4995
|
*/
|
|
4991
4996
|
'react/no-prop-types'?: Linter.RuleEntry<[]>
|
|
4992
4997
|
/**
|
|
4993
|
-
*
|
|
4998
|
+
* Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
|
|
4994
4999
|
* @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
|
|
4995
5000
|
*/
|
|
4996
5001
|
'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
|
|
4997
5002
|
/**
|
|
4998
|
-
*
|
|
5003
|
+
* Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
|
|
4999
5004
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
|
|
5000
5005
|
*/
|
|
5001
5006
|
'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
|
|
5002
5007
|
/**
|
|
5003
|
-
*
|
|
5008
|
+
* Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
|
|
5004
5009
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
|
|
5005
5010
|
*/
|
|
5006
5011
|
'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
|
|
5007
5012
|
/**
|
|
5008
|
-
*
|
|
5013
|
+
* Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
|
|
5009
5014
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
|
|
5010
5015
|
*/
|
|
5011
5016
|
'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
|
|
@@ -5015,42 +5020,42 @@ interface Rules {
|
|
|
5015
5020
|
*/
|
|
5016
5021
|
'react/no-string-refs'?: Linter.RuleEntry<[]>
|
|
5017
5022
|
/**
|
|
5018
|
-
* Prevents
|
|
5023
|
+
* Prevents 'key' from being placed on non-top-level elements in list rendering.
|
|
5019
5024
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
|
|
5020
5025
|
*/
|
|
5021
5026
|
'react/no-unnecessary-key'?: Linter.RuleEntry<[]>
|
|
5022
5027
|
/**
|
|
5023
|
-
*
|
|
5028
|
+
* Disallows unnecessary usage of 'useCallback'.
|
|
5024
5029
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
|
|
5025
5030
|
*/
|
|
5026
5031
|
'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
|
|
5027
5032
|
/**
|
|
5028
|
-
*
|
|
5033
|
+
* Disallows unnecessary usage of 'useMemo'.
|
|
5029
5034
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
|
|
5030
5035
|
*/
|
|
5031
5036
|
'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
|
|
5032
5037
|
/**
|
|
5033
|
-
* Enforces that a function with the
|
|
5038
|
+
* Enforces that a function with the 'use' prefix uses at least one Hook inside it.
|
|
5034
5039
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
|
|
5035
5040
|
*/
|
|
5036
5041
|
'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
|
|
5037
5042
|
/**
|
|
5038
|
-
* Warns the
|
|
5043
|
+
* Warns about the use of 'UNSAFE_componentWillMount' in class components.
|
|
5039
5044
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
|
|
5040
5045
|
*/
|
|
5041
5046
|
'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
|
|
5042
5047
|
/**
|
|
5043
|
-
* Warns the
|
|
5048
|
+
* Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
|
|
5044
5049
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
|
|
5045
5050
|
*/
|
|
5046
5051
|
'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
|
|
5047
5052
|
/**
|
|
5048
|
-
* Warns the
|
|
5053
|
+
* Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
|
|
5049
5054
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
|
|
5050
5055
|
*/
|
|
5051
5056
|
'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
|
|
5052
5057
|
/**
|
|
5053
|
-
* Prevents non-stable values (i.e
|
|
5058
|
+
* Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
|
|
5054
5059
|
* @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
|
|
5055
5060
|
*/
|
|
5056
5061
|
'react/no-unstable-context-value'?: Linter.RuleEntry<[]>
|
|
@@ -5060,32 +5065,32 @@ interface Rules {
|
|
|
5060
5065
|
*/
|
|
5061
5066
|
'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>
|
|
5062
5067
|
/**
|
|
5063
|
-
* Warns unused class component methods and properties.
|
|
5068
|
+
* Warns about unused class component methods and properties.
|
|
5064
5069
|
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
|
|
5065
5070
|
*/
|
|
5066
5071
|
'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
|
|
5067
5072
|
/**
|
|
5068
|
-
* Warns component props that are defined but never used.
|
|
5073
|
+
* Warns about component props that are defined but never used.
|
|
5069
5074
|
* @see https://eslint-react.xyz/docs/rules/no-unused-props
|
|
5070
5075
|
*/
|
|
5071
5076
|
'react/no-unused-props'?: Linter.RuleEntry<[]>
|
|
5072
5077
|
/**
|
|
5073
|
-
* Warns unused class component state.
|
|
5078
|
+
* Warns about unused class component state.
|
|
5074
5079
|
* @see https://eslint-react.xyz/docs/rules/no-unused-state
|
|
5075
5080
|
*/
|
|
5076
5081
|
'react/no-unused-state'?: Linter.RuleEntry<[]>
|
|
5077
5082
|
/**
|
|
5078
|
-
* Replaces
|
|
5083
|
+
* Replaces usage of 'useContext' with 'use'.
|
|
5079
5084
|
* @see https://eslint-react.xyz/docs/rules/no-use-context
|
|
5080
5085
|
*/
|
|
5081
5086
|
'react/no-use-context'?: Linter.RuleEntry<[]>
|
|
5082
5087
|
/**
|
|
5083
|
-
*
|
|
5088
|
+
* Disallows useless 'forwardRef' calls on components that don't use 'ref's.
|
|
5084
5089
|
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
|
|
5085
5090
|
*/
|
|
5086
5091
|
'react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
|
|
5087
5092
|
/**
|
|
5088
|
-
*
|
|
5093
|
+
* Disallows useless fragment elements.
|
|
5089
5094
|
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
|
|
5090
5095
|
*/
|
|
5091
5096
|
'react/no-useless-fragment'?: Linter.RuleEntry<ReactNoUselessFragment>
|
|
@@ -5095,7 +5100,7 @@ interface Rules {
|
|
|
5095
5100
|
*/
|
|
5096
5101
|
'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
|
|
5097
5102
|
/**
|
|
5098
|
-
* Enforces React
|
|
5103
|
+
* Enforces importing React via a namespace import.
|
|
5099
5104
|
* @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
|
|
5100
5105
|
*/
|
|
5101
5106
|
'react/prefer-namespace-import'?: Linter.RuleEntry<[]>
|
|
@@ -5105,7 +5110,7 @@ interface Rules {
|
|
|
5105
5110
|
*/
|
|
5106
5111
|
'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
|
|
5107
5112
|
/**
|
|
5108
|
-
* Enforces function calls made inside
|
|
5113
|
+
* Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
|
|
5109
5114
|
* @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
|
|
5110
5115
|
*/
|
|
5111
5116
|
'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
|
|
@@ -6560,7 +6565,7 @@ interface Rules {
|
|
|
6560
6565
|
* disallow conditional expects
|
|
6561
6566
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
|
|
6562
6567
|
*/
|
|
6563
|
-
'vitest/no-conditional-expect'?: Linter.RuleEntry<
|
|
6568
|
+
'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
|
|
6564
6569
|
/**
|
|
6565
6570
|
* disallow conditional tests
|
|
6566
6571
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
|
|
@@ -6872,6 +6877,11 @@ interface Rules {
|
|
|
6872
6877
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
|
|
6873
6878
|
*/
|
|
6874
6879
|
'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>
|
|
6880
|
+
/**
|
|
6881
|
+
* require tests to declare a timeout
|
|
6882
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
|
|
6883
|
+
*/
|
|
6884
|
+
'vitest/require-test-timeout'?: Linter.RuleEntry<[]>
|
|
6875
6885
|
/**
|
|
6876
6886
|
* require toThrow() to be called with an error message
|
|
6877
6887
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
|
|
@@ -10712,6 +10722,8 @@ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("alw
|
|
|
10712
10722
|
// ----- jsdoc/require-jsdoc -----
|
|
10713
10723
|
type JsdocRequireJsdoc = []|[{
|
|
10714
10724
|
|
|
10725
|
+
checkAllFunctionExpressions?: boolean
|
|
10726
|
+
|
|
10715
10727
|
checkConstructors?: boolean
|
|
10716
10728
|
|
|
10717
10729
|
checkGetters?: (boolean | "no-setter")
|
|
@@ -16824,6 +16836,11 @@ type VitestMaxExpects = []|[{
|
|
|
16824
16836
|
type VitestMaxNestedDescribe = []|[{
|
|
16825
16837
|
max?: number
|
|
16826
16838
|
}]
|
|
16839
|
+
// ----- vitest/no-conditional-expect -----
|
|
16840
|
+
type VitestNoConditionalExpect = []|[{
|
|
16841
|
+
|
|
16842
|
+
expectAssertions?: boolean
|
|
16843
|
+
}]
|
|
16827
16844
|
// ----- vitest/no-focused-tests -----
|
|
16828
16845
|
type VitestNoFocusedTests = []|[{
|
|
16829
16846
|
fixable?: boolean
|
package/lib/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bfra.me/eslint-config",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.9",
|
|
4
4
|
"description": "Shared ESLint configuration for bfra.me",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bfra.me",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"eslint-merge-processors": "2.0.0",
|
|
46
46
|
"eslint-plugin-command": "3.4.0",
|
|
47
47
|
"eslint-plugin-import-x": "4.16.1",
|
|
48
|
-
"eslint-plugin-jsdoc": "61.
|
|
49
|
-
"eslint-plugin-json-schema-validator": "5.5.
|
|
48
|
+
"eslint-plugin-jsdoc": "61.7.1",
|
|
49
|
+
"eslint-plugin-json-schema-validator": "5.5.1",
|
|
50
50
|
"eslint-plugin-jsonc": "2.21.0",
|
|
51
51
|
"eslint-plugin-n": "17.23.1",
|
|
52
52
|
"eslint-plugin-perfectionist": "4.15.1",
|
|
@@ -60,18 +60,18 @@
|
|
|
60
60
|
"local-pkg": "1.1.2",
|
|
61
61
|
"package-manager-detector": "1.6.0",
|
|
62
62
|
"sort-package-json": "3.6.0",
|
|
63
|
-
"typescript-eslint": "8.
|
|
63
|
+
"typescript-eslint": "8.52.0",
|
|
64
64
|
"@bfra.me/es": "0.1.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@eslint-react/eslint-plugin": "2.
|
|
67
|
+
"@eslint-react/eslint-plugin": "2.5.5",
|
|
68
68
|
"@eslint/config-inspector": "1.4.2",
|
|
69
|
-
"@eslint/core": "1.0.
|
|
69
|
+
"@eslint/core": "1.0.1",
|
|
70
70
|
"@next/eslint-plugin-next": "16.1.1",
|
|
71
71
|
"@types/eslint-config-prettier": "6.11.3",
|
|
72
72
|
"@types/eslint-plugin-jsx-a11y": "6.10.1",
|
|
73
|
-
"@typescript-eslint/types": "8.
|
|
74
|
-
"@vitest/eslint-plugin": "1.6.
|
|
73
|
+
"@typescript-eslint/types": "8.52.0",
|
|
74
|
+
"@vitest/eslint-plugin": "1.6.6",
|
|
75
75
|
"astro-eslint-parser": "1.2.2",
|
|
76
76
|
"eslint": "9.39.2",
|
|
77
77
|
"eslint-config-prettier": "10.1.8",
|
package/src/rules.d.ts
CHANGED
|
@@ -4526,97 +4526,97 @@ export interface Rules {
|
|
|
4526
4526
|
*/
|
|
4527
4527
|
'radix'?: Linter.RuleEntry<Radix>
|
|
4528
4528
|
/**
|
|
4529
|
-
*
|
|
4529
|
+
* Disallows DOM elements from using 'dangerouslySetInnerHTML'.
|
|
4530
4530
|
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
|
|
4531
4531
|
*/
|
|
4532
4532
|
'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
|
|
4533
4533
|
/**
|
|
4534
|
-
*
|
|
4534
|
+
* Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
|
|
4535
4535
|
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
|
|
4536
4536
|
*/
|
|
4537
4537
|
'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
|
|
4538
4538
|
/**
|
|
4539
|
-
*
|
|
4539
|
+
* Disallows 'findDOMNode'.
|
|
4540
4540
|
* @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
|
|
4541
4541
|
*/
|
|
4542
4542
|
'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
|
|
4543
4543
|
/**
|
|
4544
|
-
*
|
|
4544
|
+
* Disallows 'flushSync'.
|
|
4545
4545
|
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
|
|
4546
4546
|
*/
|
|
4547
4547
|
'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
|
|
4548
4548
|
/**
|
|
4549
|
-
* Replaces
|
|
4549
|
+
* Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
|
|
4550
4550
|
* @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
|
|
4551
4551
|
*/
|
|
4552
4552
|
'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
|
|
4553
4553
|
/**
|
|
4554
|
-
* Enforces explicit
|
|
4554
|
+
* Enforces an explicit 'type' attribute for 'button' elements.
|
|
4555
4555
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
|
|
4556
4556
|
*/
|
|
4557
4557
|
'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
|
|
4558
4558
|
/**
|
|
4559
|
-
* Enforces explicit
|
|
4559
|
+
* Enforces an explicit 'sandbox' attribute for 'iframe' elements.
|
|
4560
4560
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
|
|
4561
4561
|
*/
|
|
4562
4562
|
'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
|
|
4563
4563
|
/**
|
|
4564
|
-
* Enforces the absence of a
|
|
4564
|
+
* Enforces the absence of a 'namespace' in React elements.
|
|
4565
4565
|
* @see https://eslint-react.xyz/docs/rules/dom-no-namespace
|
|
4566
4566
|
*/
|
|
4567
4567
|
'react-dom/no-namespace'?: Linter.RuleEntry<[]>
|
|
4568
4568
|
/**
|
|
4569
|
-
* Replaces
|
|
4569
|
+
* Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
|
|
4570
4570
|
* @see https://eslint-react.xyz/docs/rules/dom-no-render
|
|
4571
4571
|
*/
|
|
4572
4572
|
'react-dom/no-render'?: Linter.RuleEntry<[]>
|
|
4573
4573
|
/**
|
|
4574
|
-
*
|
|
4574
|
+
* Disallows the return value of 'ReactDOM.render'.
|
|
4575
4575
|
* @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
|
|
4576
4576
|
*/
|
|
4577
4577
|
'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
|
|
4578
4578
|
/**
|
|
4579
|
-
*
|
|
4579
|
+
* Disallows 'javascript:' URLs as attribute values.
|
|
4580
4580
|
* @see https://eslint-react.xyz/docs/rules/dom-no-script-url
|
|
4581
4581
|
*/
|
|
4582
4582
|
'react-dom/no-script-url'?: Linter.RuleEntry<[]>
|
|
4583
4583
|
/**
|
|
4584
|
-
* Disallows the use of string style prop.
|
|
4584
|
+
* Disallows the use of string style prop in JSX. Use an object instead.
|
|
4585
4585
|
* @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
|
|
4586
4586
|
*/
|
|
4587
4587
|
'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
|
|
4588
4588
|
/**
|
|
4589
|
-
*
|
|
4589
|
+
* Disallows unknown 'DOM' properties.
|
|
4590
4590
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
|
|
4591
4591
|
*/
|
|
4592
4592
|
'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
|
|
4593
4593
|
/**
|
|
4594
|
-
* Enforces
|
|
4594
|
+
* Enforces 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
|
|
4595
4595
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
|
|
4596
4596
|
*/
|
|
4597
4597
|
'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
|
|
4598
4598
|
/**
|
|
4599
|
-
*
|
|
4599
|
+
* Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
|
|
4600
4600
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
|
|
4601
4601
|
*/
|
|
4602
4602
|
'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
|
|
4603
4603
|
/**
|
|
4604
|
-
* Replaces
|
|
4604
|
+
* Replaces usage of 'useFormState' with 'useActionState'.
|
|
4605
4605
|
* @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
|
|
4606
4606
|
*/
|
|
4607
4607
|
'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
|
|
4608
4608
|
/**
|
|
4609
|
-
*
|
|
4609
|
+
* Disallows 'children' in void DOM elements.
|
|
4610
4610
|
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
|
|
4611
4611
|
*/
|
|
4612
4612
|
'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
|
|
4613
4613
|
/**
|
|
4614
|
-
* Enforces React
|
|
4614
|
+
* Enforces importing React DOM via a namespace import.
|
|
4615
4615
|
* @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
|
|
4616
4616
|
*/
|
|
4617
4617
|
'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
|
|
4618
4618
|
/**
|
|
4619
|
-
*
|
|
4619
|
+
* Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
|
|
4620
4620
|
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
|
|
4621
4621
|
*/
|
|
4622
4622
|
'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
|
|
@@ -4744,88 +4744,93 @@ export interface Rules {
|
|
|
4744
4744
|
*/
|
|
4745
4745
|
'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
|
|
4746
4746
|
/**
|
|
4747
|
-
* Enforces context name to be a valid component name with the suffix
|
|
4747
|
+
* Enforces the context name to be a valid component name with the suffix 'Context'.
|
|
4748
4748
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
|
|
4749
4749
|
*/
|
|
4750
4750
|
'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
|
|
4751
4751
|
/**
|
|
4752
|
-
* Enforces consistent file
|
|
4752
|
+
* Enforces consistent file-naming conventions.
|
|
4753
4753
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
|
|
4754
4754
|
*/
|
|
4755
4755
|
'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
|
|
4756
4756
|
/**
|
|
4757
|
-
* Enforces consistent file
|
|
4757
|
+
* Enforces consistent use of the JSX file extension.
|
|
4758
4758
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
|
|
4759
4759
|
*/
|
|
4760
4760
|
'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
|
|
4761
4761
|
/**
|
|
4762
|
-
* Enforces
|
|
4762
|
+
* Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
|
|
4763
|
+
* @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
|
|
4764
|
+
*/
|
|
4765
|
+
'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
|
|
4766
|
+
/**
|
|
4767
|
+
* Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
|
|
4763
4768
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
|
|
4764
4769
|
*/
|
|
4765
4770
|
'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>
|
|
4766
4771
|
'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
|
|
4767
4772
|
/**
|
|
4768
|
-
*
|
|
4773
|
+
* Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
|
|
4769
4774
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
|
|
4770
4775
|
*/
|
|
4771
4776
|
'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
|
|
4772
4777
|
/**
|
|
4773
|
-
*
|
|
4778
|
+
* Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
|
|
4774
4779
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
|
|
4775
4780
|
*/
|
|
4776
4781
|
'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
|
|
4777
4782
|
/**
|
|
4778
|
-
*
|
|
4783
|
+
* Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
|
|
4779
4784
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
|
|
4780
4785
|
*/
|
|
4781
4786
|
'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
|
|
4782
4787
|
/**
|
|
4783
|
-
*
|
|
4788
|
+
* Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
|
|
4784
4789
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
|
|
4785
4790
|
*/
|
|
4786
4791
|
'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
|
|
4787
4792
|
/**
|
|
4788
|
-
* Prevents dollar signs from being inserted
|
|
4793
|
+
* Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
|
|
4789
4794
|
* @see https://eslint-react.xyz/docs/rules/jsx-dollar
|
|
4790
4795
|
*/
|
|
4791
4796
|
'react/jsx-dollar'?: Linter.RuleEntry<[]>
|
|
4792
4797
|
/**
|
|
4793
|
-
* Enforces that the 'key' prop is placed before the spread prop in JSX elements.
|
|
4798
|
+
* Enforces that the 'key' prop is placed before the spread prop in JSX elements when using the new JSX transform.
|
|
4794
4799
|
* @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
|
|
4795
4800
|
*/
|
|
4796
4801
|
'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
|
|
4797
4802
|
/**
|
|
4798
|
-
* Prevents
|
|
4803
|
+
* Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
|
|
4799
4804
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
|
|
4800
4805
|
*/
|
|
4801
4806
|
'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
|
|
4802
4807
|
/**
|
|
4803
|
-
*
|
|
4808
|
+
* Disallows duplicate props in JSX elements.
|
|
4804
4809
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
|
|
4805
4810
|
*/
|
|
4806
4811
|
'react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
|
|
4807
4812
|
/**
|
|
4808
|
-
* Disallows 'IIFE' in JSX
|
|
4813
|
+
* Disallows 'IIFE' in JSX.
|
|
4809
4814
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-iife
|
|
4810
4815
|
*/
|
|
4811
4816
|
'react/jsx-no-iife'?: Linter.RuleEntry<[]>
|
|
4812
4817
|
/**
|
|
4813
|
-
*
|
|
4818
|
+
* Prevents using variables in JSX that are not defined in the scope.
|
|
4814
4819
|
* @see https://eslint-react.xyz/docs/rules/jsx-no-undef
|
|
4815
4820
|
*/
|
|
4816
4821
|
'react/jsx-no-undef'?: Linter.RuleEntry<[]>
|
|
4817
4822
|
/**
|
|
4818
|
-
* Enforces shorthand syntax for boolean attributes.
|
|
4823
|
+
* Enforces the use of shorthand syntax for boolean attributes.
|
|
4819
4824
|
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
|
|
4820
4825
|
*/
|
|
4821
4826
|
'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>
|
|
4822
4827
|
/**
|
|
4823
|
-
* Enforces shorthand syntax for fragments.
|
|
4828
|
+
* Enforces the use of shorthand syntax for fragments.
|
|
4824
4829
|
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
|
|
4825
4830
|
*/
|
|
4826
4831
|
'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>
|
|
4827
4832
|
/**
|
|
4828
|
-
* Marks React variables as used when JSX is
|
|
4833
|
+
* Marks React variables as used when JSX is present.
|
|
4829
4834
|
* @see https://eslint-react.xyz/docs/rules/jsx-uses-react
|
|
4830
4835
|
*/
|
|
4831
4836
|
'react/jsx-uses-react'?: Linter.RuleEntry<[]>
|
|
@@ -4835,108 +4840,108 @@ export interface Rules {
|
|
|
4835
4840
|
*/
|
|
4836
4841
|
'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
|
|
4837
4842
|
/**
|
|
4838
|
-
*
|
|
4843
|
+
* Disallows accessing 'this.state' inside 'setState' calls.
|
|
4839
4844
|
* @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
|
|
4840
4845
|
*/
|
|
4841
4846
|
'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
|
|
4842
4847
|
/**
|
|
4843
|
-
*
|
|
4848
|
+
* Disallows using an item's index in the array as its key.
|
|
4844
4849
|
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
|
|
4845
4850
|
*/
|
|
4846
4851
|
'react/no-array-index-key'?: Linter.RuleEntry<[]>
|
|
4847
4852
|
/**
|
|
4848
|
-
*
|
|
4853
|
+
* Disallows the use of 'Children.count' from the 'react' package.
|
|
4849
4854
|
* @see https://eslint-react.xyz/docs/rules/no-children-count
|
|
4850
4855
|
*/
|
|
4851
4856
|
'react/no-children-count'?: Linter.RuleEntry<[]>
|
|
4852
4857
|
/**
|
|
4853
|
-
*
|
|
4858
|
+
* Disallows the use of 'Children.forEach' from the 'react' package.
|
|
4854
4859
|
* @see https://eslint-react.xyz/docs/rules/no-children-for-each
|
|
4855
4860
|
*/
|
|
4856
4861
|
'react/no-children-for-each'?: Linter.RuleEntry<[]>
|
|
4857
4862
|
/**
|
|
4858
|
-
*
|
|
4863
|
+
* Disallows the use of 'Children.map' from the 'react' package.
|
|
4859
4864
|
* @see https://eslint-react.xyz/docs/rules/no-children-map
|
|
4860
4865
|
*/
|
|
4861
4866
|
'react/no-children-map'?: Linter.RuleEntry<[]>
|
|
4862
4867
|
/**
|
|
4863
|
-
*
|
|
4868
|
+
* Disallows the use of 'Children.only' from the 'react' package.
|
|
4864
4869
|
* @see https://eslint-react.xyz/docs/rules/no-children-only
|
|
4865
4870
|
*/
|
|
4866
4871
|
'react/no-children-only'?: Linter.RuleEntry<[]>
|
|
4867
4872
|
/**
|
|
4868
|
-
*
|
|
4873
|
+
* Disallows passing 'children' as a prop.
|
|
4869
4874
|
* @see https://eslint-react.xyz/docs/rules/no-children-prop
|
|
4870
4875
|
*/
|
|
4871
4876
|
'react/no-children-prop'?: Linter.RuleEntry<[]>
|
|
4872
4877
|
/**
|
|
4873
|
-
*
|
|
4878
|
+
* Disallows the use of 'Children.toArray' from the 'react' package.
|
|
4874
4879
|
* @see https://eslint-react.xyz/docs/rules/no-children-to-array
|
|
4875
4880
|
*/
|
|
4876
4881
|
'react/no-children-to-array'?: Linter.RuleEntry<[]>
|
|
4877
4882
|
/**
|
|
4878
|
-
*
|
|
4883
|
+
* Disallows class components except for error boundaries.
|
|
4879
4884
|
* @see https://eslint-react.xyz/docs/rules/no-class-component
|
|
4880
4885
|
*/
|
|
4881
4886
|
'react/no-class-component'?: Linter.RuleEntry<[]>
|
|
4882
4887
|
/**
|
|
4883
|
-
*
|
|
4888
|
+
* Disallows 'cloneElement'.
|
|
4884
4889
|
* @see https://eslint-react.xyz/docs/rules/no-clone-element
|
|
4885
4890
|
*/
|
|
4886
4891
|
'react/no-clone-element'?: Linter.RuleEntry<[]>
|
|
4887
4892
|
/**
|
|
4888
|
-
*
|
|
4893
|
+
* Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
|
|
4889
4894
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
|
|
4890
4895
|
*/
|
|
4891
4896
|
'react/no-component-will-mount'?: Linter.RuleEntry<[]>
|
|
4892
4897
|
/**
|
|
4893
|
-
*
|
|
4898
|
+
* Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
|
|
4894
4899
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
|
|
4895
4900
|
*/
|
|
4896
4901
|
'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
|
|
4897
4902
|
/**
|
|
4898
|
-
*
|
|
4903
|
+
* Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
|
|
4899
4904
|
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
|
|
4900
4905
|
*/
|
|
4901
4906
|
'react/no-component-will-update'?: Linter.RuleEntry<[]>
|
|
4902
4907
|
/**
|
|
4903
|
-
*
|
|
4908
|
+
* Replaces usage of '<Context.Provider>' with '<Context>'.
|
|
4904
4909
|
* @see https://eslint-react.xyz/docs/rules/no-context-provider
|
|
4905
4910
|
*/
|
|
4906
4911
|
'react/no-context-provider'?: Linter.RuleEntry<[]>
|
|
4907
4912
|
/**
|
|
4908
|
-
*
|
|
4913
|
+
* Disallows 'createRef' in function components.
|
|
4909
4914
|
* @see https://eslint-react.xyz/docs/rules/no-create-ref
|
|
4910
4915
|
*/
|
|
4911
4916
|
'react/no-create-ref'?: Linter.RuleEntry<[]>
|
|
4912
4917
|
/**
|
|
4913
|
-
*
|
|
4918
|
+
* Disallows the 'defaultProps' property in favor of ES6 default parameters.
|
|
4914
4919
|
* @see https://eslint-react.xyz/docs/rules/no-default-props
|
|
4915
4920
|
*/
|
|
4916
4921
|
'react/no-default-props'?: Linter.RuleEntry<[]>
|
|
4917
4922
|
/**
|
|
4918
|
-
*
|
|
4923
|
+
* Disallows direct mutation of 'this.state'.
|
|
4919
4924
|
* @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
|
|
4920
4925
|
*/
|
|
4921
4926
|
'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
|
|
4922
4927
|
/**
|
|
4923
|
-
*
|
|
4928
|
+
* Disallows duplicate 'key' on elements in the same array or a list of 'children'.
|
|
4924
4929
|
* @see https://eslint-react.xyz/docs/rules/no-duplicate-key
|
|
4925
4930
|
*/
|
|
4926
4931
|
'react/no-duplicate-key'?: Linter.RuleEntry<[]>
|
|
4927
4932
|
/**
|
|
4928
|
-
*
|
|
4933
|
+
* Disallows certain props on components.
|
|
4929
4934
|
* @see https://eslint-react.xyz/docs/rules/no-forbidden-props
|
|
4930
4935
|
* @deprecated
|
|
4931
4936
|
*/
|
|
4932
4937
|
'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>
|
|
4933
4938
|
/**
|
|
4934
|
-
* Replaces
|
|
4939
|
+
* Replaces usage of 'forwardRef' with passing 'ref' as a prop.
|
|
4935
4940
|
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
|
|
4936
4941
|
*/
|
|
4937
4942
|
'react/no-forward-ref'?: Linter.RuleEntry<[]>
|
|
4938
4943
|
/**
|
|
4939
|
-
* Prevents
|
|
4944
|
+
* Prevents 'key' from not being explicitly specified (e.g., spreading 'key' from objects).
|
|
4940
4945
|
* @see https://eslint-react.xyz/docs/rules/no-implicit-key
|
|
4941
4946
|
*/
|
|
4942
4947
|
'react/no-implicit-key'?: Linter.RuleEntry<[]>
|
|
@@ -4946,57 +4951,57 @@ export interface Rules {
|
|
|
4946
4951
|
*/
|
|
4947
4952
|
'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
|
|
4948
4953
|
/**
|
|
4949
|
-
* Enforces that all components have a
|
|
4954
|
+
* Enforces that all components have a 'displayName' that can be used in devtools.
|
|
4950
4955
|
* @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
|
|
4951
4956
|
*/
|
|
4952
4957
|
'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
|
|
4953
4958
|
/**
|
|
4954
|
-
* Enforces that all contexts have a
|
|
4959
|
+
* Enforces that all contexts have a 'displayName' that can be used in devtools.
|
|
4955
4960
|
* @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
|
|
4956
4961
|
*/
|
|
4957
4962
|
'react/no-missing-context-display-name'?: Linter.RuleEntry<[]>
|
|
4958
4963
|
/**
|
|
4959
|
-
*
|
|
4964
|
+
* Disallows missing 'key' on items in list rendering.
|
|
4960
4965
|
* @see https://eslint-react.xyz/docs/rules/no-missing-key
|
|
4961
4966
|
*/
|
|
4962
4967
|
'react/no-missing-key'?: Linter.RuleEntry<[]>
|
|
4963
4968
|
/**
|
|
4964
|
-
* Prevents incorrect usage of
|
|
4969
|
+
* Prevents incorrect usage of 'captureOwnerStack'.
|
|
4965
4970
|
* @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
|
|
4966
4971
|
*/
|
|
4967
4972
|
'react/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>
|
|
4968
4973
|
/**
|
|
4969
|
-
*
|
|
4974
|
+
* Disallows nesting component definitions inside other components.
|
|
4970
4975
|
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
|
|
4971
4976
|
*/
|
|
4972
4977
|
'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
|
|
4973
4978
|
/**
|
|
4974
|
-
*
|
|
4979
|
+
* Disallows nesting lazy component declarations inside other components.
|
|
4975
4980
|
* @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
|
|
4976
4981
|
*/
|
|
4977
4982
|
'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>
|
|
4978
4983
|
/**
|
|
4979
|
-
*
|
|
4984
|
+
* Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
|
|
4980
4985
|
* @see https://eslint-react.xyz/docs/rules/no-prop-types
|
|
4981
4986
|
*/
|
|
4982
4987
|
'react/no-prop-types'?: Linter.RuleEntry<[]>
|
|
4983
4988
|
/**
|
|
4984
|
-
*
|
|
4989
|
+
* Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
|
|
4985
4990
|
* @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
|
|
4986
4991
|
*/
|
|
4987
4992
|
'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
|
|
4988
4993
|
/**
|
|
4989
|
-
*
|
|
4994
|
+
* Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
|
|
4990
4995
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
|
|
4991
4996
|
*/
|
|
4992
4997
|
'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
|
|
4993
4998
|
/**
|
|
4994
|
-
*
|
|
4999
|
+
* Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
|
|
4995
5000
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
|
|
4996
5001
|
*/
|
|
4997
5002
|
'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
|
|
4998
5003
|
/**
|
|
4999
|
-
*
|
|
5004
|
+
* Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
|
|
5000
5005
|
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
|
|
5001
5006
|
*/
|
|
5002
5007
|
'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
|
|
@@ -5006,42 +5011,42 @@ export interface Rules {
|
|
|
5006
5011
|
*/
|
|
5007
5012
|
'react/no-string-refs'?: Linter.RuleEntry<[]>
|
|
5008
5013
|
/**
|
|
5009
|
-
* Prevents
|
|
5014
|
+
* Prevents 'key' from being placed on non-top-level elements in list rendering.
|
|
5010
5015
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
|
|
5011
5016
|
*/
|
|
5012
5017
|
'react/no-unnecessary-key'?: Linter.RuleEntry<[]>
|
|
5013
5018
|
/**
|
|
5014
|
-
*
|
|
5019
|
+
* Disallows unnecessary usage of 'useCallback'.
|
|
5015
5020
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
|
|
5016
5021
|
*/
|
|
5017
5022
|
'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
|
|
5018
5023
|
/**
|
|
5019
|
-
*
|
|
5024
|
+
* Disallows unnecessary usage of 'useMemo'.
|
|
5020
5025
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
|
|
5021
5026
|
*/
|
|
5022
5027
|
'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
|
|
5023
5028
|
/**
|
|
5024
|
-
* Enforces that a function with the
|
|
5029
|
+
* Enforces that a function with the 'use' prefix uses at least one Hook inside it.
|
|
5025
5030
|
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
|
|
5026
5031
|
*/
|
|
5027
5032
|
'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
|
|
5028
5033
|
/**
|
|
5029
|
-
* Warns the
|
|
5034
|
+
* Warns about the use of 'UNSAFE_componentWillMount' in class components.
|
|
5030
5035
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
|
|
5031
5036
|
*/
|
|
5032
5037
|
'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
|
|
5033
5038
|
/**
|
|
5034
|
-
* Warns the
|
|
5039
|
+
* Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
|
|
5035
5040
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
|
|
5036
5041
|
*/
|
|
5037
5042
|
'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
|
|
5038
5043
|
/**
|
|
5039
|
-
* Warns the
|
|
5044
|
+
* Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
|
|
5040
5045
|
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
|
|
5041
5046
|
*/
|
|
5042
5047
|
'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
|
|
5043
5048
|
/**
|
|
5044
|
-
* Prevents non-stable values (i.e
|
|
5049
|
+
* Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
|
|
5045
5050
|
* @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
|
|
5046
5051
|
*/
|
|
5047
5052
|
'react/no-unstable-context-value'?: Linter.RuleEntry<[]>
|
|
@@ -5051,32 +5056,32 @@ export interface Rules {
|
|
|
5051
5056
|
*/
|
|
5052
5057
|
'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>
|
|
5053
5058
|
/**
|
|
5054
|
-
* Warns unused class component methods and properties.
|
|
5059
|
+
* Warns about unused class component methods and properties.
|
|
5055
5060
|
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
|
|
5056
5061
|
*/
|
|
5057
5062
|
'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
|
|
5058
5063
|
/**
|
|
5059
|
-
* Warns component props that are defined but never used.
|
|
5064
|
+
* Warns about component props that are defined but never used.
|
|
5060
5065
|
* @see https://eslint-react.xyz/docs/rules/no-unused-props
|
|
5061
5066
|
*/
|
|
5062
5067
|
'react/no-unused-props'?: Linter.RuleEntry<[]>
|
|
5063
5068
|
/**
|
|
5064
|
-
* Warns unused class component state.
|
|
5069
|
+
* Warns about unused class component state.
|
|
5065
5070
|
* @see https://eslint-react.xyz/docs/rules/no-unused-state
|
|
5066
5071
|
*/
|
|
5067
5072
|
'react/no-unused-state'?: Linter.RuleEntry<[]>
|
|
5068
5073
|
/**
|
|
5069
|
-
* Replaces
|
|
5074
|
+
* Replaces usage of 'useContext' with 'use'.
|
|
5070
5075
|
* @see https://eslint-react.xyz/docs/rules/no-use-context
|
|
5071
5076
|
*/
|
|
5072
5077
|
'react/no-use-context'?: Linter.RuleEntry<[]>
|
|
5073
5078
|
/**
|
|
5074
|
-
*
|
|
5079
|
+
* Disallows useless 'forwardRef' calls on components that don't use 'ref's.
|
|
5075
5080
|
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
|
|
5076
5081
|
*/
|
|
5077
5082
|
'react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
|
|
5078
5083
|
/**
|
|
5079
|
-
*
|
|
5084
|
+
* Disallows useless fragment elements.
|
|
5080
5085
|
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
|
|
5081
5086
|
*/
|
|
5082
5087
|
'react/no-useless-fragment'?: Linter.RuleEntry<ReactNoUselessFragment>
|
|
@@ -5086,7 +5091,7 @@ export interface Rules {
|
|
|
5086
5091
|
*/
|
|
5087
5092
|
'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
|
|
5088
5093
|
/**
|
|
5089
|
-
* Enforces React
|
|
5094
|
+
* Enforces importing React via a namespace import.
|
|
5090
5095
|
* @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
|
|
5091
5096
|
*/
|
|
5092
5097
|
'react/prefer-namespace-import'?: Linter.RuleEntry<[]>
|
|
@@ -5096,7 +5101,7 @@ export interface Rules {
|
|
|
5096
5101
|
*/
|
|
5097
5102
|
'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
|
|
5098
5103
|
/**
|
|
5099
|
-
* Enforces function calls made inside
|
|
5104
|
+
* Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
|
|
5100
5105
|
* @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
|
|
5101
5106
|
*/
|
|
5102
5107
|
'react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
|
|
@@ -6551,7 +6556,7 @@ export interface Rules {
|
|
|
6551
6556
|
* disallow conditional expects
|
|
6552
6557
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
|
|
6553
6558
|
*/
|
|
6554
|
-
'vitest/no-conditional-expect'?: Linter.RuleEntry<
|
|
6559
|
+
'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
|
|
6555
6560
|
/**
|
|
6556
6561
|
* disallow conditional tests
|
|
6557
6562
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
|
|
@@ -6863,6 +6868,11 @@ export interface Rules {
|
|
|
6863
6868
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
|
|
6864
6869
|
*/
|
|
6865
6870
|
'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>
|
|
6871
|
+
/**
|
|
6872
|
+
* require tests to declare a timeout
|
|
6873
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
|
|
6874
|
+
*/
|
|
6875
|
+
'vitest/require-test-timeout'?: Linter.RuleEntry<[]>
|
|
6866
6876
|
/**
|
|
6867
6877
|
* require toThrow() to be called with an error message
|
|
6868
6878
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
|
|
@@ -10703,6 +10713,8 @@ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("alw
|
|
|
10703
10713
|
// ----- jsdoc/require-jsdoc -----
|
|
10704
10714
|
type JsdocRequireJsdoc = []|[{
|
|
10705
10715
|
|
|
10716
|
+
checkAllFunctionExpressions?: boolean
|
|
10717
|
+
|
|
10706
10718
|
checkConstructors?: boolean
|
|
10707
10719
|
|
|
10708
10720
|
checkGetters?: (boolean | "no-setter")
|
|
@@ -16815,6 +16827,11 @@ type VitestMaxExpects = []|[{
|
|
|
16815
16827
|
type VitestMaxNestedDescribe = []|[{
|
|
16816
16828
|
max?: number
|
|
16817
16829
|
}]
|
|
16830
|
+
// ----- vitest/no-conditional-expect -----
|
|
16831
|
+
type VitestNoConditionalExpect = []|[{
|
|
16832
|
+
|
|
16833
|
+
expectAssertions?: boolean
|
|
16834
|
+
}]
|
|
16818
16835
|
// ----- vitest/no-focused-tests -----
|
|
16819
16836
|
type VitestNoFocusedTests = []|[{
|
|
16820
16837
|
fixable?: boolean
|