@2digits/eslint-config 4.1.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1392,6 +1392,34 @@ Backward pagination arguments
1392
1392
  * @see https://eslint.org/docs/latest/rules/logical-assignment-operators
1393
1393
  */
1394
1394
  'logical-assignment-operators'?: Linter.RuleEntry<LogicalAssignmentOperators>
1395
+ /**
1396
+ * Require languages for fenced code blocks
1397
+ */
1398
+ 'markdown/fenced-code-language'?: Linter.RuleEntry<MarkdownFencedCodeLanguage>
1399
+ /**
1400
+ * Enforce heading levels increment by one
1401
+ */
1402
+ 'markdown/heading-increment'?: Linter.RuleEntry<[]>
1403
+ /**
1404
+ * Disallow duplicate headings in the same document
1405
+ */
1406
+ 'markdown/no-duplicate-headings'?: Linter.RuleEntry<[]>
1407
+ /**
1408
+ * Disallow empty links
1409
+ */
1410
+ 'markdown/no-empty-links'?: Linter.RuleEntry<[]>
1411
+ /**
1412
+ * Disallow HTML tags
1413
+ */
1414
+ 'markdown/no-html'?: Linter.RuleEntry<MarkdownNoHtml>
1415
+ /**
1416
+ * Disallow invalid label references
1417
+ */
1418
+ 'markdown/no-invalid-label-refs'?: Linter.RuleEntry<[]>
1419
+ /**
1420
+ * Disallow missing label references
1421
+ */
1422
+ 'markdown/no-missing-label-refs'?: Linter.RuleEntry<[]>
1395
1423
  /**
1396
1424
  * Enforce a maximum number of classes per file
1397
1425
  * @see https://eslint.org/docs/latest/rules/max-classes-per-file
@@ -2768,427 +2796,427 @@ Backward pagination arguments
2768
2796
  */
2769
2797
  'react-compiler/react-compiler'?: Linter.RuleEntry<ReactCompilerReactCompiler>
2770
2798
  /**
2771
- * disallow void elements (AKA self-closing elements) from having children
2799
+ * Disallow `children` in void DOM elements.
2772
2800
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2773
2801
  */
2774
2802
  'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
2775
2803
  /**
2776
- * disallow when a DOM component is using 'dangerouslySetInnerHTML'
2804
+ * Disallow `dangerouslySetInnerHTML`.
2777
2805
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
2778
2806
  */
2779
2807
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
2780
2808
  /**
2781
- * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
2809
+ * Disallow `dangerouslySetInnerHTML` and `children` at the same time.
2782
2810
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
2783
2811
  */
2784
2812
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
2785
2813
  /**
2786
- * disallow 'findDOMNode'
2814
+ * Disallow `findDOMNode`.
2787
2815
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
2788
2816
  */
2789
2817
  'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
2790
2818
  /**
2791
- * warns against using `flushSync`
2819
+ * Disallow `flushSync`.
2792
2820
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
2793
2821
  */
2794
2822
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
2795
2823
  /**
2796
- * replaces usages of 'ReactDom.hydrate()' with 'hydrateRoot()'
2824
+ * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
2797
2825
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
2798
2826
  */
2799
2827
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
2800
2828
  /**
2801
- * enforce that button component have an explicit 'type' attribute
2829
+ * Enforces explicit `type` attribute for `button` elements.
2802
2830
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
2803
2831
  */
2804
2832
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
2805
2833
  /**
2806
- * enforce that 'iframe' component have an explicit 'sandbox' attribute
2834
+ * Enforces explicit `sandbox` attribute for `iframe` elements.
2807
2835
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
2808
2836
  */
2809
2837
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
2810
2838
  /**
2811
- * enforce that namespaces are not used in React elements
2839
+ * Enforces the absence of a `namespace` in React elements.
2812
2840
  * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
2813
2841
  */
2814
2842
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>
2815
2843
  /**
2816
- * replace usages of 'ReactDom.render()' with 'createRoot(node).render()'
2844
+ * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
2817
2845
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
2818
2846
  */
2819
2847
  'react-dom/no-render'?: Linter.RuleEntry<[]>
2820
2848
  /**
2821
- * disallow usage of the return value of 'ReactDOM.render'
2849
+ * Disallow the return value of `ReactDOM.render`.
2822
2850
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
2823
2851
  */
2824
2852
  'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
2825
2853
  /**
2826
- * disallow 'javascript:' URLs as JSX event handler prop's value
2854
+ * Disallow `javascript:` URLs as attribute values.
2827
2855
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
2828
2856
  */
2829
2857
  'react-dom/no-script-url'?: Linter.RuleEntry<[]>
2830
2858
  /**
2831
- * disallow usage of unknown DOM property
2859
+ * Disallow unknown `DOM` property.
2832
2860
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
2833
2861
  */
2834
2862
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
2835
2863
  /**
2836
- * disallow unsafe iframe 'sandbox' attribute combinations
2864
+ * Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations.
2837
2865
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
2838
2866
  */
2839
2867
  'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
2840
2868
  /**
2841
- * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'
2869
+ * Disallow `target="_blank"` without `rel="noreferrer noopener"`.
2842
2870
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
2843
2871
  */
2844
2872
  'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2845
2873
  /**
2846
- * replace usages of 'ReactDom.render()' with 'createRoot(node).render()'
2874
+ * Replaces usages of `useFormState` with `useActionState`.
2847
2875
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
2848
2876
  */
2849
2877
  'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
2850
2878
  /**
2851
- * disallow void elements (AKA self-closing elements) from having children
2879
+ * Disallow `children` in void DOM elements.
2852
2880
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
2853
2881
  */
2854
2882
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
2855
2883
  /**
2856
- * disallow using shorthand boolean attributes
2884
+ * Enforces explicit boolean values for boolean attributes.
2857
2885
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
2858
2886
  */
2859
2887
  'react-extra/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
2860
2888
  /**
2861
- * disallow using shorthand fragment syntax
2889
+ * Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
2862
2890
  * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
2863
2891
  */
2864
2892
  'react-extra/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
2865
2893
  /**
2866
- * require a 'ref' parameter to be set when using 'forwardRef'
2894
+ * Disallow useless `forwardRef` calls on components that don't use `ref`s.
2867
2895
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
2868
2896
  */
2869
2897
  'react-extra/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2870
2898
  /**
2871
- * disallow duplicate props
2899
+ * Disallow duplicate props in JSX elements.
2872
2900
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
2873
2901
  */
2874
2902
  'react-extra/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
2875
2903
  /**
2876
- * marks variables used in JSX as used
2904
+ * Marks variables used in JSX as used.
2877
2905
  * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
2878
2906
  */
2879
2907
  'react-extra/jsx-uses-vars'?: Linter.RuleEntry<[]>
2880
2908
  /**
2881
- * disallow accessing 'this.state' within 'setState'
2909
+ * Disallow accessing `this.state` inside `setState` calls.
2882
2910
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
2883
2911
  */
2884
2912
  'react-extra/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
2885
2913
  /**
2886
- * disallow using an item's index in the array as its key
2914
+ * Disallow an item's index in the array as its key.
2887
2915
  * @see https://eslint-react.xyz/docs/rules/no-array-index-key
2888
2916
  */
2889
2917
  'react-extra/no-array-index-key'?: Linter.RuleEntry<[]>
2890
2918
  /**
2891
- * disallow using 'Children.count'
2919
+ * Disallow `Children.count`.
2892
2920
  * @see https://eslint-react.xyz/docs/rules/no-children-count
2893
2921
  */
2894
2922
  'react-extra/no-children-count'?: Linter.RuleEntry<[]>
2895
2923
  /**
2896
- * disallow using 'Children.forEach'
2924
+ * Disallow 'Children.forEach'.
2897
2925
  * @see https://eslint-react.xyz/docs/rules/no-children-for-each
2898
2926
  */
2899
2927
  'react-extra/no-children-for-each'?: Linter.RuleEntry<[]>
2900
2928
  /**
2901
- * disallow using 'Children.map'
2929
+ * Disallow `Children.map`.
2902
2930
  * @see https://eslint-react.xyz/docs/rules/no-children-map
2903
2931
  */
2904
2932
  'react-extra/no-children-map'?: Linter.RuleEntry<[]>
2905
2933
  /**
2906
- * disallow using 'Children.only'
2934
+ * Disallow `Children.only`.
2907
2935
  * @see https://eslint-react.xyz/docs/rules/no-children-only
2908
2936
  */
2909
2937
  'react-extra/no-children-only'?: Linter.RuleEntry<[]>
2910
2938
  /**
2911
- * disallow passing 'children' as props
2939
+ * Disallow passing `children` as a prop.
2912
2940
  * @see https://eslint-react.xyz/docs/rules/no-children-prop
2913
2941
  */
2914
2942
  'react-extra/no-children-prop'?: Linter.RuleEntry<[]>
2915
2943
  /**
2916
- * disallow using 'Children.toArray'
2944
+ * Disallow `Children.toArray`.
2917
2945
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
2918
2946
  */
2919
2947
  'react-extra/no-children-to-array'?: Linter.RuleEntry<[]>
2920
2948
  /**
2921
- * disallow using class components
2949
+ * Disallow class components.
2922
2950
  * @see https://eslint-react.xyz/docs/rules/no-class-component
2923
2951
  */
2924
2952
  'react-extra/no-class-component'?: Linter.RuleEntry<[]>
2925
2953
  /**
2926
- * disallow using 'cloneElement'
2954
+ * Disallow `cloneElement`.
2927
2955
  * @see https://eslint-react.xyz/docs/rules/no-clone-element
2928
2956
  */
2929
2957
  'react-extra/no-clone-element'?: Linter.RuleEntry<[]>
2930
2958
  /**
2931
- * disallow comments from being inserted as text nodes
2959
+ * Prevents comments from being inserted as text nodes.
2932
2960
  * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
2933
2961
  */
2934
2962
  'react-extra/no-comment-textnodes'?: Linter.RuleEntry<[]>
2935
2963
  /**
2936
- * disallow complex conditional rendering
2964
+ * Disallow complex conditional rendering in JSX expressions.
2937
2965
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2938
2966
  */
2939
2967
  'react-extra/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
2940
2968
  /**
2941
- * disallow complex conditional rendering
2969
+ * Disallow complex conditional rendering in JSX expressions.
2942
2970
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2943
2971
  */
2944
2972
  'react-extra/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2945
2973
  /**
2946
- * replace usages of 'componentWillMount' with 'UNSAFE_componentWillMount'
2974
+ * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
2947
2975
  * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
2948
2976
  */
2949
2977
  'react-extra/no-component-will-mount'?: Linter.RuleEntry<[]>
2950
2978
  /**
2951
- * replace usages of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'
2979
+ * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
2952
2980
  * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
2953
2981
  */
2954
2982
  'react-extra/no-component-will-receive-props'?: Linter.RuleEntry<[]>
2955
2983
  /**
2956
- * replace usages of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'
2984
+ * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
2957
2985
  * @see https://eslint-react.xyz/docs/rules/no-component-will-update
2958
2986
  */
2959
2987
  'react-extra/no-component-will-update'?: Linter.RuleEntry<[]>
2960
2988
  /**
2961
- * replace usages of '<Context.Provider>' with '<Context>'
2989
+ * Replace usages of `<Context.Provider>` with `<Context>`.
2962
2990
  * @see https://eslint-react.xyz/docs/rules/no-context-provider
2963
2991
  */
2964
2992
  'react-extra/no-context-provider'?: Linter.RuleEntry<[]>
2965
2993
  /**
2966
- * disallow using 'createRef' in function components
2994
+ * Disallow `createRef` in function components.
2967
2995
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
2968
2996
  */
2969
2997
  'react-extra/no-create-ref'?: Linter.RuleEntry<[]>
2970
2998
  /**
2971
- * disallow using 'defaultProps' property in components
2999
+ * Disallow `defaultProps` property in favor of ES6 default parameters.
2972
3000
  * @see https://eslint-react.xyz/docs/rules/no-default-props
2973
3001
  */
2974
3002
  'react-extra/no-default-props'?: Linter.RuleEntry<[]>
2975
3003
  /**
2976
- * disallow direct mutation of state
3004
+ * Disallow direct mutation of `this.state`.
2977
3005
  * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
2978
3006
  */
2979
3007
  'react-extra/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2980
3008
  /**
2981
- * disallow duplicate props
3009
+ * Disallow duplicate props in JSX elements.
2982
3010
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
2983
3011
  */
2984
3012
  'react-extra/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
2985
3013
  /**
2986
- * disallow duplicate keys when rendering list
3014
+ * Disallow duplicate `key` on elements in the same array or a list of `children`.
2987
3015
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
2988
3016
  */
2989
3017
  'react-extra/no-duplicate-key'?: Linter.RuleEntry<[]>
2990
3018
  /**
2991
- * replace usages of 'forwardRef' with passing 'ref' as a prop
3019
+ * Replaces usages of `forwardRef` with passing `ref` as a prop.
2992
3020
  * @see https://eslint-react.xyz/docs/rules/no-forward-ref
2993
3021
  */
2994
3022
  'react-extra/no-forward-ref'?: Linter.RuleEntry<[]>
2995
3023
  /**
2996
- * disallow implicit 'key' props
3024
+ * Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects).
2997
3025
  * @see https://eslint-react.xyz/docs/rules/no-implicit-key
2998
3026
  */
2999
3027
  'react-extra/no-implicit-key'?: Linter.RuleEntry<[]>
3000
3028
  /**
3001
- * disallow problematic leaked values from being rendered
3029
+ * Prevents problematic leaked values from being rendered.
3002
3030
  * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3003
3031
  */
3004
3032
  'react-extra/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
3005
3033
  /**
3006
- * require 'displayName' for 'memo' and 'forwardRef' components
3034
+ * Enforces that all components have a `displayName` which can be used in devtools.
3007
3035
  * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3008
3036
  */
3009
3037
  'react-extra/no-missing-component-display-name'?: Linter.RuleEntry<[]>
3010
3038
  /**
3011
- * require 'displayName' for contexts.
3039
+ * Enforces that all contexts have a `displayName` which can be used in devtools.
3012
3040
  * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3013
3041
  */
3014
3042
  'react-extra/no-missing-context-display-name'?: Linter.RuleEntry<[]>
3015
3043
  /**
3016
- * require 'key' when rendering list
3044
+ * Disallow missing `key` on items in list rendering.
3017
3045
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
3018
3046
  */
3019
3047
  'react-extra/no-missing-key'?: Linter.RuleEntry<[]>
3020
3048
  /**
3021
- * prevents nesting component definitions inside other components
3049
+ * Disallow nesting component definitions inside other components.
3022
3050
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3023
3051
  */
3024
3052
  'react-extra/no-nested-component-definitions'?: Linter.RuleEntry<[]>
3025
3053
  /**
3026
- * prevents nesting component definitions inside other components
3054
+ * Disallow nesting component definitions inside other components.
3027
3055
  * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3028
3056
  */
3029
3057
  'react-extra/no-nested-components'?: Linter.RuleEntry<[]>
3030
3058
  /**
3031
- * disallow using 'propTypes' property in components
3059
+ * Disallow `propTypes` in favor of TypeScript or another type-checking solution.
3032
3060
  * @see https://eslint-react.xyz/docs/rules/no-prop-types
3033
3061
  */
3034
3062
  'react-extra/no-prop-types'?: Linter.RuleEntry<[]>
3035
3063
  /**
3036
- * disallow using 'shouldComponentUpdate' in class component extends 'React.PureComponent'
3064
+ * Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
3037
3065
  * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
3038
3066
  */
3039
3067
  'react-extra/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3040
3068
  /**
3041
- * disallow using 'setState' in 'componentDidMount'
3069
+ * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
3042
3070
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3043
3071
  */
3044
3072
  'react-extra/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
3045
3073
  /**
3046
- * disallow using 'setState' in 'componentDidUpdate'
3074
+ * Disallows calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
3047
3075
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3048
3076
  */
3049
3077
  'react-extra/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
3050
3078
  /**
3051
- * disallow using 'setState' in 'componentWillUpdate'
3079
+ * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
3052
3080
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3053
3081
  */
3054
3082
  'react-extra/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
3055
3083
  /**
3056
- * disallow using deprecated string refs
3084
+ * Disallow deprecated string `refs`.
3057
3085
  * @see https://eslint-react.xyz/docs/rules/no-string-refs
3058
3086
  */
3059
3087
  'react-extra/no-string-refs'?: Linter.RuleEntry<[]>
3060
3088
  /**
3061
- * disallow using 'UNSAFE_componentWillMount'
3089
+ * Warns the usage of `UNSAFE_componentWillMount` in class components.
3062
3090
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3063
3091
  */
3064
3092
  'react-extra/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
3065
3093
  /**
3066
- * disallow using 'UNSAFE_componentWillReceiveProps'
3094
+ * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
3067
3095
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3068
3096
  */
3069
3097
  'react-extra/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3070
3098
  /**
3071
- * disallow using 'UNSAFE_componentWillUpdate'
3099
+ * Warns the usage of `UNSAFE_componentWillUpdate` in class components.
3072
3100
  * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3073
3101
  */
3074
3102
  'react-extra/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3075
3103
  /**
3076
- * disallow passing constructed values to context providers
3104
+ * Prevents non-stable values (i.e. object literals) from being used as a value for `Context.Provider`.
3077
3105
  * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3078
3106
  */
3079
3107
  'react-extra/no-unstable-context-value'?: Linter.RuleEntry<[]>
3080
3108
  /**
3081
- * disallow using unstable value as default param in function component
3109
+ * Prevents using referential-type values as default props in object destructuring.
3082
3110
  * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3083
3111
  */
3084
3112
  'react-extra/no-unstable-default-props'?: Linter.RuleEntry<[]>
3085
3113
  /**
3086
- * disallow unused class component members
3114
+ * Warns unused class component methods and properties.
3087
3115
  * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3088
3116
  */
3089
3117
  'react-extra/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3090
3118
  /**
3091
- * disallow unused state of class component
3119
+ * Warns unused class component state.
3092
3120
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
3093
3121
  */
3094
3122
  'react-extra/no-unused-state'?: Linter.RuleEntry<[]>
3095
3123
  /**
3096
- * replace usages of 'useContext' with 'use'
3124
+ * Replaces usages of `useContext` with `use`.
3097
3125
  * @see https://eslint-react.xyz/docs/rules/no-use-context
3098
3126
  */
3099
3127
  'react-extra/no-use-context'?: Linter.RuleEntry<[]>
3100
3128
  /**
3101
- * require a 'ref' parameter to be set when using 'forwardRef'
3129
+ * Disallow useless `forwardRef` calls on components that don't use `ref`s.
3102
3130
  * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
3103
3131
  */
3104
3132
  'react-extra/no-useless-forward-ref'?: Linter.RuleEntry<[]>
3105
3133
  /**
3106
- * disallow useless fragments
3134
+ * Disallow useless fragment elements.
3107
3135
  * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
3108
3136
  */
3109
3137
  'react-extra/no-useless-fragment'?: Linter.RuleEntry<ReactExtraNoUselessFragment>
3110
3138
  /**
3111
- * enforce using destructuring assignment in component props and context
3139
+ * Enforces destructuring assignment for component props and context.
3112
3140
  * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
3113
3141
  */
3114
3142
  'react-extra/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3115
3143
  /**
3116
- * enforce React is imported via a namespace import
3144
+ * Enforces React is imported via a namespace import.
3117
3145
  * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
3118
3146
  */
3119
3147
  'react-extra/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
3120
3148
  /**
3121
- * enforce read-only props in components
3149
+ * Enforces read-only props in components.
3122
3150
  * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
3123
3151
  */
3124
3152
  'react-extra/prefer-read-only-props'?: Linter.RuleEntry<[]>
3125
3153
  /**
3126
- * enforce the use of shorthand syntax for boolean attributes
3154
+ * Enforces shorthand syntax for boolean attributes.
3127
3155
  * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
3128
3156
  */
3129
3157
  'react-extra/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
3130
3158
  /**
3131
- * enforce the use of shorthand syntax for fragments
3159
+ * Enforces shorthand syntax for fragments.
3132
3160
  * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
3133
3161
  */
3134
3162
  'react-extra/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
3135
3163
  /**
3136
- * marks variables used in JSX as used
3164
+ * Marks variables used in JSX as used.
3137
3165
  * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
3138
3166
  */
3139
3167
  'react-extra/use-jsx-vars'?: Linter.RuleEntry<[]>
3140
3168
  /**
3141
- * enforce custom Hooks to use at least one other hook inside
3169
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3142
3170
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3143
3171
  */
3144
3172
  'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
3145
3173
  /**
3146
- * disallow unnecessary usage of 'useCallback'
3174
+ * Disallow unnecessary usage of `useCallback`.
3147
3175
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
3148
3176
  */
3149
3177
  'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
3150
3178
  /**
3151
- * disallow unnecessary usage of 'useMemo'
3179
+ * Disallow unnecessary usage of `useMemo`.
3152
3180
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
3153
3181
  */
3154
3182
  'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
3155
3183
  /**
3156
- * disallow direct calls to the 'set' function of 'useState' in 'useEffect'
3184
+ * Disallow direct calls to the `set` function of `useState` in `useEffect`.
3157
3185
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
3158
3186
  */
3159
3187
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
3160
3188
  /**
3161
- * disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'
3189
+ * Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
3162
3190
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
3163
3191
  */
3164
3192
  'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
3165
3193
  /**
3166
- * enforce custom Hooks to use at least one other hook inside
3194
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3167
3195
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3168
3196
  */
3169
3197
  'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
3170
3198
  /**
3171
- * disallow unnecessary usage of 'useCallback'
3199
+ * Disallow unnecessary usage of `useCallback`.
3172
3200
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
3173
3201
  */
3174
3202
  'react-hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
3175
3203
  /**
3176
- * disallow unnecessary usage of 'useMemo'
3204
+ * Disallow unnecessary usage of `useMemo`.
3177
3205
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
3178
3206
  */
3179
3207
  'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
3180
3208
  /**
3181
- * enforce custom Hooks to use at least one other hook inside
3209
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3182
3210
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3183
3211
  */
3184
3212
  'react-hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
3185
3213
  /**
3186
- * enforce custom Hooks to use at least one other hook inside
3214
+ * Enforces that a function with the `use` prefix should use at least one Hook inside of it.
3187
3215
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
3188
3216
  */
3189
3217
  'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
3190
3218
  /**
3191
- * disallow function calls in 'useState' that aren't wrapped in an initializer function
3219
+ * Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
3192
3220
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
3193
3221
  */
3194
3222
  'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
@@ -3203,47 +3231,47 @@ Backward pagination arguments
3203
3231
  */
3204
3232
  'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
3205
3233
  /**
3206
- * enforce naming convention for components
3234
+ * Enforces naming conventions for components.
3207
3235
  * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
3208
3236
  */
3209
3237
  'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
3210
3238
  /**
3211
- * enforce context name to be a valid component name with the suffix 'Context'
3239
+ * Enforces context name to be a valid component name with the suffix `Context`.
3212
3240
  * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3213
3241
  */
3214
3242
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
3215
3243
  /**
3216
- * enforce naming convention for JSX filenames
3244
+ * Enforces consistent file naming conventions.
3217
3245
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
3218
3246
  */
3219
3247
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
3220
3248
  /**
3221
- * enforce naming convention for JSX file extensions
3249
+ * Enforces consistent file naming conventions.
3222
3250
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
3223
3251
  */
3224
3252
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
3225
3253
  /**
3226
- * enforce destructuring and symmetric naming of 'useState' hook value and setter
3254
+ * Enforces destructuring and symmetric naming of `useState` hook value and setter.
3227
3255
  * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
3228
3256
  */
3229
3257
  'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
3230
3258
  /**
3231
- * enforce that every 'addEventListener' in a component or custom Hook has a corresponding 'removeEventListener'.
3259
+ * Prevents leaked `addEventListener` in a component or custom Hook.
3232
3260
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3233
3261
  */
3234
3262
  'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
3235
3263
  /**
3236
- * enforce that every 'setInterval' in a component or custom Hook has a corresponding 'clearInterval'.
3264
+ * Prevents leaked `setInterval` in a component or custom Hook.
3237
3265
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3238
3266
  */
3239
3267
  'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
3240
3268
  /**
3241
- * enforce cleanup of 'ResizeObserver' instances in components and custom Hooks.
3269
+ * Prevents leaked `ResizeObserver` in a component or custom Hook.
3242
3270
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3243
3271
  */
3244
3272
  'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
3245
3273
  /**
3246
- * enforce that every 'setTimeout' in a component or custom Hook has a corresponding 'clearTimeout'.
3274
+ * Prevents leaked `setTimeout` in a component or custom Hook.
3247
3275
  * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3248
3276
  */
3249
3277
  'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
@@ -8906,6 +8934,14 @@ type LinesBetweenClassMembers = []|[({
8906
8934
  type LogicalAssignmentOperators = (([]|["always"]|["always", {
8907
8935
  enforceForIfStatements?: boolean
8908
8936
  }] | ["never"]) & unknown[])
8937
+ // ----- markdown/fenced-code-language -----
8938
+ type MarkdownFencedCodeLanguage = []|[{
8939
+ required?: string[]
8940
+ }]
8941
+ // ----- markdown/no-html -----
8942
+ type MarkdownNoHtml = []|[{
8943
+ allowed?: string[]
8944
+ }]
8909
8945
  // ----- max-classes-per-file -----
8910
8946
  type MaxClassesPerFile = []|[(number | {
8911
8947
  ignoreExpressions?: boolean
@@ -13245,7 +13281,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
13245
13281
  onlyEquality?: boolean
13246
13282
  }]
13247
13283
  // Names of all the configs
13248
- type ConfigNames = '2digits:antfu' | '2digits:boolean' | '2digits:comments' | '2digits:css' | '2digits:drizzle' | '2digits:graphql' | '2digits:ignores' | '2digits:gitignore' | '2digits:javascript' | '2digits:jsdoc' | '2digits:jsonc/base' | '2digits:jsonc/base' | '2digits:jsonc/json' | '2digits:jsonc/jsonc' | '2digits:jsonc/json5' | '2digits:jsonc/package.json' | '2digits:jsonc/tsconfig.json' | '2digits:jsonc/prettier' | '2digits:jsonc/prettier' | '2digits:jsonc/prettier' | '2digits:next/setup' | '2digits:next/rules' | '2digits:node' | '2digits:pnpm/package-json' | '2digits:pnpm/pnpm-workspace-yaml' | '2digits:prettier' | '2digits:react/setup' | '2digits:react/rules' | '2digits:regexp' | '2digits:sonar' | '2digits:storybook/setup' | '2digits:storybook/rules' | '2digits:storybook/disables' | '2digits:storybook/config' | '2digits:tailwind' | '2digits:tanstack' | '2digits:turbo' | '2digits:typescript/setup' | '2digits:typescript/rules' | '2digits:typescript/disables/dts' | '2digits:typescript/disables/test' | '2digits:typescript/disables/cjs' | '2digits:unicorn' | '2digits:yaml/setup' | '2digits:yaml/base' | '2digits:yaml/recommended' | '2digits:yaml/standard' | '2digits:yaml/pnpm-workspace' | '2digits:yaml/prettier'
13284
+ type ConfigNames = '2digits:antfu' | '2digits:boolean' | '2digits:comments' | '2digits:css' | '2digits:drizzle' | '2digits:graphql' | '2digits:ignores' | '2digits:gitignore' | '2digits:javascript' | '2digits:jsdoc' | '2digits:jsonc/base' | '2digits:jsonc/base' | '2digits:jsonc/json' | '2digits:jsonc/jsonc' | '2digits:jsonc/json5' | '2digits:jsonc/package.json' | '2digits:jsonc/tsconfig.json' | '2digits:jsonc/prettier' | '2digits:jsonc/prettier' | '2digits:jsonc/prettier' | '2digits:markdown/setup' | '2digits:markdown/processor' | '2digits:markdown/parser' | '2digits:markdown/rules' | '2digits:markdown/disables' | '2digits:next/setup' | '2digits:next/rules' | '2digits:node' | '2digits:pnpm/package-json' | '2digits:pnpm/pnpm-workspace-yaml' | '2digits:prettier' | '2digits:react/setup' | '2digits:react/rules' | '2digits:regexp' | '2digits:sonar' | '2digits:storybook/setup' | '2digits:storybook/rules' | '2digits:storybook/disables' | '2digits:storybook/config' | '2digits:tailwind' | '2digits:tanstack' | '2digits:turbo' | '2digits:typescript/setup' | '2digits:typescript/rules' | '2digits:typescript/disables/dts' | '2digits:typescript/disables/test' | '2digits:typescript/disables/cjs' | '2digits:unicorn' | '2digits:yaml/setup' | '2digits:yaml/base' | '2digits:yaml/recommended' | '2digits:yaml/standard' | '2digits:yaml/pnpm-workspace' | '2digits:yaml/prettier'
13249
13285
 
13250
13286
  type Rules = RuleOptions;
13251
13287
  interface TypedFlatConfigItem extends Omit<Linter.Config<Linter.RulesRecord & Rules>, 'plugins' | 'languageOptions'> {
@@ -13326,6 +13362,8 @@ declare function jsdoc(): Promise<TypedFlatConfigItem[]>;
13326
13362
 
13327
13363
  declare function jsonc(): TypedFlatConfigItem[];
13328
13364
 
13365
+ declare function markdown(): TypedFlatConfigItem[];
13366
+
13329
13367
  declare function next(options?: OptionsWithFiles & OptionsTypeScriptWithTypes): Promise<TypedFlatConfigItem[]>;
13330
13368
 
13331
13369
  declare function node(): TypedFlatConfigItem[];
@@ -13373,4 +13411,4 @@ interface ESLint2DigitsOptions {
13373
13411
  }
13374
13412
  declare function twoDigits(options?: ESLint2DigitsOptions, ...userConfig: TypedFlatConfigItem[]): Promise<TypedFlatConfigItem[]>;
13375
13413
 
13376
- export { type ConfigNames, type OptionsOverrides, type OptionsTypeScriptWithTypes, type OptionsWithDrizzle, type OptionsWithFiles, type OptionsWithIgnores, type OptionsWithReact, type OptionsWithStorybook, type Rules, type TypedFlatConfigItem, antfu, boolean, comments, css, twoDigits as default, drizzle, graphql, ignores, javascript, jsdoc, jsonc, next, node, pnpm, prettier, react, regexp, sonar, storybook, tailwind, tanstack, turbo, twoDigits, typescript, unicorn, yaml };
13414
+ export { type ConfigNames, type OptionsOverrides, type OptionsTypeScriptWithTypes, type OptionsWithDrizzle, type OptionsWithFiles, type OptionsWithIgnores, type OptionsWithReact, type OptionsWithStorybook, type Rules, type TypedFlatConfigItem, antfu, boolean, comments, css, twoDigits as default, drizzle, graphql, ignores, javascript, jsdoc, jsonc, markdown, next, node, pnpm, prettier, react, regexp, sonar, storybook, tailwind, tanstack, turbo, twoDigits, typescript, unicorn, yaml };