@lincy/eslint-config 4.3.1 → 4.5.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
@@ -1421,7 +1421,7 @@ interface RuleOptions {
1421
1421
  * Disallow returning value from constructor
1422
1422
  * @see https://eslint.org/docs/latest/rules/no-constructor-return
1423
1423
  */
1424
- 'no-constructor-return'?: Linter.RuleEntry<NoConstructorReturn>
1424
+ 'no-constructor-return'?: Linter.RuleEntry<[]>
1425
1425
  /**
1426
1426
  * Disallow `continue` statements
1427
1427
  * @see https://eslint.org/docs/latest/rules/no-continue
@@ -1757,6 +1757,7 @@ interface RuleOptions {
1757
1757
  /**
1758
1758
  * Disallow `new` operators with the `Symbol` object
1759
1759
  * @see https://eslint.org/docs/latest/rules/no-new-symbol
1760
+ * @deprecated
1760
1761
  */
1761
1762
  'no-new-symbol'?: Linter.RuleEntry<[]>
1762
1763
  /**
@@ -2053,6 +2054,11 @@ interface RuleOptions {
2053
2054
  * @see https://eslint.org/docs/latest/rules/no-use-before-define
2054
2055
  */
2055
2056
  'no-use-before-define'?: Linter.RuleEntry<NoUseBeforeDefine>
2057
+ /**
2058
+ * Disallow variable assignments when the value is not used
2059
+ * @see https://eslint.org/docs/latest/rules/no-useless-assignment
2060
+ */
2061
+ 'no-useless-assignment'?: Linter.RuleEntry<[]>
2056
2062
  /**
2057
2063
  * Disallow useless backreferences in regular expressions
2058
2064
  * @see https://eslint.org/docs/latest/rules/no-useless-backreference
@@ -2149,6 +2155,11 @@ interface RuleOptions {
2149
2155
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/handle-callback-err.md
2150
2156
  */
2151
2157
  'node/handle-callback-err'?: Linter.RuleEntry<NodeHandleCallbackErr>
2158
+ /**
2159
+ * require correct usage of hashbang
2160
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2161
+ */
2162
+ 'node/hashbang'?: Linter.RuleEntry<NodeHashbang>
2152
2163
  /**
2153
2164
  * enforce Node.js-style error-first callback pattern is followed
2154
2165
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-callback-literal.md
@@ -2245,12 +2256,6 @@ interface RuleOptions {
2245
2256
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-require.md
2246
2257
  */
2247
2258
  'node/no-unpublished-require'?: Linter.RuleEntry<NodeNoUnpublishedRequire>
2248
- /**
2249
- * disallow unsupported ECMAScript features on the specified version
2250
- * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features.md
2251
- * @deprecated
2252
- */
2253
- 'node/no-unsupported-features'?: Linter.RuleEntry<NodeNoUnsupportedFeatures>
2254
2259
  /**
2255
2260
  * disallow unsupported ECMAScript built-ins on the specified version
2256
2261
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-builtins.md
@@ -2301,6 +2306,11 @@ interface RuleOptions {
2301
2306
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url-search-params.md
2302
2307
  */
2303
2308
  'node/prefer-global/url-search-params'?: Linter.RuleEntry<NodePreferGlobalUrlSearchParams>
2309
+ /**
2310
+ * enforce using the `node:` protocol when importing Node.js builtin modules.
2311
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-node-protocol.md
2312
+ */
2313
+ 'node/prefer-node-protocol'?: Linter.RuleEntry<NodePreferNodeProtocol>
2304
2314
  /**
2305
2315
  * enforce `require("dns").promises`
2306
2316
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/dns.md
@@ -2317,8 +2327,9 @@ interface RuleOptions {
2317
2327
  */
2318
2328
  'node/process-exit-as-throw'?: Linter.RuleEntry<[]>
2319
2329
  /**
2320
- * require correct usage of shebang
2321
- * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/shebang.md
2330
+ * require correct usage of hashbang
2331
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2332
+ * @deprecated
2322
2333
  */
2323
2334
  'node/shebang'?: Linter.RuleEntry<NodeShebang>
2324
2335
  /**
@@ -2419,6 +2430,11 @@ interface RuleOptions {
2419
2430
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-interfaces
2420
2431
  */
2421
2432
  'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>
2433
+ /**
2434
+ * enforce sorted intersection types
2435
+ * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-intersection-types
2436
+ */
2437
+ 'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>
2422
2438
  /**
2423
2439
  * enforce sorted JSX props
2424
2440
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-jsx-props
@@ -2553,523 +2569,311 @@ interface RuleOptions {
2553
2569
  */
2554
2570
  'radix'?: Linter.RuleEntry<Radix>
2555
2571
  /**
2556
- * verifies the list of dependencies for Hooks like useEffect and similar
2557
- * @see https://github.com/facebook/react/issues/14920
2558
- */
2559
- 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2560
- /**
2561
- * enforces the Rules of Hooks
2562
- * @see https://reactjs.org/docs/hooks-rules.html
2563
- */
2564
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2565
- 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2566
- /**
2567
- * Enforces consistent naming for boolean props
2568
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/boolean-prop-naming.md
2569
- */
2570
- 'react/boolean-prop-naming'?: Linter.RuleEntry<ReactBooleanPropNaming>
2571
- /**
2572
- * Disallow usage of `button` elements without an explicit `type` attribute
2573
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/button-has-type.md
2574
- */
2575
- 'react/button-has-type'?: Linter.RuleEntry<ReactButtonHasType>
2576
- /**
2577
- * Enforce using `onChange` or `readonly` attribute when `checked` is used
2578
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/checked-requires-onchange-or-readonly.md
2579
- */
2580
- 'react/checked-requires-onchange-or-readonly'?: Linter.RuleEntry<ReactCheckedRequiresOnchangeOrReadonly>
2581
- /**
2582
- * Enforce all defaultProps have a corresponding non-required PropType
2583
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/default-props-match-prop-types.md
2584
- */
2585
- 'react/default-props-match-prop-types'?: Linter.RuleEntry<ReactDefaultPropsMatchPropTypes>
2586
- /**
2587
- * Enforce consistent usage of destructuring assignment of props, state, and context
2588
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/destructuring-assignment.md
2589
- */
2590
- 'react/destructuring-assignment'?: Linter.RuleEntry<ReactDestructuringAssignment>
2591
- /**
2592
- * Disallow missing displayName in a React component definition
2593
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/display-name.md
2594
- */
2595
- 'react/display-name'?: Linter.RuleEntry<ReactDisplayName>
2596
- /**
2597
- * Disallow certain props on components
2598
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-component-props.md
2599
- */
2600
- 'react/forbid-component-props'?: Linter.RuleEntry<ReactForbidComponentProps>
2601
- /**
2602
- * Disallow certain props on DOM Nodes
2603
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-dom-props.md
2604
- */
2605
- 'react/forbid-dom-props'?: Linter.RuleEntry<ReactForbidDomProps>
2606
- /**
2607
- * Disallow certain elements
2608
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-elements.md
2609
- */
2610
- 'react/forbid-elements'?: Linter.RuleEntry<ReactForbidElements>
2611
- /**
2612
- * Disallow using another component's propTypes
2613
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-foreign-prop-types.md
2614
- */
2615
- 'react/forbid-foreign-prop-types'?: Linter.RuleEntry<ReactForbidForeignPropTypes>
2616
- /**
2617
- * Disallow certain propTypes
2618
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md
2619
- */
2620
- 'react/forbid-prop-types'?: Linter.RuleEntry<ReactForbidPropTypes>
2621
- /**
2622
- * Enforce a specific function type for function components
2623
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/function-component-definition.md
2624
- */
2625
- 'react/function-component-definition'?: Linter.RuleEntry<ReactFunctionComponentDefinition>
2626
- /**
2627
- * Ensure destructuring and symmetric naming of useState hook value and setter variables
2628
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/hook-use-state.md
2572
+ * disallow passing 'children' to void DOM elements
2573
+ * @see https://eslint-react.xyz/rules/dom-no-children-in-void-dom-elements
2629
2574
  */
2630
- 'react/hook-use-state'?: Linter.RuleEntry<ReactHookUseState>
2575
+ 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
2631
2576
  /**
2632
- * Enforce sandbox attribute on iframe elements
2633
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/iframe-missing-sandbox.md
2577
+ * disallow when a DOM component is using 'dangerouslySetInnerHTML'
2578
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml
2634
2579
  */
2635
- 'react/iframe-missing-sandbox'?: Linter.RuleEntry<[]>
2580
+ 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
2636
2581
  /**
2637
- * Enforce boolean attributes notation in JSX
2638
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-boolean-value.md
2582
+ * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
2583
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml-with-children
2639
2584
  */
2640
- 'react/jsx-boolean-value'?: Linter.RuleEntry<ReactJsxBooleanValue>
2585
+ 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
2641
2586
  /**
2642
- * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2643
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-child-element-spacing.md
2587
+ * disallow 'findDOMNode'
2588
+ * @see https://eslint-react.xyz/rules/dom-no-find-dom-node
2644
2589
  */
2645
- 'react/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
2590
+ 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
2646
2591
  /**
2647
- * Enforce closing bracket location in JSX
2648
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-bracket-location.md
2592
+ * enforce that button component have an explicit 'type' attribute
2593
+ * @see https://eslint-react.xyz/rules/dom-no-missing-button-type
2649
2594
  */
2650
- 'react/jsx-closing-bracket-location'?: Linter.RuleEntry<ReactJsxClosingBracketLocation>
2595
+ 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
2651
2596
  /**
2652
- * Enforce closing tag location for multiline JSX
2653
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-tag-location.md
2597
+ * enforce that 'iframe' component have an explicit 'sandbox' attribute
2598
+ * @see https://eslint-react.xyz/rules/dom-no-missing-iframe-sandbox
2654
2599
  */
2655
- 'react/jsx-closing-tag-location'?: Linter.RuleEntry<[]>
2600
+ 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
2656
2601
  /**
2657
- * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
2658
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-brace-presence.md
2602
+ * enforce that namespaces are not used in React elements
2603
+ * @see https://eslint-react.xyz/rules/dom-no-namespace
2659
2604
  */
2660
- 'react/jsx-curly-brace-presence'?: Linter.RuleEntry<ReactJsxCurlyBracePresence>
2605
+ 'react-dom/no-namespace'?: Linter.RuleEntry<[]>
2661
2606
  /**
2662
- * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
2663
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-newline.md
2607
+ * disallow usage of the return value of 'ReactDOM.render'
2608
+ * @see https://eslint-react.xyz/rules/dom-no-render-return-value
2664
2609
  */
2665
- 'react/jsx-curly-newline'?: Linter.RuleEntry<ReactJsxCurlyNewline>
2610
+ 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
2666
2611
  /**
2667
- * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2668
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-spacing.md
2612
+ * disallow 'javascript:' URLs as JSX event handler prop's value
2613
+ * @see https://eslint-react.xyz/rules/dom-no-script-url
2669
2614
  */
2670
- 'react/jsx-curly-spacing'?: Linter.RuleEntry<ReactJsxCurlySpacing>
2615
+ 'react-dom/no-script-url'?: Linter.RuleEntry<[]>
2671
2616
  /**
2672
- * Enforce or disallow spaces around equal signs in JSX attributes
2673
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-equals-spacing.md
2617
+ * disallow unsafe iframe 'sandbox' attribute combinations
2618
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-iframe-sandbox
2674
2619
  */
2675
- 'react/jsx-equals-spacing'?: Linter.RuleEntry<ReactJsxEqualsSpacing>
2620
+ 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
2676
2621
  /**
2677
- * Disallow file extensions that may contain JSX
2678
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-filename-extension.md
2622
+ * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'.
2623
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-target-blank
2679
2624
  */
2680
- 'react/jsx-filename-extension'?: Linter.RuleEntry<ReactJsxFilenameExtension>
2625
+ 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2681
2626
  /**
2682
- * Enforce proper position of the first property in JSX
2683
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-first-prop-new-line.md
2627
+ * enforce custom hooks using other hooks
2628
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-custom-hooks-using-other-hooks
2684
2629
  */
2685
- 'react/jsx-first-prop-new-line'?: Linter.RuleEntry<ReactJsxFirstPropNewLine>
2630
+ 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
2686
2631
  /**
2687
- * Enforce shorthand or standard form for React fragments
2688
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-fragments.md
2632
+ * enforce 'useCallback' has non-empty dependencies array
2633
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-callback-has-non-empty-deps
2689
2634
  */
2690
- 'react/jsx-fragments'?: Linter.RuleEntry<ReactJsxFragments>
2635
+ 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
2691
2636
  /**
2692
- * Enforce event handler naming conventions in JSX
2693
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-handler-names.md
2637
+ * enforce 'useMemo' has non-empty dependencies array
2638
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-memo-has-non-empty-deps
2694
2639
  */
2695
- 'react/jsx-handler-names'?: Linter.RuleEntry<ReactJsxHandlerNames>
2640
+ 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
2696
2641
  /**
2697
- * Enforce JSX indentation
2698
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent.md
2642
+ * disallow function calls in 'useState' that aren't wrapped in an initializer function
2643
+ * @see https://eslint-react.xyz/rules/hooks-extra-prefer-use-state-lazy-initialization
2699
2644
  */
2700
- 'react/jsx-indent'?: Linter.RuleEntry<ReactJsxIndent>
2645
+ 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
2701
2646
  /**
2702
- * Enforce props indentation in JSX
2703
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent-props.md
2704
- */
2705
- 'react/jsx-indent-props'?: Linter.RuleEntry<ReactJsxIndentProps>
2706
- /**
2707
- * Disallow missing `key` props in iterators/collection literals
2708
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-key.md
2709
- */
2710
- 'react/jsx-key'?: Linter.RuleEntry<ReactJsxKey>
2711
- /**
2712
- * Enforce JSX maximum depth
2713
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-depth.md
2714
- */
2715
- 'react/jsx-max-depth'?: Linter.RuleEntry<ReactJsxMaxDepth>
2716
- /**
2717
- * Enforce maximum of props on a single line in JSX
2718
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-props-per-line.md
2719
- */
2720
- 'react/jsx-max-props-per-line'?: Linter.RuleEntry<ReactJsxMaxPropsPerLine>
2721
- /**
2722
- * Require or prevent a new line after jsx elements and expressions.
2723
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-newline.md
2724
- */
2725
- 'react/jsx-newline'?: Linter.RuleEntry<ReactJsxNewline>
2726
- /**
2727
- * Disallow `.bind()` or arrow functions in JSX props
2728
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-bind.md
2729
- */
2730
- 'react/jsx-no-bind'?: Linter.RuleEntry<ReactJsxNoBind>
2731
- /**
2732
- * Disallow comments from being inserted as text nodes
2733
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-comment-textnodes.md
2734
- */
2735
- 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
2736
- /**
2737
- * Disallows JSX context provider values from taking values that will cause needless rerenders
2738
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md
2739
- */
2740
- 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<ReactJsxNoConstructedContextValues>
2741
- /**
2742
- * Disallow duplicate properties in JSX
2743
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md
2744
- */
2745
- 'react/jsx-no-duplicate-props'?: Linter.RuleEntry<ReactJsxNoDuplicateProps>
2746
- /**
2747
- * Disallow problematic leaked values from being rendered
2748
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-leaked-render.md
2749
- */
2750
- 'react/jsx-no-leaked-render'?: Linter.RuleEntry<ReactJsxNoLeakedRender>
2751
- /**
2752
- * Disallow usage of string literals in JSX
2753
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-literals.md
2754
- */
2755
- 'react/jsx-no-literals'?: Linter.RuleEntry<ReactJsxNoLiterals>
2756
- /**
2757
- * Disallow usage of `javascript:` URLs
2758
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-script-url.md
2759
- */
2760
- 'react/jsx-no-script-url'?: Linter.RuleEntry<ReactJsxNoScriptUrl>
2761
- /**
2762
- * Disallow `target="_blank"` attribute without `rel="noreferrer"`
2763
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-target-blank.md
2764
- */
2765
- 'react/jsx-no-target-blank'?: Linter.RuleEntry<ReactJsxNoTargetBlank>
2766
- /**
2767
- * Disallow undeclared variables in JSX
2768
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-undef.md
2647
+ * verifies the list of dependencies for Hooks like useEffect and similar
2648
+ * @see https://github.com/facebook/react/issues/14920
2769
2649
  */
2770
- 'react/jsx-no-undef'?: Linter.RuleEntry<ReactJsxNoUndef>
2650
+ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2771
2651
  /**
2772
- * Disallow unnecessary fragments
2773
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-useless-fragment.md
2652
+ * enforces the Rules of Hooks
2653
+ * @see https://reactjs.org/docs/hooks-rules.html
2774
2654
  */
2775
- 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>
2655
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2776
2656
  /**
2777
- * Require one JSX element per line
2778
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-one-expression-per-line.md
2657
+ * enforce component naming convention to 'PascalCase' or 'CONSTANT_CASE'
2658
+ * @see https://eslint-react.xyz/rules/naming-convention-component-name
2779
2659
  */
2780
- 'react/jsx-one-expression-per-line'?: Linter.RuleEntry<ReactJsxOneExpressionPerLine>
2660
+ 'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
2781
2661
  /**
2782
- * Enforce PascalCase for user-defined JSX components
2783
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-pascal-case.md
2662
+ * enforce naming convention for JSX filenames
2663
+ * @see https://eslint-react.xyz/rules/naming-convention-filename
2784
2664
  */
2785
- 'react/jsx-pascal-case'?: Linter.RuleEntry<ReactJsxPascalCase>
2665
+ 'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
2786
2666
  /**
2787
- * Disallow multiple spaces between inline JSX props
2788
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-multi-spaces.md
2667
+ * enforce naming convention for JSX file extensions
2668
+ * @see https://eslint-react.xyz/rules/naming-convention-filename-extension
2789
2669
  */
2790
- 'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
2670
+ 'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
2791
2671
  /**
2792
- * Disallow JSX prop spreading
2793
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md
2672
+ * enforce destructuring and symmetric naming of 'useState' hook value and setter variables
2673
+ * @see https://eslint-react.xyz/rules/naming-convention-use-state
2794
2674
  */
2795
- 'react/jsx-props-no-spreading'?: Linter.RuleEntry<ReactJsxPropsNoSpreading>
2675
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
2676
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2796
2677
  /**
2797
- * Enforce defaultProps declarations alphabetical sorting
2798
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-default-props.md
2799
- * @deprecated
2678
+ * require all 'forwardRef' components include a 'ref' parameter
2679
+ * @see https://eslint-react.xyz/rules/ensure-forward-ref-using-ref
2800
2680
  */
2801
- 'react/jsx-sort-default-props'?: Linter.RuleEntry<ReactJsxSortDefaultProps>
2681
+ 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2802
2682
  /**
2803
- * Enforce props alphabetical sorting
2804
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-props.md
2683
+ * disallow accessing 'this.state' within 'setState'
2684
+ * @see https://eslint-react.xyz/rules/no-access-state-in-setstate
2805
2685
  */
2806
- 'react/jsx-sort-props'?: Linter.RuleEntry<ReactJsxSortProps>
2686
+ 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
2807
2687
  /**
2808
- * Enforce spacing before closing bracket in JSX
2809
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-space-before-closing.md
2810
- * @deprecated
2688
+ * disallow using Array index as key
2689
+ * @see https://eslint-react.xyz/rules/no-array-index-key
2811
2690
  */
2812
- 'react/jsx-space-before-closing'?: Linter.RuleEntry<ReactJsxSpaceBeforeClosing>
2691
+ 'react/no-array-index-key'?: Linter.RuleEntry<[]>
2813
2692
  /**
2814
- * Enforce whitespace in and around the JSX opening and closing brackets
2815
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-tag-spacing.md
2693
+ * disallow 'Children.count'
2694
+ * @see https://eslint-react.xyz/rules/no-children-count
2816
2695
  */
2817
- 'react/jsx-tag-spacing'?: Linter.RuleEntry<ReactJsxTagSpacing>
2696
+ 'react/no-children-count'?: Linter.RuleEntry<[]>
2818
2697
  /**
2819
- * Disallow React to be incorrectly marked as unused
2820
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-react.md
2698
+ * disallow 'Children.forEach'
2699
+ * @see https://eslint-react.xyz/rules/no-children-for-each
2821
2700
  */
2822
- 'react/jsx-uses-react'?: Linter.RuleEntry<[]>
2701
+ 'react/no-children-for-each'?: Linter.RuleEntry<[]>
2823
2702
  /**
2824
- * Disallow variables used in JSX to be incorrectly marked as unused
2825
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-vars.md
2703
+ * disallow 'Children.map'
2704
+ * @see https://eslint-react.xyz/rules/no-children-map
2826
2705
  */
2827
- 'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
2706
+ 'react/no-children-map'?: Linter.RuleEntry<[]>
2828
2707
  /**
2829
- * Disallow missing parentheses around multiline JSX
2830
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-wrap-multilines.md
2708
+ * disallow 'Children.only'
2709
+ * @see https://eslint-react.xyz/rules/no-children-only
2831
2710
  */
2832
- 'react/jsx-wrap-multilines'?: Linter.RuleEntry<ReactJsxWrapMultilines>
2711
+ 'react/no-children-only'?: Linter.RuleEntry<[]>
2833
2712
  /**
2834
- * Disallow when this.state is accessed within setState
2835
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-access-state-in-setstate.md
2713
+ * disallow passing of 'children' as props
2714
+ * @see https://eslint-react.xyz/rules/no-children-prop
2836
2715
  */
2837
- 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
2716
+ 'react/no-children-prop'?: Linter.RuleEntry<[]>
2838
2717
  /**
2839
- * Disallow adjacent inline elements not separated by whitespace.
2840
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-adjacent-inline-elements.md
2718
+ * disallow 'Children.toArray'
2719
+ * @see https://eslint-react.xyz/rules/no-children-to-array
2841
2720
  */
2842
- 'react/no-adjacent-inline-elements'?: Linter.RuleEntry<[]>
2721
+ 'react/no-children-to-array'?: Linter.RuleEntry<[]>
2843
2722
  /**
2844
- * Disallow usage of Array index in keys
2845
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-array-index-key.md
2723
+ * disallow class component
2724
+ * @see https://eslint-react.xyz/rules/no-class-component
2846
2725
  */
2847
- 'react/no-array-index-key'?: Linter.RuleEntry<[]>
2726
+ 'react/no-class-component'?: Linter.RuleEntry<[]>
2848
2727
  /**
2849
- * Lifecycle methods should be methods on the prototype, not class fields
2850
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-arrow-function-lifecycle.md
2728
+ * disallow 'cloneElement'
2729
+ * @see https://eslint-react.xyz/rules/no-clone-element
2851
2730
  */
2852
- 'react/no-arrow-function-lifecycle'?: Linter.RuleEntry<[]>
2731
+ 'react/no-clone-element'?: Linter.RuleEntry<[]>
2853
2732
  /**
2854
- * Disallow passing of children as props
2855
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-children-prop.md
2733
+ * disallow comments from being inserted as text nodes
2734
+ * @see https://eslint-react.xyz/rules/no-comment-textnodes
2856
2735
  */
2857
- 'react/no-children-prop'?: Linter.RuleEntry<ReactNoChildrenProp>
2736
+ 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>
2858
2737
  /**
2859
- * Disallow usage of dangerous JSX properties
2860
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md
2738
+ * disallow complicated conditional rendering
2739
+ * @see https://eslint-react.xyz/rules/no-complicated-conditional-rendering
2861
2740
  */
2862
- 'react/no-danger'?: Linter.RuleEntry<[]>
2741
+ 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2863
2742
  /**
2864
- * Disallow when a DOM element is using both children and dangerouslySetInnerHTML
2865
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger-with-children.md
2743
+ * disallow usage of 'componentWillMount'
2744
+ * @see https://eslint-react.xyz/rules/no-component-will-mount
2866
2745
  */
2867
- 'react/no-danger-with-children'?: Linter.RuleEntry<[]>
2746
+ 'react/no-component-will-mount'?: Linter.RuleEntry<[]>
2868
2747
  /**
2869
- * Disallow usage of deprecated methods
2870
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-deprecated.md
2748
+ * disallow usage of 'componentWillReceiveProps'
2749
+ * @see https://eslint-react.xyz/rules/no-component-will-receive-props
2871
2750
  */
2872
- 'react/no-deprecated'?: Linter.RuleEntry<[]>
2751
+ 'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
2873
2752
  /**
2874
- * Disallow usage of setState in componentDidMount
2875
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-mount-set-state.md
2753
+ * disallow usage of 'componentWillUpdate'
2754
+ * @see https://eslint-react.xyz/rules/no-component-will-update
2876
2755
  */
2877
- 'react/no-did-mount-set-state'?: Linter.RuleEntry<ReactNoDidMountSetState>
2756
+ 'react/no-component-will-update'?: Linter.RuleEntry<[]>
2878
2757
  /**
2879
- * Disallow usage of setState in componentDidUpdate
2880
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-update-set-state.md
2758
+ * disallow 'createRef' in function components
2759
+ * @see https://eslint-react.xyz/rules/no-create-ref
2881
2760
  */
2882
- 'react/no-did-update-set-state'?: Linter.RuleEntry<ReactNoDidUpdateSetState>
2761
+ 'react/no-create-ref'?: Linter.RuleEntry<[]>
2883
2762
  /**
2884
- * Disallow direct mutation of this.state
2885
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-direct-mutation-state.md
2763
+ * disallow direct mutation of state
2764
+ * @see https://eslint-react.xyz/rules/no-direct-mutation-state
2886
2765
  */
2887
2766
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2888
2767
  /**
2889
- * Disallow usage of findDOMNode
2890
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-find-dom-node.md
2768
+ * disallow duplicate keys in 'key' prop when rendering list
2769
+ * @see https://eslint-react.xyz/rules/no-duplicate-key
2891
2770
  */
2892
- 'react/no-find-dom-node'?: Linter.RuleEntry<[]>
2771
+ 'react/no-duplicate-key'?: Linter.RuleEntry<[]>
2893
2772
  /**
2894
- * Disallow usage of invalid attributes
2895
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-invalid-html-attribute.md
2773
+ * disallow spreading 'key' from objects.
2774
+ * @see https://eslint-react.xyz/rules/no-implicit-key
2896
2775
  */
2897
- 'react/no-invalid-html-attribute'?: Linter.RuleEntry<ReactNoInvalidHtmlAttribute>
2776
+ 'react/no-implicit-key'?: Linter.RuleEntry<[]>
2898
2777
  /**
2899
- * Disallow usage of isMounted
2900
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-is-mounted.md
2778
+ * disallow problematic leaked values from being rendered
2779
+ * @see https://eslint-react.xyz/rules/no-leaked-conditional-rendering
2901
2780
  */
2902
- 'react/no-is-mounted'?: Linter.RuleEntry<[]>
2781
+ 'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
2903
2782
  /**
2904
- * Disallow multiple component definition per file
2905
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-multi-comp.md
2783
+ * require 'displayName' for memo and forwardRef components
2784
+ * @see https://eslint-react.xyz/rules/no-missing-component-display-name
2906
2785
  */
2907
- 'react/no-multi-comp'?: Linter.RuleEntry<ReactNoMultiComp>
2786
+ 'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
2908
2787
  /**
2909
- * Enforce that namespaces are not used in React elements
2910
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-namespace.md
2788
+ * require 'key' prop when rendering list
2789
+ * @see https://eslint-react.xyz/rules/no-missing-key
2911
2790
  */
2912
- 'react/no-namespace'?: Linter.RuleEntry<[]>
2791
+ 'react/no-missing-key'?: Linter.RuleEntry<[]>
2913
2792
  /**
2914
- * Disallow usage of referential-type variables as default param in functional component
2915
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-object-type-as-default-prop.md
2793
+ * disallow usage of unstable nested components
2794
+ * @see https://eslint-react.xyz/rules/no-nested-components
2916
2795
  */
2917
- 'react/no-object-type-as-default-prop'?: Linter.RuleEntry<[]>
2796
+ 'react/no-nested-components'?: Linter.RuleEntry<[]>
2918
2797
  /**
2919
- * Disallow usage of shouldComponentUpdate when extending React.PureComponent
2920
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-redundant-should-component-update.md
2798
+ * disallow usage of 'shouldComponentUpdate' in class component extends 'React.PureComponent'
2799
+ * @see https://eslint-react.xyz/rules/no-redundant-should-component-update
2921
2800
  */
2922
2801
  'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
2923
2802
  /**
2924
- * Disallow usage of the return value of ReactDOM.render
2925
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-render-return-value.md
2803
+ * disallow 'setState' in 'componentDidMount'
2804
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-mount
2926
2805
  */
2927
- 'react/no-render-return-value'?: Linter.RuleEntry<[]>
2806
+ 'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
2928
2807
  /**
2929
- * Disallow usage of setState
2930
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-set-state.md
2808
+ * disallow 'setState' in 'componentDidUpdate'
2809
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-update
2931
2810
  */
2932
- 'react/no-set-state'?: Linter.RuleEntry<[]>
2811
+ 'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
2933
2812
  /**
2934
- * Disallow using string references
2935
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-string-refs.md
2813
+ * disallow 'setState' in 'componentWillUpdate'
2814
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-will-update
2936
2815
  */
2937
- 'react/no-string-refs'?: Linter.RuleEntry<ReactNoStringRefs>
2816
+ 'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
2938
2817
  /**
2939
- * Disallow `this` from being used in stateless functional components
2940
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-this-in-sfc.md
2818
+ * disallow using deprecated string refs
2819
+ * @see https://eslint-react.xyz/rules/no-string-refs
2941
2820
  */
2942
- 'react/no-this-in-sfc'?: Linter.RuleEntry<[]>
2821
+ 'react/no-string-refs'?: Linter.RuleEntry<[]>
2943
2822
  /**
2944
- * Disallow common typos
2945
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-typos.md
2823
+ * disallow usage of 'UNSAFE_componentWillMount'
2824
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-mount
2946
2825
  */
2947
- 'react/no-typos'?: Linter.RuleEntry<[]>
2826
+ 'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
2948
2827
  /**
2949
- * Disallow unescaped HTML entities from appearing in markup
2950
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unescaped-entities.md
2828
+ * disallow usage of 'UNSAFE_componentWillReceiveProps'
2829
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-receive-props
2951
2830
  */
2952
- 'react/no-unescaped-entities'?: Linter.RuleEntry<ReactNoUnescapedEntities>
2831
+ 'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
2953
2832
  /**
2954
- * Disallow usage of unknown DOM property
2955
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unknown-property.md
2833
+ * disallow usage of 'UNSAFE_componentWillUpdate'
2834
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-update
2956
2835
  */
2957
- 'react/no-unknown-property'?: Linter.RuleEntry<ReactNoUnknownProperty>
2836
+ 'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
2958
2837
  /**
2959
- * Disallow usage of unsafe lifecycle methods
2960
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unsafe.md
2838
+ * disallow passing constructed values to context providers
2839
+ * @see https://eslint-react.xyz/rules/no-unstable-context-value
2961
2840
  */
2962
- 'react/no-unsafe'?: Linter.RuleEntry<ReactNoUnsafe>
2841
+ 'react/no-unstable-context-value'?: Linter.RuleEntry<[]>
2963
2842
  /**
2964
- * Disallow creating unstable components inside components
2965
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unstable-nested-components.md
2843
+ * disallow usage of unstable value as default param in function component
2844
+ * @see https://eslint-react.xyz/rules/no-unstable-default-props
2966
2845
  */
2967
- 'react/no-unstable-nested-components'?: Linter.RuleEntry<ReactNoUnstableNestedComponents>
2846
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<[]>
2968
2847
  /**
2969
- * Disallow declaring unused methods of component class
2970
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-class-component-methods.md
2848
+ * disallow unused class component members
2849
+ * @see https://eslint-react.xyz/rules/no-unused-class-component-members
2971
2850
  */
2972
- 'react/no-unused-class-component-methods'?: Linter.RuleEntry<[]>
2851
+ 'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
2973
2852
  /**
2974
- * Disallow definitions of unused propTypes
2975
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-prop-types.md
2976
- */
2977
- 'react/no-unused-prop-types'?: Linter.RuleEntry<ReactNoUnusedPropTypes>
2978
- /**
2979
- * Disallow definitions of unused state
2980
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-state.md
2853
+ * Prevents unused state of class component.
2854
+ * @see https://eslint-react.xyz/rules/no-unused-state
2981
2855
  */
2982
2856
  'react/no-unused-state'?: Linter.RuleEntry<[]>
2983
2857
  /**
2984
- * Disallow usage of setState in componentWillUpdate
2985
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-will-update-set-state.md
2986
- */
2987
- 'react/no-will-update-set-state'?: Linter.RuleEntry<ReactNoWillUpdateSetState>
2988
- /**
2989
- * Enforce ES5 or ES6 class for React Components
2990
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-es6-class.md
2991
- */
2992
- 'react/prefer-es6-class'?: Linter.RuleEntry<ReactPreferEs6Class>
2993
- /**
2994
- * Prefer exact proptype definitions
2995
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-exact-props.md
2996
- */
2997
- 'react/prefer-exact-props'?: Linter.RuleEntry<[]>
2998
- /**
2999
- * Enforce that props are read-only
3000
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-read-only-props.md
3001
- */
3002
- 'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
3003
- /**
3004
- * Enforce stateless components to be written as a pure function
3005
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-stateless-function.md
3006
- */
3007
- 'react/prefer-stateless-function'?: Linter.RuleEntry<ReactPreferStatelessFunction>
3008
- /**
3009
- * Disallow missing props validation in a React component definition
3010
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prop-types.md
3011
- */
3012
- 'react/prop-types'?: Linter.RuleEntry<ReactPropTypes>
3013
- /**
3014
- * Disallow missing React when using JSX
3015
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/react-in-jsx-scope.md
3016
- */
3017
- 'react/react-in-jsx-scope'?: Linter.RuleEntry<[]>
3018
- /**
3019
- * Enforce a defaultProps definition for every prop that is not a required prop
3020
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-default-props.md
3021
- */
3022
- 'react/require-default-props'?: Linter.RuleEntry<ReactRequireDefaultProps>
3023
- /**
3024
- * Enforce React components to have a shouldComponentUpdate method
3025
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-optimization.md
3026
- */
3027
- 'react/require-optimization'?: Linter.RuleEntry<ReactRequireOptimization>
3028
- /**
3029
- * Enforce ES5 or ES6 class for returning value in render function
3030
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-render-return.md
3031
- */
3032
- 'react/require-render-return'?: Linter.RuleEntry<[]>
3033
- /**
3034
- * Disallow extra closing tags for components without children
3035
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/self-closing-comp.md
3036
- */
3037
- 'react/self-closing-comp'?: Linter.RuleEntry<ReactSelfClosingComp>
3038
- /**
3039
- * Enforce component methods order
3040
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-comp.md
3041
- */
3042
- 'react/sort-comp'?: Linter.RuleEntry<ReactSortComp>
3043
- /**
3044
- * Enforce defaultProps declarations alphabetical sorting
3045
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-default-props.md
3046
- */
3047
- 'react/sort-default-props'?: Linter.RuleEntry<ReactSortDefaultProps>
3048
- /**
3049
- * Enforce propTypes declarations alphabetical sorting
3050
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-prop-types.md
3051
- */
3052
- 'react/sort-prop-types'?: Linter.RuleEntry<ReactSortPropTypes>
3053
- /**
3054
- * Enforce class component state initialization style
3055
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/state-in-constructor.md
2858
+ * disallow unnecessary fragments
2859
+ * @see https://eslint-react.xyz/rules/no-useless-fragment
3056
2860
  */
3057
- 'react/state-in-constructor'?: Linter.RuleEntry<ReactStateInConstructor>
2861
+ 'react/no-useless-fragment'?: Linter.RuleEntry<[]>
3058
2862
  /**
3059
- * Enforces where React component static properties should be positioned.
3060
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/static-property-placement.md
2863
+ * enforce using destructuring assignment in component props and context
2864
+ * @see https://eslint-react.xyz/rules/prefer-destructuring-assignment
3061
2865
  */
3062
- 'react/static-property-placement'?: Linter.RuleEntry<ReactStaticPropertyPlacement>
2866
+ 'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3063
2867
  /**
3064
- * Enforce style prop value is an object
3065
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/style-prop-object.md
2868
+ * enforce boolean attributes notation in JSX
2869
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-boolean
3066
2870
  */
3067
- 'react/style-prop-object'?: Linter.RuleEntry<ReactStylePropObject>
2871
+ 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
3068
2872
  /**
3069
- * Disallow void DOM elements (e.g. `<img />`, `<br />`) from receiving children
3070
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/void-dom-elements-no-children.md
2873
+ * enforce using fragment syntax instead of Fragment component
2874
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-fragment
3071
2875
  */
3072
- 'react/void-dom-elements-no-children'?: Linter.RuleEntry<[]>
2876
+ 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
3073
2877
  /**
3074
2878
  * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3075
2879
  * @see https://eslint.org/docs/latest/rules/require-atomic-updates
@@ -3080,12 +2884,6 @@ interface RuleOptions {
3080
2884
  * @see https://eslint.org/docs/latest/rules/require-await
3081
2885
  */
3082
2886
  'require-await'?: Linter.RuleEntry<[]>
3083
- /**
3084
- * Require JSDoc comments
3085
- * @see https://eslint.org/docs/latest/rules/require-jsdoc
3086
- * @deprecated
3087
- */
3088
- 'require-jsdoc'?: Linter.RuleEntry<RequireJsdoc>
3089
2887
  /**
3090
2888
  * Enforce the use of `u` or `v` flag on RegExp
3091
2889
  * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
@@ -3660,103 +3458,103 @@ interface RuleOptions {
3660
3458
  */
3661
3459
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>
3662
3460
  /**
3663
- * forbidden .spec test file pattern
3461
+ * require .spec test file pattern
3664
3462
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
3665
3463
  */
3666
3464
  'test/consistent-test-filename'?: Linter.RuleEntry<TestConsistentTestFilename>
3667
3465
  /**
3668
- * Prefer test or it but not both
3466
+ * enforce using test or it but not both
3669
3467
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
3670
3468
  */
3671
3469
  'test/consistent-test-it'?: Linter.RuleEntry<TestConsistentTestIt>
3672
3470
  /**
3673
- * Enforce having expectation in test body
3471
+ * enforce having expectation in test body
3674
3472
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
3675
3473
  */
3676
3474
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
3677
3475
  /**
3678
- * Enforce a maximum number of expect per test
3476
+ * enforce a maximum number of expect per test
3679
3477
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
3680
3478
  */
3681
3479
  'test/max-expects'?: Linter.RuleEntry<TestMaxExpects>
3682
3480
  /**
3683
- * Nested describe block should be less than set max value or default value
3481
+ * require describe block to be less than set max value or default value
3684
3482
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
3685
3483
  */
3686
3484
  'test/max-nested-describe'?: Linter.RuleEntry<TestMaxNestedDescribe>
3687
3485
  /**
3688
- * Disallow alias methods
3486
+ * disallow alias methods
3689
3487
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
3690
3488
  */
3691
3489
  'test/no-alias-methods'?: Linter.RuleEntry<[]>
3692
3490
  /**
3693
- * Disallow commented out tests
3491
+ * disallow commented out tests
3694
3492
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
3695
3493
  */
3696
3494
  'test/no-commented-out-tests'?: Linter.RuleEntry<[]>
3697
3495
  /**
3698
- * Disallow conditional expects
3496
+ * disallow conditional expects
3699
3497
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
3700
3498
  */
3701
3499
  'test/no-conditional-expect'?: Linter.RuleEntry<[]>
3702
3500
  /**
3703
- * Disallow conditional tests
3501
+ * disallow conditional tests
3704
3502
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
3705
3503
  */
3706
3504
  'test/no-conditional-in-test'?: Linter.RuleEntry<[]>
3707
3505
  /**
3708
- * Disallow conditional tests
3506
+ * disallow conditional tests
3709
3507
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
3710
3508
  */
3711
3509
  'test/no-conditional-tests'?: Linter.RuleEntry<[]>
3712
3510
  /**
3713
- * Disallow disabled tests
3511
+ * disallow disabled tests
3714
3512
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
3715
3513
  */
3716
3514
  'test/no-disabled-tests'?: Linter.RuleEntry<[]>
3717
3515
  /**
3718
- * Disallow using a callback in asynchronous tests and hooks
3516
+ * disallow using a callback in asynchronous tests and hooks
3719
3517
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
3720
3518
  * @deprecated
3721
3519
  */
3722
3520
  'test/no-done-callback'?: Linter.RuleEntry<[]>
3723
3521
  /**
3724
- * Disallow duplicate hooks and teardown hooks
3522
+ * disallow duplicate hooks and teardown hooks
3725
3523
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
3726
3524
  */
3727
3525
  'test/no-duplicate-hooks'?: Linter.RuleEntry<[]>
3728
3526
  /**
3729
- * Disallow focused tests
3527
+ * disallow focused tests
3730
3528
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
3731
3529
  */
3732
- 'test/no-focused-tests'?: Linter.RuleEntry<[]>
3530
+ 'test/no-focused-tests'?: Linter.RuleEntry<TestNoFocusedTests>
3733
3531
  /**
3734
- * Disallow setup and teardown hooks
3532
+ * disallow setup and teardown hooks
3735
3533
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
3736
3534
  */
3737
3535
  'test/no-hooks'?: Linter.RuleEntry<TestNoHooks>
3738
3536
  /**
3739
- * Disallow identical titles
3537
+ * disallow identical titles
3740
3538
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
3741
3539
  */
3742
3540
  'test/no-identical-title'?: Linter.RuleEntry<[]>
3743
3541
  /**
3744
- * Disallow importing `node:test`
3542
+ * disallow importing `node:test`
3745
3543
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
3746
3544
  */
3747
3545
  'test/no-import-node-test'?: Linter.RuleEntry<[]>
3748
3546
  /**
3749
- * Disallow string interpolation in snapshots
3547
+ * disallow string interpolation in snapshots
3750
3548
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
3751
3549
  */
3752
3550
  'test/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
3753
3551
  /**
3754
- * Disallow large snapshots
3552
+ * disallow large snapshots
3755
3553
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
3756
3554
  */
3757
3555
  'test/no-large-snapshots'?: Linter.RuleEntry<TestNoLargeSnapshots>
3758
3556
  /**
3759
- * Disallow importing from __mocks__ directory
3557
+ * disallow importing from __mocks__ directory
3760
3558
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
3761
3559
  */
3762
3560
  'test/no-mocks-import'?: Linter.RuleEntry<[]>
@@ -3766,162 +3564,162 @@ interface RuleOptions {
3766
3564
  */
3767
3565
  'test/no-only-tests'?: Linter.RuleEntry<TestNoOnlyTests>
3768
3566
  /**
3769
- * Disallow the use of certain matchers
3567
+ * disallow the use of certain matchers
3770
3568
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
3771
3569
  */
3772
3570
  'test/no-restricted-matchers'?: Linter.RuleEntry<TestNoRestrictedMatchers>
3773
3571
  /**
3774
- * Disallow specific `vi.` methods
3572
+ * disallow specific `vi.` methods
3775
3573
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
3776
3574
  */
3777
3575
  'test/no-restricted-vi-methods'?: Linter.RuleEntry<TestNoRestrictedViMethods>
3778
3576
  /**
3779
- * Disallow using `expect` outside of `it` or `test` blocks
3577
+ * disallow using `expect` outside of `it` or `test` blocks
3780
3578
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
3781
3579
  */
3782
3580
  'test/no-standalone-expect'?: Linter.RuleEntry<TestNoStandaloneExpect>
3783
3581
  /**
3784
- * Disallow using `test` as a prefix
3582
+ * disallow using `test` as a prefix
3785
3583
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
3786
3584
  */
3787
3585
  'test/no-test-prefixes'?: Linter.RuleEntry<[]>
3788
3586
  /**
3789
- * Disallow return statements in tests
3587
+ * disallow return statements in tests
3790
3588
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
3791
3589
  */
3792
3590
  'test/no-test-return-statement'?: Linter.RuleEntry<[]>
3793
3591
  /**
3794
- * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
3592
+ * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
3795
3593
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
3796
3594
  */
3797
3595
  'test/prefer-called-with'?: Linter.RuleEntry<[]>
3798
3596
  /**
3799
- * Suggest using the built-in comparison matchers
3597
+ * enforce using the built-in comparison matchers
3800
3598
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
3801
3599
  */
3802
3600
  'test/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
3803
3601
  /**
3804
- * Prefer `each` rather than manual loops
3602
+ * enforce using `each` rather than manual loops
3805
3603
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
3806
3604
  */
3807
3605
  'test/prefer-each'?: Linter.RuleEntry<[]>
3808
3606
  /**
3809
- * Suggest using the built-in quality matchers
3607
+ * enforce using the built-in quality matchers
3810
3608
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
3811
3609
  */
3812
3610
  'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>
3813
3611
  /**
3814
- * Suggest using expect assertions instead of callbacks
3612
+ * enforce using expect assertions instead of callbacks
3815
3613
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
3816
3614
  */
3817
3615
  'test/prefer-expect-assertions'?: Linter.RuleEntry<TestPreferExpectAssertions>
3818
3616
  /**
3819
- * Suggest using `expect().resolves` over `expect(await ...)` syntax
3617
+ * enforce using `expect().resolves` over `expect(await ...)` syntax
3820
3618
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
3821
3619
  */
3822
3620
  'test/prefer-expect-resolves'?: Linter.RuleEntry<[]>
3823
3621
  /**
3824
- * Prefer having hooks in consistent order
3622
+ * enforce having hooks in consistent order
3825
3623
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
3826
3624
  */
3827
3625
  'test/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
3828
3626
  /**
3829
- * Suggest having hooks before any test cases
3627
+ * enforce having hooks before any test cases
3830
3628
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
3831
3629
  */
3832
3630
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
3833
3631
  /**
3834
- * Enforce lowercase titles
3632
+ * enforce lowercase titles
3835
3633
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
3836
3634
  */
3837
3635
  'test/prefer-lowercase-title'?: Linter.RuleEntry<TestPreferLowercaseTitle>
3838
3636
  /**
3839
- * Prefer mock resolved/rejected shorthands for promises
3637
+ * enforce mock resolved/rejected shorthands for promises
3840
3638
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
3841
3639
  */
3842
3640
  'test/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
3843
3641
  /**
3844
- * Prefer including a hint with external snapshots
3642
+ * enforce including a hint with external snapshots
3845
3643
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
3846
3644
  */
3847
3645
  'test/prefer-snapshot-hint'?: Linter.RuleEntry<TestPreferSnapshotHint>
3848
3646
  /**
3849
- * Suggest using `vi.spyOn`
3647
+ * enforce using `vi.spyOn`
3850
3648
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
3851
3649
  */
3852
3650
  'test/prefer-spy-on'?: Linter.RuleEntry<[]>
3853
3651
  /**
3854
- * Prefer strict equal over equal
3652
+ * enforce strict equal over equal
3855
3653
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
3856
3654
  */
3857
3655
  'test/prefer-strict-equal'?: Linter.RuleEntry<[]>
3858
3656
  /**
3859
- * Suggest using toBe()
3657
+ * enforce using toBe()
3860
3658
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
3861
3659
  */
3862
3660
  'test/prefer-to-be'?: Linter.RuleEntry<[]>
3863
3661
  /**
3864
- * Suggest using toBeFalsy()
3662
+ * enforce using toBeFalsy()
3865
3663
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
3866
3664
  */
3867
3665
  'test/prefer-to-be-falsy'?: Linter.RuleEntry<[]>
3868
3666
  /**
3869
- * Prefer toBeObject()
3667
+ * enforce using toBeObject()
3870
3668
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
3871
3669
  */
3872
3670
  'test/prefer-to-be-object'?: Linter.RuleEntry<[]>
3873
3671
  /**
3874
- * Suggest using `toBeTruthy`
3672
+ * enforce using `toBeTruthy`
3875
3673
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
3876
3674
  */
3877
3675
  'test/prefer-to-be-truthy'?: Linter.RuleEntry<[]>
3878
3676
  /**
3879
- * Prefer using toContain()
3677
+ * enforce using toContain()
3880
3678
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
3881
3679
  */
3882
3680
  'test/prefer-to-contain'?: Linter.RuleEntry<[]>
3883
3681
  /**
3884
- * Suggest using toHaveLength()
3682
+ * enforce using toHaveLength()
3885
3683
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
3886
3684
  */
3887
3685
  'test/prefer-to-have-length'?: Linter.RuleEntry<[]>
3888
3686
  /**
3889
- * Suggest using `test.todo`
3687
+ * enforce using `test.todo`
3890
3688
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
3891
3689
  */
3892
3690
  'test/prefer-todo'?: Linter.RuleEntry<[]>
3893
3691
  /**
3894
- * Require setup and teardown to be within a hook
3692
+ * require setup and teardown to be within a hook
3895
3693
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
3896
3694
  */
3897
3695
  'test/require-hook'?: Linter.RuleEntry<TestRequireHook>
3898
3696
  /**
3899
- * Require local Test Context for concurrent snapshot tests
3697
+ * require local Test Context for concurrent snapshot tests
3900
3698
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
3901
3699
  */
3902
3700
  'test/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>
3903
3701
  /**
3904
- * Require toThrow() to be called with an error message
3702
+ * require toThrow() to be called with an error message
3905
3703
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
3906
3704
  */
3907
3705
  'test/require-to-throw-message'?: Linter.RuleEntry<[]>
3908
3706
  /**
3909
- * Enforce that all tests are in a top-level describe
3707
+ * enforce that all tests are in a top-level describe
3910
3708
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
3911
3709
  */
3912
3710
  'test/require-top-level-describe'?: Linter.RuleEntry<TestRequireTopLevelDescribe>
3913
3711
  /**
3914
- * Enforce valid describe callback
3712
+ * enforce valid describe callback
3915
3713
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
3916
3714
  */
3917
3715
  'test/valid-describe-callback'?: Linter.RuleEntry<[]>
3918
3716
  /**
3919
- * Enforce valid `expect()` usage
3717
+ * enforce valid `expect()` usage
3920
3718
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
3921
3719
  */
3922
3720
  'test/valid-expect'?: Linter.RuleEntry<TestValidExpect>
3923
3721
  /**
3924
- * Enforce valid titles
3722
+ * enforce valid titles
3925
3723
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
3926
3724
  */
3927
3725
  'test/valid-title'?: Linter.RuleEntry<TestValidTitle>
@@ -4781,637 +4579,652 @@ interface RuleOptions {
4781
4579
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
4782
4580
  /**
4783
4581
  * Improve regexes by making them shorter, consistent, and safer.
4784
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/better-regex.md
4582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/better-regex.md
4785
4583
  */
4786
4584
  'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
4787
4585
  /**
4788
4586
  * Enforce a specific parameter name in catch clauses.
4789
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/catch-error-name.md
4587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/catch-error-name.md
4790
4588
  */
4791
4589
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
4792
4590
  /**
4793
4591
  * Use destructured variables over properties.
4794
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/consistent-destructuring.md
4592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/consistent-destructuring.md
4795
4593
  */
4796
4594
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
4797
4595
  /**
4798
4596
  * Move function definitions to the highest possible scope.
4799
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/consistent-function-scoping.md
4597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/consistent-function-scoping.md
4800
4598
  */
4801
4599
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
4802
4600
  /**
4803
4601
  * Enforce correct `Error` subclassing.
4804
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/custom-error-definition.md
4602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/custom-error-definition.md
4805
4603
  */
4806
4604
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
4807
4605
  /**
4808
4606
  * Enforce no spaces between braces.
4809
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/empty-brace-spaces.md
4607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/empty-brace-spaces.md
4810
4608
  */
4811
4609
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
4812
4610
  /**
4813
4611
  * Enforce passing a `message` value when creating a built-in error.
4814
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/error-message.md
4612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/error-message.md
4815
4613
  */
4816
4614
  'unicorn/error-message'?: Linter.RuleEntry<[]>
4817
4615
  /**
4818
4616
  * Require escape sequences to use uppercase values.
4819
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/escape-case.md
4617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/escape-case.md
4820
4618
  */
4821
4619
  'unicorn/escape-case'?: Linter.RuleEntry<[]>
4822
4620
  /**
4823
4621
  * Add expiration conditions to TODO comments.
4824
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/expiring-todo-comments.md
4622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/expiring-todo-comments.md
4825
4623
  */
4826
4624
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
4827
4625
  /**
4828
4626
  * Enforce explicitly comparing the `length` or `size` property of a value.
4829
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/explicit-length-check.md
4627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/explicit-length-check.md
4830
4628
  */
4831
4629
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
4832
4630
  /**
4833
4631
  * Enforce a case style for filenames.
4834
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/filename-case.md
4632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/filename-case.md
4835
4633
  */
4836
4634
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
4837
4635
  /**
4838
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#import-index
4636
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#import-index
4839
4637
  * @deprecated
4840
4638
  */
4841
4639
  'unicorn/import-index'?: Linter.RuleEntry<[]>
4842
4640
  /**
4843
4641
  * Enforce specific import styles per module.
4844
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/import-style.md
4642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/import-style.md
4845
4643
  */
4846
4644
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
4847
4645
  /**
4848
4646
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
4849
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/new-for-builtins.md
4647
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/new-for-builtins.md
4850
4648
  */
4851
4649
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
4852
4650
  /**
4853
4651
  * Enforce specifying rules to disable in `eslint-disable` comments.
4854
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-abusive-eslint-disable.md
4652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-abusive-eslint-disable.md
4855
4653
  */
4856
4654
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
4655
+ /**
4656
+ * Disallow anonymous functions and classes as the default export.
4657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-anonymous-default-export.md
4658
+ */
4659
+ 'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
4857
4660
  /**
4858
4661
  * Prevent passing a function reference directly to iterator methods.
4859
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-array-callback-reference.md
4662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-array-callback-reference.md
4860
4663
  */
4861
4664
  'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
4862
4665
  /**
4863
4666
  * Prefer `for…of` over the `forEach` method.
4864
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-array-for-each.md
4667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-array-for-each.md
4865
4668
  */
4866
4669
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
4867
4670
  /**
4868
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#no-array-instanceof
4671
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#no-array-instanceof
4869
4672
  * @deprecated
4870
4673
  */
4871
4674
  'unicorn/no-array-instanceof'?: Linter.RuleEntry<[]>
4872
4675
  /**
4873
4676
  * Disallow using the `this` argument in array methods.
4874
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-array-method-this-argument.md
4677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-array-method-this-argument.md
4875
4678
  */
4876
4679
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
4877
4680
  /**
4878
4681
  * Enforce combining multiple `Array#push()` into one call.
4879
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-array-push-push.md
4682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-array-push-push.md
4880
4683
  */
4881
4684
  'unicorn/no-array-push-push'?: Linter.RuleEntry<UnicornNoArrayPushPush>
4882
4685
  /**
4883
4686
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
4884
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-array-reduce.md
4687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-array-reduce.md
4885
4688
  */
4886
4689
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
4887
4690
  /**
4888
4691
  * Disallow member access from await expression.
4889
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-await-expression-member.md
4692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-await-expression-member.md
4890
4693
  */
4891
4694
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
4695
+ /**
4696
+ * Disallow using `await` in `Promise` method parameters.
4697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-await-in-promise-methods.md
4698
+ */
4699
+ 'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
4892
4700
  /**
4893
4701
  * Do not use leading/trailing space between `console.log` parameters.
4894
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-console-spaces.md
4702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-console-spaces.md
4895
4703
  */
4896
4704
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
4897
4705
  /**
4898
4706
  * Do not use `document.cookie` directly.
4899
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-document-cookie.md
4707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-document-cookie.md
4900
4708
  */
4901
4709
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
4902
4710
  /**
4903
4711
  * Disallow empty files.
4904
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-empty-file.md
4712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-empty-file.md
4905
4713
  */
4906
4714
  'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
4907
4715
  /**
4908
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#no-fn-reference-in-iterator
4716
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator
4909
4717
  * @deprecated
4910
4718
  */
4911
4719
  'unicorn/no-fn-reference-in-iterator'?: Linter.RuleEntry<[]>
4912
4720
  /**
4913
4721
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
4914
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-for-loop.md
4722
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-for-loop.md
4915
4723
  */
4916
4724
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
4917
4725
  /**
4918
4726
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
4919
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-hex-escape.md
4727
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-hex-escape.md
4920
4728
  */
4921
4729
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
4922
4730
  /**
4923
4731
  * Require `Array.isArray()` instead of `instanceof Array`.
4924
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-instanceof-array.md
4732
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-instanceof-array.md
4925
4733
  */
4926
4734
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
4927
4735
  /**
4928
4736
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
4929
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-invalid-remove-event-listener.md
4737
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-invalid-remove-event-listener.md
4930
4738
  */
4931
4739
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
4932
4740
  /**
4933
4741
  * Disallow identifiers starting with `new` or `class`.
4934
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-keyword-prefix.md
4742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-keyword-prefix.md
4935
4743
  */
4936
4744
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
4937
4745
  /**
4938
4746
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
4939
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-lonely-if.md
4747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-lonely-if.md
4940
4748
  */
4941
4749
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
4942
4750
  /**
4943
4751
  * Disallow negated conditions.
4944
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-negated-condition.md
4752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-negated-condition.md
4945
4753
  */
4946
4754
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
4947
4755
  /**
4948
4756
  * Disallow nested ternary expressions.
4949
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-nested-ternary.md
4757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-nested-ternary.md
4950
4758
  */
4951
4759
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
4952
4760
  /**
4953
4761
  * Disallow `new Array()`.
4954
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-new-array.md
4762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-new-array.md
4955
4763
  */
4956
4764
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>
4957
4765
  /**
4958
4766
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
4959
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-new-buffer.md
4767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-new-buffer.md
4960
4768
  */
4961
4769
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
4962
4770
  /**
4963
4771
  * Disallow the use of the `null` literal.
4964
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-null.md
4772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-null.md
4965
4773
  */
4966
4774
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
4967
4775
  /**
4968
4776
  * Disallow the use of objects as default parameters.
4969
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-object-as-default-parameter.md
4777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-object-as-default-parameter.md
4970
4778
  */
4971
4779
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
4972
4780
  /**
4973
4781
  * Disallow `process.exit()`.
4974
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-process-exit.md
4782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-process-exit.md
4975
4783
  */
4976
4784
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
4977
4785
  /**
4978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#no-reduce
4786
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#no-reduce
4979
4787
  * @deprecated
4980
4788
  */
4981
4789
  'unicorn/no-reduce'?: Linter.RuleEntry<[]>
4790
+ /**
4791
+ * Disallow passing single-element arrays to `Promise` methods.
4792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-single-promise-in-promise-methods.md
4793
+ */
4794
+ 'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
4982
4795
  /**
4983
4796
  * Disallow classes that only have static members.
4984
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-static-only-class.md
4797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-static-only-class.md
4985
4798
  */
4986
4799
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
4987
4800
  /**
4988
4801
  * Disallow `then` property.
4989
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-thenable.md
4802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-thenable.md
4990
4803
  */
4991
4804
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>
4992
4805
  /**
4993
4806
  * Disallow assigning `this` to a variable.
4994
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-this-assignment.md
4807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-this-assignment.md
4995
4808
  */
4996
4809
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
4997
4810
  /**
4998
4811
  * Disallow comparing `undefined` using `typeof`.
4999
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-typeof-undefined.md
4812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-typeof-undefined.md
5000
4813
  */
5001
4814
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
5002
4815
  /**
5003
4816
  * Disallow awaiting non-promise values.
5004
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-unnecessary-await.md
4817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-unnecessary-await.md
5005
4818
  */
5006
4819
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
5007
4820
  /**
5008
4821
  * Enforce the use of built-in methods instead of unnecessary polyfills.
5009
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-unnecessary-polyfills.md
4822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-unnecessary-polyfills.md
5010
4823
  */
5011
4824
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
5012
4825
  /**
5013
4826
  * Disallow unreadable array destructuring.
5014
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-unreadable-array-destructuring.md
4827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-unreadable-array-destructuring.md
5015
4828
  */
5016
4829
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
5017
4830
  /**
5018
4831
  * Disallow unreadable IIFEs.
5019
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-unreadable-iife.md
4832
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-unreadable-iife.md
5020
4833
  */
5021
4834
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
5022
4835
  /**
5023
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#no-unsafe-regex
4836
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#no-unsafe-regex
5024
4837
  * @deprecated
5025
4838
  */
5026
4839
  'unicorn/no-unsafe-regex'?: Linter.RuleEntry<[]>
5027
4840
  /**
5028
4841
  * Disallow unused object properties.
5029
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-unused-properties.md
4842
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-unused-properties.md
5030
4843
  */
5031
4844
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
5032
4845
  /**
5033
4846
  * Disallow useless fallback when spreading in object literals.
5034
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-fallback-in-spread.md
4847
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-fallback-in-spread.md
5035
4848
  */
5036
4849
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
5037
4850
  /**
5038
4851
  * Disallow useless array length check.
5039
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-length-check.md
4852
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-length-check.md
5040
4853
  */
5041
4854
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
5042
4855
  /**
5043
4856
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
5044
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-promise-resolve-reject.md
4857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-promise-resolve-reject.md
5045
4858
  */
5046
4859
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
5047
4860
  /**
5048
4861
  * Disallow unnecessary spread.
5049
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-spread.md
4862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-spread.md
5050
4863
  */
5051
4864
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
5052
4865
  /**
5053
4866
  * Disallow useless case in switch statements.
5054
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-switch-case.md
4867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-switch-case.md
5055
4868
  */
5056
4869
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
5057
4870
  /**
5058
4871
  * Disallow useless `undefined`.
5059
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-useless-undefined.md
4872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-useless-undefined.md
5060
4873
  */
5061
4874
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
5062
4875
  /**
5063
4876
  * Disallow number literals with zero fractions or dangling dots.
5064
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/no-zero-fractions.md
4877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/no-zero-fractions.md
5065
4878
  */
5066
4879
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
5067
4880
  /**
5068
4881
  * Enforce proper case for numeric literals.
5069
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/number-literal-case.md
4882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/number-literal-case.md
5070
4883
  */
5071
4884
  'unicorn/number-literal-case'?: Linter.RuleEntry<[]>
5072
4885
  /**
5073
4886
  * Enforce the style of numeric separators by correctly grouping digits.
5074
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/numeric-separators-style.md
4887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/numeric-separators-style.md
5075
4888
  */
5076
4889
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
5077
4890
  /**
5078
4891
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
5079
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-add-event-listener.md
4892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-add-event-listener.md
5080
4893
  */
5081
4894
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
5082
4895
  /**
5083
4896
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
5084
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-array-find.md
4897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-array-find.md
5085
4898
  */
5086
4899
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
5087
4900
  /**
5088
4901
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
5089
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-array-flat.md
4902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-array-flat.md
5090
4903
  */
5091
4904
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
5092
4905
  /**
5093
4906
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
5094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-array-flat-map.md
4907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-array-flat-map.md
5095
4908
  */
5096
4909
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
5097
4910
  /**
5098
4911
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
5099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-array-index-of.md
4912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-array-index-of.md
5100
4913
  */
5101
4914
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
5102
4915
  /**
5103
4916
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast}(…)`.
5104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-array-some.md
4917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-array-some.md
5105
4918
  */
5106
4919
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
5107
4920
  /**
5108
4921
  * Prefer `.at()` method for index access and `String#charAt()`.
5109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-at.md
4922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-at.md
5110
4923
  */
5111
4924
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
5112
4925
  /**
5113
4926
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
5114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-blob-reading-methods.md
4927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-blob-reading-methods.md
5115
4928
  */
5116
4929
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
5117
4930
  /**
5118
4931
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
5119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-code-point.md
4932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-code-point.md
5120
4933
  */
5121
4934
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
5122
4935
  /**
5123
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-dataset
4936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-dataset
5124
4937
  * @deprecated
5125
4938
  */
5126
4939
  'unicorn/prefer-dataset'?: Linter.RuleEntry<[]>
5127
4940
  /**
5128
4941
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
5129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-date-now.md
4942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-date-now.md
5130
4943
  */
5131
4944
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
5132
4945
  /**
5133
4946
  * Prefer default parameters over reassignment.
5134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-default-parameters.md
4947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-default-parameters.md
5135
4948
  */
5136
4949
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
5137
4950
  /**
5138
4951
  * Prefer `Node#append()` over `Node#appendChild()`.
5139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-dom-node-append.md
4952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-dom-node-append.md
5140
4953
  */
5141
4954
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
5142
4955
  /**
5143
4956
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
5144
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-dom-node-dataset.md
4957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-dom-node-dataset.md
5145
4958
  */
5146
4959
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
5147
4960
  /**
5148
4961
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
5149
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-dom-node-remove.md
4962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-dom-node-remove.md
5150
4963
  */
5151
4964
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
5152
4965
  /**
5153
4966
  * Prefer `.textContent` over `.innerText`.
5154
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-dom-node-text-content.md
4967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-dom-node-text-content.md
5155
4968
  */
5156
4969
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
5157
4970
  /**
5158
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-event-key
4971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-event-key
5159
4972
  * @deprecated
5160
4973
  */
5161
4974
  'unicorn/prefer-event-key'?: Linter.RuleEntry<[]>
5162
4975
  /**
5163
4976
  * Prefer `EventTarget` over `EventEmitter`.
5164
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-event-target.md
4977
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-event-target.md
5165
4978
  */
5166
4979
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
5167
4980
  /**
5168
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-exponentiation-operator
4981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator
5169
4982
  * @deprecated
5170
4983
  */
5171
4984
  'unicorn/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>
5172
4985
  /**
5173
4986
  * Prefer `export…from` when re-exporting.
5174
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-export-from.md
4987
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-export-from.md
5175
4988
  */
5176
4989
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
5177
4990
  /**
5178
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-flat-map
4991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-flat-map
5179
4992
  * @deprecated
5180
4993
  */
5181
4994
  'unicorn/prefer-flat-map'?: Linter.RuleEntry<[]>
5182
4995
  /**
5183
4996
  * Prefer `.includes()` over `.indexOf()` and `Array#some()` when checking for existence or non-existence.
5184
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-includes.md
4997
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-includes.md
5185
4998
  */
5186
4999
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
5187
5000
  /**
5188
5001
  * Prefer reading a JSON file as a buffer.
5189
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-json-parse-buffer.md
5002
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-json-parse-buffer.md
5190
5003
  */
5191
5004
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
5192
5005
  /**
5193
5006
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
5194
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-keyboard-event-key.md
5007
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-keyboard-event-key.md
5195
5008
  */
5196
5009
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
5197
5010
  /**
5198
5011
  * Prefer using a logical operator over a ternary.
5199
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-logical-operator-over-ternary.md
5012
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-logical-operator-over-ternary.md
5200
5013
  */
5201
5014
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
5202
5015
  /**
5203
5016
  * Enforce the use of `Math.trunc` instead of bitwise operators.
5204
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-math-trunc.md
5017
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-math-trunc.md
5205
5018
  */
5206
5019
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
5207
5020
  /**
5208
5021
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
5209
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-modern-dom-apis.md
5022
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-modern-dom-apis.md
5210
5023
  */
5211
5024
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
5212
5025
  /**
5213
5026
  * Prefer modern `Math` APIs over legacy patterns.
5214
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-modern-math-apis.md
5027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-modern-math-apis.md
5215
5028
  */
5216
5029
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
5217
5030
  /**
5218
5031
  * Prefer JavaScript modules (ESM) over CommonJS.
5219
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-module.md
5032
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-module.md
5220
5033
  */
5221
5034
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>
5222
5035
  /**
5223
5036
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
5224
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-native-coercion-functions.md
5037
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-native-coercion-functions.md
5225
5038
  */
5226
5039
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
5227
5040
  /**
5228
5041
  * Prefer negative index over `.length - index` when possible.
5229
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-negative-index.md
5042
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-negative-index.md
5230
5043
  */
5231
5044
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
5232
5045
  /**
5233
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-node-append
5046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-node-append
5234
5047
  * @deprecated
5235
5048
  */
5236
5049
  'unicorn/prefer-node-append'?: Linter.RuleEntry<[]>
5237
5050
  /**
5238
5051
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
5239
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-node-protocol.md
5052
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-node-protocol.md
5240
5053
  */
5241
5054
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
5242
5055
  /**
5243
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-node-remove
5056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-node-remove
5244
5057
  * @deprecated
5245
5058
  */
5246
5059
  'unicorn/prefer-node-remove'?: Linter.RuleEntry<[]>
5247
5060
  /**
5248
5061
  * Prefer `Number` static properties over global ones.
5249
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-number-properties.md
5062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-number-properties.md
5250
5063
  */
5251
5064
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
5252
5065
  /**
5253
5066
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
5254
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-object-from-entries.md
5067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-object-from-entries.md
5255
5068
  */
5256
5069
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
5257
5070
  /**
5258
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-object-has-own
5071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-object-has-own
5259
5072
  * @deprecated
5260
5073
  */
5261
5074
  'unicorn/prefer-object-has-own'?: Linter.RuleEntry<[]>
5262
5075
  /**
5263
5076
  * Prefer omitting the `catch` binding parameter.
5264
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-optional-catch-binding.md
5077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-optional-catch-binding.md
5265
5078
  */
5266
5079
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
5267
5080
  /**
5268
5081
  * Prefer borrowing methods from the prototype instead of the instance.
5269
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-prototype-methods.md
5082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-prototype-methods.md
5270
5083
  */
5271
5084
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
5272
5085
  /**
5273
5086
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`.
5274
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-query-selector.md
5087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-query-selector.md
5275
5088
  */
5276
5089
  'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
5277
5090
  /**
5278
5091
  * Prefer `Reflect.apply()` over `Function#apply()`.
5279
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-reflect-apply.md
5092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-reflect-apply.md
5280
5093
  */
5281
5094
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
5282
5095
  /**
5283
5096
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
5284
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-regexp-test.md
5097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-regexp-test.md
5285
5098
  */
5286
5099
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
5287
5100
  /**
5288
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-replace-all
5101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-replace-all
5289
5102
  * @deprecated
5290
5103
  */
5291
5104
  'unicorn/prefer-replace-all'?: Linter.RuleEntry<[]>
5292
5105
  /**
5293
5106
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
5294
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-set-has.md
5107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-set-has.md
5295
5108
  */
5296
5109
  'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
5297
5110
  /**
5298
5111
  * Prefer using `Set#size` instead of `Array#length`.
5299
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-set-size.md
5112
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-set-size.md
5300
5113
  */
5301
5114
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
5302
5115
  /**
5303
5116
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
5304
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-spread.md
5117
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-spread.md
5305
5118
  */
5306
5119
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
5307
5120
  /**
5308
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-starts-ends-with
5121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-starts-ends-with
5309
5122
  * @deprecated
5310
5123
  */
5311
5124
  'unicorn/prefer-starts-ends-with'?: Linter.RuleEntry<[]>
5312
5125
  /**
5313
5126
  * Prefer `String#replaceAll()` over regex searches with the global flag.
5314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-string-replace-all.md
5127
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-string-replace-all.md
5315
5128
  */
5316
5129
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
5317
5130
  /**
5318
5131
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
5319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-string-slice.md
5132
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-string-slice.md
5320
5133
  */
5321
5134
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
5322
5135
  /**
5323
5136
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
5324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-string-starts-ends-with.md
5137
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-string-starts-ends-with.md
5325
5138
  */
5326
5139
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
5327
5140
  /**
5328
5141
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
5329
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-string-trim-start-end.md
5142
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-string-trim-start-end.md
5330
5143
  */
5331
5144
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
5332
5145
  /**
5333
5146
  * Prefer `switch` over multiple `else-if`.
5334
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-switch.md
5147
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-switch.md
5335
5148
  */
5336
5149
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
5337
5150
  /**
5338
5151
  * Prefer ternary expressions over simple `if-else` statements.
5339
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-ternary.md
5152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-ternary.md
5340
5153
  */
5341
5154
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
5342
5155
  /**
5343
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-text-content
5156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-text-content
5344
5157
  * @deprecated
5345
5158
  */
5346
5159
  'unicorn/prefer-text-content'?: Linter.RuleEntry<[]>
5347
5160
  /**
5348
5161
  * Prefer top-level await over top-level promises and async function calls.
5349
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-top-level-await.md
5162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-top-level-await.md
5350
5163
  */
5351
5164
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
5352
5165
  /**
5353
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#prefer-trim-start-end
5166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#prefer-trim-start-end
5354
5167
  * @deprecated
5355
5168
  */
5356
5169
  'unicorn/prefer-trim-start-end'?: Linter.RuleEntry<[]>
5357
5170
  /**
5358
5171
  * Enforce throwing `TypeError` in type checking conditions.
5359
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prefer-type-error.md
5172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prefer-type-error.md
5360
5173
  */
5361
5174
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
5362
5175
  /**
5363
5176
  * Prevent abbreviations.
5364
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/prevent-abbreviations.md
5177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/prevent-abbreviations.md
5365
5178
  */
5366
5179
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
5367
5180
  /**
5368
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/deprecated-rules.md#regex-shorthand
5181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/deprecated-rules.md#regex-shorthand
5369
5182
  * @deprecated
5370
5183
  */
5371
5184
  'unicorn/regex-shorthand'?: Linter.RuleEntry<[]>
5372
5185
  /**
5373
5186
  * Enforce consistent relative URL style.
5374
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/relative-url-style.md
5187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/relative-url-style.md
5375
5188
  */
5376
5189
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
5377
5190
  /**
5378
5191
  * Enforce using the separator argument with `Array#join()`.
5379
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/require-array-join-separator.md
5192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/require-array-join-separator.md
5380
5193
  */
5381
5194
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
5382
5195
  /**
5383
5196
  * Enforce using the digits argument with `Number#toFixed()`.
5384
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/require-number-to-fixed-digits-argument.md
5197
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/require-number-to-fixed-digits-argument.md
5385
5198
  */
5386
5199
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
5387
5200
  /**
5388
5201
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
5389
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/require-post-message-target-origin.md
5202
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/require-post-message-target-origin.md
5390
5203
  */
5391
5204
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
5392
5205
  /**
5393
5206
  * Enforce better string content.
5394
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/string-content.md
5207
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/string-content.md
5395
5208
  */
5396
5209
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
5397
5210
  /**
5398
5211
  * Enforce consistent brace style for `case` clauses.
5399
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/switch-case-braces.md
5212
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/switch-case-braces.md
5400
5213
  */
5401
5214
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
5402
5215
  /**
5403
5216
  * Fix whitespace-insensitive template indentation.
5404
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/template-indent.md
5217
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/template-indent.md
5405
5218
  */
5406
5219
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
5407
5220
  /**
5408
5221
  * Enforce consistent case for text encoding identifiers.
5409
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/text-encoding-identifier-case.md
5222
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/text-encoding-identifier-case.md
5410
5223
  */
5411
5224
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
5412
5225
  /**
5413
5226
  * Require `new` when throwing an error.
5414
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v51.0.1/docs/rules/throw-new-error.md
5227
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v52.0.0/docs/rules/throw-new-error.md
5415
5228
  */
5416
5229
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
5417
5230
  /**
@@ -5459,12 +5272,6 @@ interface RuleOptions {
5459
5272
  * @see https://eslint.org/docs/latest/rules/use-isnan
5460
5273
  */
5461
5274
  'use-isnan'?: Linter.RuleEntry<UseIsnan>
5462
- /**
5463
- * Enforce valid JSDoc comments
5464
- * @see https://eslint.org/docs/latest/rules/valid-jsdoc
5465
- * @deprecated
5466
- */
5467
- 'valid-jsdoc'?: Linter.RuleEntry<ValidJsdoc>
5468
5275
  /**
5469
5276
  * Enforce comparing `typeof` expressions against valid strings
5470
5277
  * @see https://eslint.org/docs/latest/rules/valid-typeof
@@ -6931,7 +6738,7 @@ type Camelcase = []|[{
6931
6738
  ignoreGlobals?: boolean
6932
6739
  properties?: ("always" | "never")
6933
6740
 
6934
- allow?: []|[string]
6741
+ allow?: string[]
6935
6742
  }]
6936
6743
  // ----- capitalized-comments -----
6937
6744
  type CapitalizedComments = []|[("always" | "never")]|[("always" | "never"), ({
@@ -8635,12 +8442,8 @@ type NoConsole = []|[{
8635
8442
  }]
8636
8443
  // ----- no-constant-condition -----
8637
8444
  type NoConstantCondition = []|[{
8638
- checkLoops?: boolean
8445
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
8639
8446
  }]
8640
- // ----- no-constructor-return -----
8641
- interface NoConstructorReturn {
8642
- [k: string]: unknown | undefined
8643
- }
8644
8447
  // ----- no-duplicate-imports -----
8645
8448
  type NoDuplicateImports = []|[{
8646
8449
  includeExports?: boolean
@@ -8690,6 +8493,7 @@ type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
8690
8493
  type NoFallthrough = []|[{
8691
8494
  commentPattern?: string
8692
8495
  allowEmptyCase?: boolean
8496
+ reportUnusedFallthroughComment?: boolean
8693
8497
  }]
8694
8498
  // ----- no-global-assign -----
8695
8499
  type NoGlobalAssign = []|[{
@@ -8701,7 +8505,7 @@ type NoImplicitCoercion = []|[{
8701
8505
  number?: boolean
8702
8506
  string?: boolean
8703
8507
  disallowTemplateShorthand?: boolean
8704
- allow?: ("~" | "!!" | "+" | "*")[]
8508
+ allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[]
8705
8509
  }]
8706
8510
  // ----- no-implicit-globals -----
8707
8511
  type NoImplicitGlobals = []|[{
@@ -8712,7 +8516,9 @@ type NoInlineComments = []|[{
8712
8516
  ignorePattern?: string
8713
8517
  }]
8714
8518
  // ----- no-inner-declarations -----
8715
- type NoInnerDeclarations = []|[("functions" | "both")]
8519
+ type NoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
8520
+ blockScopedFunctions?: ("allow" | "disallow")
8521
+ }]
8716
8522
  // ----- no-invalid-regexp -----
8717
8523
  type NoInvalidRegexp = []|[{
8718
8524
  allowConstructorFlags?: string[]
@@ -8819,18 +8625,23 @@ type NoRestrictedImports = ((string | {
8819
8625
  name: string
8820
8626
  message?: string
8821
8627
  importNames?: string[]
8628
+ allowImportNames?: string[]
8822
8629
  })[] | []|[{
8823
8630
  paths?: (string | {
8824
8631
  name: string
8825
8632
  message?: string
8826
8633
  importNames?: string[]
8634
+ allowImportNames?: string[]
8827
8635
  })[]
8828
8636
  patterns?: (string[] | {
8829
8637
 
8830
8638
  importNames?: [string, ...(string)[]]
8831
8639
 
8640
+ allowImportNames?: [string, ...(string)[]]
8641
+
8832
8642
  group: [string, ...(string)[]]
8833
8643
  importNamePattern?: string
8644
+ allowImportNamePattern?: string
8834
8645
  message?: string
8835
8646
  caseSensitive?: boolean
8836
8647
  }[])
@@ -8940,6 +8751,8 @@ type NoUnusedVars = []|[(("all" | "local") | {
8940
8751
  caughtErrors?: ("all" | "none")
8941
8752
  caughtErrorsIgnorePattern?: string
8942
8753
  destructuredArrayIgnorePattern?: string
8754
+ ignoreClassWithStaticInitBlock?: boolean
8755
+ reportUsedIgnorePattern?: boolean
8943
8756
  })]
8944
8757
  // ----- no-use-before-define -----
8945
8758
  type NoUseBeforeDefine = []|[("nofunc" | {
@@ -8981,6 +8794,27 @@ type NodeFileExtensionInImport = []|[("always" | "never")]|[("always" | "never")
8981
8794
  }]
8982
8795
  // ----- node/handle-callback-err -----
8983
8796
  type NodeHandleCallbackErr = []|[string]
8797
+ // ----- node/hashbang -----
8798
+ type NodeHashbang = []|[{
8799
+ convertPath?: ({
8800
+
8801
+ [k: string]: [string, string]
8802
+ } | [{
8803
+
8804
+ include: [string, ...(string)[]]
8805
+ exclude?: string[]
8806
+
8807
+ replace: [string, string]
8808
+ }, ...({
8809
+
8810
+ include: [string, ...(string)[]]
8811
+ exclude?: string[]
8812
+
8813
+ replace: [string, string]
8814
+ })[]])
8815
+ ignoreUnpublished?: boolean
8816
+ additionalExecutables?: string[]
8817
+ }]
8984
8818
  // ----- node/no-deprecated-api -----
8985
8819
  type NodeNoDeprecatedApi = []|[{
8986
8820
  version?: string
@@ -9041,8 +8875,9 @@ type NodeNoHideCoreModules = []|[{
9041
8875
  type NodeNoMissingImport = []|[{
9042
8876
  allowModules?: string[]
9043
8877
  resolvePaths?: string[]
9044
- typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
8878
+ tryExtensions?: string[]
9045
8879
  tsconfigPath?: string
8880
+ typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
9046
8881
  }]
9047
8882
  // ----- node/no-missing-require -----
9048
8883
  type NodeNoMissingRequire = []|[{
@@ -9135,25 +8970,20 @@ type NodeNoUnpublishedRequire = []|[{
9135
8970
  resolvePaths?: string[]
9136
8971
  tryExtensions?: string[]
9137
8972
  }]
9138
- // ----- node/no-unsupported-features -----
9139
- type NodeNoUnsupportedFeatures = []|[((0.1 | 0.12 | 4 | 5 | 6 | 6.5 | 7 | 7.6 | 8 | 8.3 | 9 | 10) | string | {
9140
- version?: ((0.1 | 0.12 | 4 | 5 | 6 | 6.5 | 7 | 7.6 | 8 | 8.3 | 9 | 10) | string)
9141
- ignores?: ("syntax" | "defaultParameters" | "restParameters" | "spreadOperators" | "objectLiteralExtensions" | "objectPropertyShorthandOfGetSet" | "forOf" | "binaryNumberLiterals" | "octalNumberLiterals" | "templateStrings" | "regexpY" | "regexpU" | "destructuring" | "unicodeCodePointEscapes" | "new.target" | "const" | "let" | "blockScopedFunctions" | "arrowFunctions" | "generatorFunctions" | "classes" | "modules" | "exponentialOperators" | "asyncAwait" | "trailingCommasInFunctions" | "templateLiteralRevision" | "regexpS" | "regexpNamedCaptureGroups" | "regexpLookbehind" | "regexpUnicodeProperties" | "restProperties" | "spreadProperties" | "asyncGenerators" | "forAwaitOf" | "runtime" | "globalObjects" | "typedArrays" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "DataView" | "Map" | "Set" | "WeakMap" | "WeakSet" | "Proxy" | "Reflect" | "Promise" | "Symbol" | "SharedArrayBuffer" | "Atomics" | "staticMethods" | "Object.*" | "Object.assign" | "Object.is" | "Object.getOwnPropertySymbols" | "Object.setPrototypeOf" | "Object.values" | "Object.entries" | "Object.getOwnPropertyDescriptors" | "String.*" | "String.raw" | "String.fromCodePoint" | "Array.*" | "Array.from" | "Array.of" | "Number.*" | "Number.isFinite" | "Number.isInteger" | "Number.isSafeInteger" | "Number.isNaN" | "Number.EPSILON" | "Number.MIN_SAFE_INTEGER" | "Number.MAX_SAFE_INTEGER" | "Math.*" | "Math.clz32" | "Math.imul" | "Math.sign" | "Math.log10" | "Math.log2" | "Math.log1p" | "Math.expm1" | "Math.cosh" | "Math.sinh" | "Math.tanh" | "Math.acosh" | "Math.asinh" | "Math.atanh" | "Math.trunc" | "Math.fround" | "Math.cbrt" | "Math.hypot" | "Symbol.*" | "Symbol.hasInstance" | "Symbol.isConcatSpreadablec" | "Symbol.iterator" | "Symbol.species" | "Symbol.replace" | "Symbol.search" | "Symbol.split" | "Symbol.match" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "Atomics.*" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.wait" | "Atomics.wake" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.xor" | "extends" | "extendsArray" | "extendsRegExp" | "extendsFunction" | "extendsPromise" | "extendsBoolean" | "extendsNumber" | "extendsString" | "extendsMap" | "extendsSet" | "extendsNull")[]
9142
- })]
9143
8973
  // ----- node/no-unsupported-features/es-builtins -----
9144
8974
  type NodeNoUnsupportedFeaturesEsBuiltins = []|[{
9145
8975
  version?: string
9146
- ignores?: ("AggregateError" | "Array.from" | "Array.of" | "BigInt" | "FinalizationRegistry" | "Map" | "Math.acosh" | "Math.asinh" | "Math.atanh" | "Math.cbrt" | "Math.clz32" | "Math.cosh" | "Math.expm1" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.sign" | "Math.sinh" | "Math.tanh" | "Math.trunc" | "Number.EPSILON" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.MAX_SAFE_INTEGER" | "Number.MIN_SAFE_INTEGER" | "Number.parseFloat" | "Number.parseInt" | "Object.assign" | "Object.fromEntries" | "Object.getOwnPropertySymbols" | "Object.is" | "Object.setPrototypeOf" | "Object.values" | "Object.entries" | "Object.getOwnPropertyDescriptors" | "Promise" | "Promise.allSettled" | "Promise.any" | "Proxy" | "Reflect" | "Set" | "String.fromCodePoint" | "String.raw" | "Symbol" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "BigInt64Array" | "BigUint64Array" | "Float32Array" | "Float64Array" | "DataView" | "WeakMap" | "WeakRef" | "WeakSet" | "Atomics" | "SharedArrayBuffer" | "globalThis")[]
8976
+ ignores?: ("AggregateError" | "Array" | "Array.from" | "Array.isArray" | "Array.length" | "Array.of" | "Array.toLocaleString" | "ArrayBuffer" | "ArrayBuffer.isView" | "Atomics" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.notify" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.wait" | "Atomics.waitAsync" | "Atomics.xor" | "BigInt" | "BigInt.asIntN" | "BigInt.asUintN" | "BigInt64Array" | "BigInt64Array.BYTES_PER_ELEMENT" | "BigInt64Array.from" | "BigInt64Array.name" | "BigInt64Array.of" | "BigUint64Array" | "BigUint64Array.BYTES_PER_ELEMENT" | "BigUint64Array.from" | "BigUint64Array.name" | "BigUint64Array.of" | "Boolean" | "DataView" | "Date" | "Date.UTC" | "Date.now" | "Date.parse" | "Date.toLocaleDateString" | "Date.toLocaleString" | "Date.toLocaleTimeString" | "Error" | "Error.cause" | "EvalError" | "FinalizationRegistry" | "Float32Array" | "Float32Array.BYTES_PER_ELEMENT" | "Float32Array.from" | "Float32Array.name" | "Float32Array.of" | "Float64Array" | "Float64Array.BYTES_PER_ELEMENT" | "Float64Array.from" | "Float64Array.name" | "Float64Array.of" | "Function" | "Function.length" | "Function.name" | "Infinity" | "Int16Array" | "Int16Array.BYTES_PER_ELEMENT" | "Int16Array.from" | "Int16Array.name" | "Int16Array.of" | "Int32Array" | "Int32Array.BYTES_PER_ELEMENT" | "Int32Array.from" | "Int32Array.name" | "Int32Array.of" | "Int8Array" | "Int8Array.BYTES_PER_ELEMENT" | "Int8Array.from" | "Int8Array.name" | "Int8Array.of" | "Intl" | "Intl.Collator" | "Intl.DateTimeFormat" | "Intl.DisplayNames" | "Intl.ListFormat" | "Intl.Locale" | "Intl.NumberFormat" | "Intl.PluralRules" | "Intl.RelativeTimeFormat" | "Intl.Segmenter" | "Intl.Segments" | "Intl.getCanonicalLocales" | "Intl.supportedValuesOf" | "JSON" | "JSON.parse" | "JSON.stringify" | "Map" | "Map.groupBy" | "Math" | "Math.E" | "Math.LN10" | "Math.LN2" | "Math.LOG10E" | "Math.LOG2E" | "Math.PI" | "Math.SQRT1_2" | "Math.SQRT2" | "Math.abs" | "Math.acos" | "Math.acosh" | "Math.asin" | "Math.asinh" | "Math.atan" | "Math.atan2" | "Math.atanh" | "Math.cbrt" | "Math.ceil" | "Math.clz32" | "Math.cos" | "Math.cosh" | "Math.exp" | "Math.expm1" | "Math.floor" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.max" | "Math.min" | "Math.pow" | "Math.random" | "Math.round" | "Math.sign" | "Math.sin" | "Math.sinh" | "Math.sqrt" | "Math.tan" | "Math.tanh" | "Math.trunc" | "NaN" | "Number.EPSILON" | "Number.MAX_SAFE_INTEGER" | "Number.MAX_VALUE" | "Number.MIN_SAFE_INTEGER" | "Number.MIN_VALUE" | "Number.NEGATIVE_INFINITY" | "Number.NaN" | "Number.POSITIVE_INFINITY" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.parseFloat" | "Number.parseInt" | "Number.toLocaleString" | "Object.assign" | "Object.create" | "Object.defineGetter" | "Object.defineProperties" | "Object.defineProperty" | "Object.defineSetter" | "Object.entries" | "Object.freeze" | "Object.fromEntries" | "Object.getOwnPropertyDescriptor" | "Object.getOwnPropertyDescriptors" | "Object.getOwnPropertyNames" | "Object.getOwnPropertySymbols" | "Object.getPrototypeOf" | "Object.groupBy" | "Object.hasOwn" | "Object.is" | "Object.isExtensible" | "Object.isFrozen" | "Object.isSealed" | "Object.keys" | "Object.lookupGetter" | "Object.lookupSetter" | "Object.preventExtensions" | "Object.proto" | "Object.seal" | "Object.setPrototypeOf" | "Object.values" | "Promise" | "Promise.all" | "Promise.allSettled" | "Promise.any" | "Promise.race" | "Promise.reject" | "Promise.resolve" | "Proxy" | "Proxy.revocable" | "RangeError" | "ReferenceError" | "Reflect" | "Reflect.apply" | "Reflect.construct" | "Reflect.defineProperty" | "Reflect.deleteProperty" | "Reflect.get" | "Reflect.getOwnPropertyDescriptor" | "Reflect.getPrototypeOf" | "Reflect.has" | "Reflect.isExtensible" | "Reflect.ownKeys" | "Reflect.preventExtensions" | "Reflect.set" | "Reflect.setPrototypeOf" | "RegExp" | "RegExp.dotAll" | "RegExp.hasIndices" | "RegExp.input" | "RegExp.lastIndex" | "RegExp.lastMatch" | "RegExp.lastParen" | "RegExp.leftContext" | "RegExp.n" | "RegExp.rightContext" | "Set" | "SharedArrayBuffer" | "String" | "String.fromCharCode" | "String.fromCodePoint" | "String.length" | "String.localeCompare" | "String.raw" | "String.toLocaleLowerCase" | "String.toLocaleUpperCase" | "Symbol" | "Symbol.asyncIterator" | "Symbol.for" | "Symbol.hasInstance" | "Symbol.isConcatSpreadable" | "Symbol.iterator" | "Symbol.keyFor" | "Symbol.match" | "Symbol.matchAll" | "Symbol.replace" | "Symbol.search" | "Symbol.species" | "Symbol.split" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "SyntaxError" | "TypeError" | "URIError" | "Uint16Array" | "Uint16Array.BYTES_PER_ELEMENT" | "Uint16Array.from" | "Uint16Array.name" | "Uint16Array.of" | "Uint32Array" | "Uint32Array.BYTES_PER_ELEMENT" | "Uint32Array.from" | "Uint32Array.name" | "Uint32Array.of" | "Uint8Array" | "Uint8Array.BYTES_PER_ELEMENT" | "Uint8Array.from" | "Uint8Array.name" | "Uint8Array.of" | "Uint8ClampedArray" | "Uint8ClampedArray.BYTES_PER_ELEMENT" | "Uint8ClampedArray.from" | "Uint8ClampedArray.name" | "Uint8ClampedArray.of" | "WeakMap" | "WeakRef" | "WeakSet" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "eval" | "globalThis" | "isFinite" | "isNaN" | "parseFloat" | "parseInt" | "unescape" | "AbortController" | "AbortSignal" | "AbortSignal.abort" | "AbortSignal.any" | "AbortSignal.timeout" | "Blob" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CompressionStream" | "CountQueuingStrategy" | "Crypto" | "CryptoKey" | "CustomEvent" | "DOMException" | "DecompressionStream" | "Event" | "EventTarget" | "FormData" | "Headers" | "MessageChannel" | "MessageEvent" | "MessagePort" | "Performance" | "PerformanceEntry" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceObserver" | "PerformanceObserver.supportedEntryTypes" | "PerformanceObserverEntryList" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStream.from" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "Request" | "Response" | "SubtleCrypto" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TransformStream" | "TransformStreamDefaultController" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "Worker" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "console" | "console.assert" | "console.clear" | "console.countReset" | "console.count" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.groupCollapsed" | "console.groupEnd" | "console.group" | "console.info" | "console.log" | "console.table" | "console.timeEnd" | "console.timeLog" | "console.time" | "console.trace" | "console.warn" | "fetch" | "queueMicrotask" | "setInterval" | "setTimeout" | "structuredClone")[]
9147
8977
  }]
9148
8978
  // ----- node/no-unsupported-features/es-syntax -----
9149
8979
  type NodeNoUnsupportedFeaturesEsSyntax = []|[{
9150
8980
  version?: string
9151
- ignores?: ("arrowFunctions" | "binaryNumericLiterals" | "blockScopedFunctions" | "blockScopedVariables" | "classes" | "computedProperties" | "defaultParameters" | "destructuring" | "forOfLoops" | "generators" | "modules" | "new.target" | "objectSuperProperties" | "octalNumericLiterals" | "propertyShorthands" | "regexpU" | "regexpY" | "restParameters" | "spreadElements" | "templateLiterals" | "unicodeCodePointEscapes" | "exponentialOperators" | "asyncFunctions" | "trailingCommasInFunctions" | "asyncIteration" | "malformedTemplateLiterals" | "regexpLookbehind" | "regexpNamedCaptureGroups" | "regexpS" | "regexpUnicodeProperties" | "restSpreadProperties" | "jsonSuperset" | "optionalCatchBinding" | "bigint" | "dynamicImport" | "optionalChaining" | "nullishCoalescingOperators" | "logicalAssignmentOperators" | "numericSeparators")[]
8981
+ ignores?: ("no-accessor-properties" | "accessor-properties" | "accessorProperties" | "no-arbitrary-module-namespace-names" | "arbitrary-module-namespace-names" | "arbitraryModuleNamespaceNames" | "no-array-from" | "array-from" | "arrayFrom" | "no-array-isarray" | "array-isarray" | "arrayIsarray" | "no-array-of" | "array-of" | "arrayOf" | "no-array-prototype-copywithin" | "array-prototype-copywithin" | "arrayPrototypeCopywithin" | "no-array-prototype-entries" | "array-prototype-entries" | "arrayPrototypeEntries" | "no-array-prototype-every" | "array-prototype-every" | "arrayPrototypeEvery" | "no-array-prototype-fill" | "array-prototype-fill" | "arrayPrototypeFill" | "no-array-prototype-filter" | "array-prototype-filter" | "arrayPrototypeFilter" | "no-array-prototype-find" | "array-prototype-find" | "arrayPrototypeFind" | "no-array-prototype-findindex" | "array-prototype-findindex" | "arrayPrototypeFindindex" | "no-array-prototype-findlast-findlastindex" | "array-prototype-findlast-findlastindex" | "arrayPrototypeFindlastFindlastindex" | "no-array-prototype-flat" | "array-prototype-flat" | "arrayPrototypeFlat" | "no-array-prototype-foreach" | "array-prototype-foreach" | "arrayPrototypeForeach" | "no-array-prototype-includes" | "array-prototype-includes" | "arrayPrototypeIncludes" | "no-array-prototype-indexof" | "array-prototype-indexof" | "arrayPrototypeIndexof" | "no-array-prototype-keys" | "array-prototype-keys" | "arrayPrototypeKeys" | "no-array-prototype-lastindexof" | "array-prototype-lastindexof" | "arrayPrototypeLastindexof" | "no-array-prototype-map" | "array-prototype-map" | "arrayPrototypeMap" | "no-array-prototype-reduce" | "array-prototype-reduce" | "arrayPrototypeReduce" | "no-array-prototype-reduceright" | "array-prototype-reduceright" | "arrayPrototypeReduceright" | "no-array-prototype-some" | "array-prototype-some" | "arrayPrototypeSome" | "no-array-prototype-toreversed" | "array-prototype-toreversed" | "arrayPrototypeToreversed" | "no-array-prototype-tosorted" | "array-prototype-tosorted" | "arrayPrototypeTosorted" | "no-array-prototype-tospliced" | "array-prototype-tospliced" | "arrayPrototypeTospliced" | "no-array-prototype-values" | "array-prototype-values" | "arrayPrototypeValues" | "no-array-prototype-with" | "array-prototype-with" | "arrayPrototypeWith" | "no-array-string-prototype-at" | "array-string-prototype-at" | "arrayStringPrototypeAt" | "no-arrow-functions" | "arrow-functions" | "arrowFunctions" | "no-async-functions" | "async-functions" | "asyncFunctions" | "no-async-iteration" | "async-iteration" | "asyncIteration" | "no-atomics-waitasync" | "atomics-waitasync" | "atomicsWaitasync" | "no-atomics" | "atomics" | "no-bigint" | "bigint" | "no-binary-numeric-literals" | "binary-numeric-literals" | "binaryNumericLiterals" | "no-block-scoped-functions" | "block-scoped-functions" | "blockScopedFunctions" | "no-block-scoped-variables" | "block-scoped-variables" | "blockScopedVariables" | "no-class-fields" | "class-fields" | "classFields" | "no-class-static-block" | "class-static-block" | "classStaticBlock" | "no-classes" | "classes" | "no-computed-properties" | "computed-properties" | "computedProperties" | "no-date-now" | "date-now" | "dateNow" | "no-date-prototype-getyear-setyear" | "date-prototype-getyear-setyear" | "datePrototypeGetyearSetyear" | "no-date-prototype-togmtstring" | "date-prototype-togmtstring" | "datePrototypeTogmtstring" | "no-default-parameters" | "default-parameters" | "defaultParameters" | "no-destructuring" | "destructuring" | "no-dynamic-import" | "dynamic-import" | "dynamicImport" | "no-error-cause" | "error-cause" | "errorCause" | "no-escape-unescape" | "escape-unescape" | "escapeUnescape" | "no-exponential-operators" | "exponential-operators" | "exponentialOperators" | "no-export-ns-from" | "export-ns-from" | "exportNsFrom" | "no-for-of-loops" | "for-of-loops" | "forOfLoops" | "no-function-declarations-in-if-statement-clauses-without-block" | "function-declarations-in-if-statement-clauses-without-block" | "functionDeclarationsInIfStatementClausesWithoutBlock" | "no-function-prototype-bind" | "function-prototype-bind" | "functionPrototypeBind" | "no-generators" | "generators" | "no-global-this" | "global-this" | "globalThis" | "no-hashbang" | "hashbang" | "no-import-meta" | "import-meta" | "importMeta" | "no-initializers-in-for-in" | "initializers-in-for-in" | "initializersInForIn" | "no-intl-datetimeformat-prototype-formatrange" | "intl-datetimeformat-prototype-formatrange" | "intlDatetimeformatPrototypeFormatrange" | "no-intl-datetimeformat-prototype-formattoparts" | "intl-datetimeformat-prototype-formattoparts" | "intlDatetimeformatPrototypeFormattoparts" | "no-intl-displaynames" | "intl-displaynames" | "intlDisplaynames" | "no-intl-getcanonicallocales" | "intl-getcanonicallocales" | "intlGetcanonicallocales" | "no-intl-listformat" | "intl-listformat" | "intlListformat" | "no-intl-locale" | "intl-locale" | "intlLocale" | "no-intl-numberformat-prototype-formatrange" | "intl-numberformat-prototype-formatrange" | "intlNumberformatPrototypeFormatrange" | "no-intl-numberformat-prototype-formatrangetoparts" | "intl-numberformat-prototype-formatrangetoparts" | "intlNumberformatPrototypeFormatrangetoparts" | "no-intl-numberformat-prototype-formattoparts" | "intl-numberformat-prototype-formattoparts" | "intlNumberformatPrototypeFormattoparts" | "no-intl-pluralrules-prototype-selectrange" | "intl-pluralrules-prototype-selectrange" | "intlPluralrulesPrototypeSelectrange" | "no-intl-pluralrules" | "intl-pluralrules" | "intlPluralrules" | "no-intl-relativetimeformat" | "intl-relativetimeformat" | "intlRelativetimeformat" | "no-intl-segmenter" | "intl-segmenter" | "intlSegmenter" | "no-intl-supportedvaluesof" | "intl-supportedvaluesof" | "intlSupportedvaluesof" | "no-json-superset" | "json-superset" | "jsonSuperset" | "no-json" | "json" | "no-keyword-properties" | "keyword-properties" | "keywordProperties" | "no-labelled-function-declarations" | "labelled-function-declarations" | "labelledFunctionDeclarations" | "no-legacy-object-prototype-accessor-methods" | "legacy-object-prototype-accessor-methods" | "legacyObjectPrototypeAccessorMethods" | "no-logical-assignment-operators" | "logical-assignment-operators" | "logicalAssignmentOperators" | "no-malformed-template-literals" | "malformed-template-literals" | "malformedTemplateLiterals" | "no-map" | "map" | "no-math-acosh" | "math-acosh" | "mathAcosh" | "no-math-asinh" | "math-asinh" | "mathAsinh" | "no-math-atanh" | "math-atanh" | "mathAtanh" | "no-math-cbrt" | "math-cbrt" | "mathCbrt" | "no-math-clz32" | "math-clz32" | "mathClz32" | "no-math-cosh" | "math-cosh" | "mathCosh" | "no-math-expm1" | "math-expm1" | "mathExpm1" | "no-math-fround" | "math-fround" | "mathFround" | "no-math-hypot" | "math-hypot" | "mathHypot" | "no-math-imul" | "math-imul" | "mathImul" | "no-math-log10" | "math-log10" | "mathLog10" | "no-math-log1p" | "math-log1p" | "mathLog1p" | "no-math-log2" | "math-log2" | "mathLog2" | "no-math-sign" | "math-sign" | "mathSign" | "no-math-sinh" | "math-sinh" | "mathSinh" | "no-math-tanh" | "math-tanh" | "mathTanh" | "no-math-trunc" | "math-trunc" | "mathTrunc" | "no-modules" | "modules" | "no-new-target" | "new-target" | "newTarget" | "new.target" | "no-nullish-coalescing-operators" | "nullish-coalescing-operators" | "nullishCoalescingOperators" | "no-number-epsilon" | "number-epsilon" | "numberEpsilon" | "no-number-isfinite" | "number-isfinite" | "numberIsfinite" | "no-number-isinteger" | "number-isinteger" | "numberIsinteger" | "no-number-isnan" | "number-isnan" | "numberIsnan" | "no-number-issafeinteger" | "number-issafeinteger" | "numberIssafeinteger" | "no-number-maxsafeinteger" | "number-maxsafeinteger" | "numberMaxsafeinteger" | "no-number-minsafeinteger" | "number-minsafeinteger" | "numberMinsafeinteger" | "no-number-parsefloat" | "number-parsefloat" | "numberParsefloat" | "no-number-parseint" | "number-parseint" | "numberParseint" | "no-numeric-separators" | "numeric-separators" | "numericSeparators" | "no-object-assign" | "object-assign" | "objectAssign" | "no-object-create" | "object-create" | "objectCreate" | "no-object-defineproperties" | "object-defineproperties" | "objectDefineproperties" | "no-object-defineproperty" | "object-defineproperty" | "objectDefineproperty" | "no-object-entries" | "object-entries" | "objectEntries" | "no-object-freeze" | "object-freeze" | "objectFreeze" | "no-object-fromentries" | "object-fromentries" | "objectFromentries" | "no-object-getownpropertydescriptor" | "object-getownpropertydescriptor" | "objectGetownpropertydescriptor" | "no-object-getownpropertydescriptors" | "object-getownpropertydescriptors" | "objectGetownpropertydescriptors" | "no-object-getownpropertynames" | "object-getownpropertynames" | "objectGetownpropertynames" | "no-object-getownpropertysymbols" | "object-getownpropertysymbols" | "objectGetownpropertysymbols" | "no-object-getprototypeof" | "object-getprototypeof" | "objectGetprototypeof" | "no-object-hasown" | "object-hasown" | "objectHasown" | "no-object-is" | "object-is" | "objectIs" | "no-object-isextensible" | "object-isextensible" | "objectIsextensible" | "no-object-isfrozen" | "object-isfrozen" | "objectIsfrozen" | "no-object-issealed" | "object-issealed" | "objectIssealed" | "no-object-keys" | "object-keys" | "objectKeys" | "no-object-map-groupby" | "object-map-groupby" | "objectMapGroupby" | "no-object-preventextensions" | "object-preventextensions" | "objectPreventextensions" | "no-object-seal" | "object-seal" | "objectSeal" | "no-object-setprototypeof" | "object-setprototypeof" | "objectSetprototypeof" | "no-object-super-properties" | "object-super-properties" | "objectSuperProperties" | "no-object-values" | "object-values" | "objectValues" | "no-octal-numeric-literals" | "octal-numeric-literals" | "octalNumericLiterals" | "no-optional-catch-binding" | "optional-catch-binding" | "optionalCatchBinding" | "no-optional-chaining" | "optional-chaining" | "optionalChaining" | "no-private-in" | "private-in" | "privateIn" | "no-promise-all-settled" | "promise-all-settled" | "promiseAllSettled" | "no-promise-any" | "promise-any" | "promiseAny" | "no-promise-prototype-finally" | "promise-prototype-finally" | "promisePrototypeFinally" | "no-promise-withresolvers" | "promise-withresolvers" | "promiseWithresolvers" | "no-promise" | "promise" | "no-property-shorthands" | "property-shorthands" | "propertyShorthands" | "no-proxy" | "proxy" | "no-reflect" | "reflect" | "no-regexp-d-flag" | "regexp-d-flag" | "regexpDFlag" | "no-regexp-lookbehind-assertions" | "regexp-lookbehind-assertions" | "regexpLookbehindAssertions" | "regexpLookbehind" | "no-regexp-named-capture-groups" | "regexp-named-capture-groups" | "regexpNamedCaptureGroups" | "no-regexp-prototype-compile" | "regexp-prototype-compile" | "regexpPrototypeCompile" | "no-regexp-prototype-flags" | "regexp-prototype-flags" | "regexpPrototypeFlags" | "no-regexp-s-flag" | "regexp-s-flag" | "regexpSFlag" | "regexpS" | "no-regexp-u-flag" | "regexp-u-flag" | "regexpUFlag" | "regexpU" | "no-regexp-unicode-property-escapes-2019" | "regexp-unicode-property-escapes-2019" | "regexpUnicodePropertyEscapes2019" | "no-regexp-unicode-property-escapes-2020" | "regexp-unicode-property-escapes-2020" | "regexpUnicodePropertyEscapes2020" | "no-regexp-unicode-property-escapes-2021" | "regexp-unicode-property-escapes-2021" | "regexpUnicodePropertyEscapes2021" | "no-regexp-unicode-property-escapes-2022" | "regexp-unicode-property-escapes-2022" | "regexpUnicodePropertyEscapes2022" | "no-regexp-unicode-property-escapes-2023" | "regexp-unicode-property-escapes-2023" | "regexpUnicodePropertyEscapes2023" | "no-regexp-unicode-property-escapes" | "regexp-unicode-property-escapes" | "regexpUnicodePropertyEscapes" | "regexpUnicodeProperties" | "no-regexp-v-flag" | "regexp-v-flag" | "regexpVFlag" | "no-regexp-y-flag" | "regexp-y-flag" | "regexpYFlag" | "regexpY" | "no-resizable-and-growable-arraybuffers" | "resizable-and-growable-arraybuffers" | "resizableAndGrowableArraybuffers" | "no-rest-parameters" | "rest-parameters" | "restParameters" | "no-rest-spread-properties" | "rest-spread-properties" | "restSpreadProperties" | "no-set" | "set" | "no-shadow-catch-param" | "shadow-catch-param" | "shadowCatchParam" | "no-shared-array-buffer" | "shared-array-buffer" | "sharedArrayBuffer" | "no-spread-elements" | "spread-elements" | "spreadElements" | "no-string-create-html-methods" | "string-create-html-methods" | "stringCreateHtmlMethods" | "no-string-fromcodepoint" | "string-fromcodepoint" | "stringFromcodepoint" | "no-string-prototype-codepointat" | "string-prototype-codepointat" | "stringPrototypeCodepointat" | "no-string-prototype-endswith" | "string-prototype-endswith" | "stringPrototypeEndswith" | "no-string-prototype-includes" | "string-prototype-includes" | "stringPrototypeIncludes" | "no-string-prototype-iswellformed-towellformed" | "string-prototype-iswellformed-towellformed" | "stringPrototypeIswellformedTowellformed" | "no-string-prototype-matchall" | "string-prototype-matchall" | "stringPrototypeMatchall" | "no-string-prototype-normalize" | "string-prototype-normalize" | "stringPrototypeNormalize" | "no-string-prototype-padstart-padend" | "string-prototype-padstart-padend" | "stringPrototypePadstartPadend" | "no-string-prototype-repeat" | "string-prototype-repeat" | "stringPrototypeRepeat" | "no-string-prototype-replaceall" | "string-prototype-replaceall" | "stringPrototypeReplaceall" | "no-string-prototype-startswith" | "string-prototype-startswith" | "stringPrototypeStartswith" | "no-string-prototype-substr" | "string-prototype-substr" | "stringPrototypeSubstr" | "no-string-prototype-trim" | "string-prototype-trim" | "stringPrototypeTrim" | "no-string-prototype-trimleft-trimright" | "string-prototype-trimleft-trimright" | "stringPrototypeTrimleftTrimright" | "no-string-prototype-trimstart-trimend" | "string-prototype-trimstart-trimend" | "stringPrototypeTrimstartTrimend" | "no-string-raw" | "string-raw" | "stringRaw" | "no-subclassing-builtins" | "subclassing-builtins" | "subclassingBuiltins" | "no-symbol-prototype-description" | "symbol-prototype-description" | "symbolPrototypeDescription" | "no-symbol" | "symbol" | "no-template-literals" | "template-literals" | "templateLiterals" | "no-top-level-await" | "top-level-await" | "topLevelAwait" | "no-trailing-commas" | "trailing-commas" | "trailingCommas" | "no-trailing-function-commas" | "trailing-function-commas" | "trailingFunctionCommas" | "trailingCommasInFunctions" | "no-typed-arrays" | "typed-arrays" | "typedArrays" | "no-unicode-codepoint-escapes" | "unicode-codepoint-escapes" | "unicodeCodepointEscapes" | "unicodeCodePointEscapes" | "no-weak-map" | "weak-map" | "weakMap" | "no-weak-set" | "weak-set" | "weakSet" | "no-weakrefs" | "weakrefs")[]
9152
8982
  }]
9153
8983
  // ----- node/no-unsupported-features/node-builtins -----
9154
8984
  type NodeNoUnsupportedFeaturesNodeBuiltins = []|[{
9155
8985
  version?: string
9156
- ignores?: ("queueMicrotask" | "require.resolve.paths" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.from" | "TextDecoder" | "TextEncoder" | "URL" | "URLSearchParams" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dirxml" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.table" | "console.markTimeline" | "console.profile" | "console.profileEnd" | "console.timeLog" | "console.timeStamp" | "console.timeline" | "console.timelineEnd" | "process.allowedNodeEnvironmentFlags" | "process.argv0" | "process.channel" | "process.cpuUsage" | "process.emitWarning" | "process.getegid" | "process.geteuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime.bigint" | "process.ppid" | "process.release" | "process.report" | "process.resourceUsage" | "process.setegid" | "process.seteuid" | "process.setUncaughtExceptionCaptureCallback" | "process.stdout.getColorDepth" | "process.stdout.hasColor" | "process.stderr.getColorDepth" | "process.stderr.hasColor" | "assert.strict" | "assert.strict.doesNotReject" | "assert.strict.rejects" | "assert.deepStrictEqual" | "assert.doesNotReject" | "assert.notDeepStrictEqual" | "assert.rejects" | "assert.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.AsyncLocalStorage" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.from" | "buffer.kMaxLength" | "buffer.transcode" | "buffer.constants" | "buffer.Blob" | "child_process.ChildProcess" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.ECDH" | "crypto.KeyObject" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.constants" | "crypto.fips" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.getCurves" | "crypto.getFips" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "dns.Resolver" | "dns.resolvePtr" | "dns.promises" | "events.EventEmitter.once" | "events.once" | "fs.Dirent" | "fs.copyFile" | "fs.copyFileSync" | "fs.mkdtemp" | "fs.mkdtempSync" | "fs.realpath.native" | "fs.realpathSync.native" | "fs.promises" | "fs.writev" | "fs.writevSync" | "fs.readv" | "fs.readvSync" | "fs.lutimes" | "fs.lutimesSync" | "fs.opendir" | "fs.opendirSync" | "fs.rm" | "fs.rmSync" | "fs.read" | "fs.readSync" | "fs.Dir" | "fs.StatWatcher" | "fs/promises" | "http2" | "inspector" | "module.Module.builtinModules" | "module.Module.createRequireFromPath" | "module.Module.createRequire" | "module.Module.syncBuiltinESMExports" | "module.builtinModules" | "module.createRequireFromPath" | "module.createRequire" | "module.syncBuiltinESMExports" | "os.constants" | "os.constants.priority" | "os.getPriority" | "os.homedir" | "os.setPriority" | "os.userInfo" | "path.toNamespacedPath" | "perf_hooks" | "perf_hooks.monitorEventLoopDelay" | "stream.Readable.from" | "stream.finished" | "stream.pipeline" | "trace_events" | "url.URL" | "url.URLSearchParams" | "url.domainToASCII" | "url.domainToUnicode" | "util.callbackify" | "util.formatWithOptions" | "util.getSystemErrorName" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.promisify" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isBoxedPrimitive" | "v8" | "v8.DefaultDeserializer" | "v8.DefaultSerializer" | "v8.Deserializer" | "v8.Serializer" | "v8.cachedDataVersionTag" | "v8.deserialize" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.serialize" | "v8.writeHeapSnapshot" | "vm.Module" | "vm.compileFunction" | "worker_threads")[]
8986
+ ignores?: ("queueMicrotask" | "require.resolve.paths" | "Buffer" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.byteLength" | "Buffer.compare" | "Buffer.concat" | "Buffer.copyBytesFrom" | "Buffer.from" | "Buffer.isBuffer" | "Buffer.isEncoding" | "TextDecoder" | "TextEncoder" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "console" | "console.profile" | "console.profileEnd" | "console.timeStamp" | "console.Console" | "console.assert" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.info" | "console.log" | "console.table" | "console.time" | "console.timeEnd" | "console.timeLog" | "console.trace" | "console.warn" | "process" | "process.allowedNodeEnvironmentFlags" | "process.arch" | "process.argv" | "process.argv0" | "process.channel" | "process.config" | "process.connected" | "process.debugPort" | "process.env" | "process.execArgv" | "process.execPath" | "process.exitCode" | "process.mainModule" | "process.noDeprecation" | "process.permission" | "process.pid" | "process.platform" | "process.ppid" | "process.release" | "process.report" | "process.sourceMapsEnabled" | "process.stdin" | "process.stdin.isRaw" | "process.stdin.isTTY" | "process.stdin.setRawMode" | "process.stdout" | "process.stdout.clearLine" | "process.stdout.clearScreenDown" | "process.stdout.columns" | "process.stdout.cursorTo" | "process.stdout.getColorDepth" | "process.stdout.getWindowSize" | "process.stdout.hasColors" | "process.stdout.isTTY" | "process.stdout.moveCursor" | "process.stdout.rows" | "process.stderr" | "process.stderr.clearLine" | "process.stderr.clearScreenDown" | "process.stderr.columns" | "process.stderr.cursorTo" | "process.stderr.getColorDepth" | "process.stderr.getWindowSize" | "process.stderr.hasColors" | "process.stderr.isTTY" | "process.stderr.moveCursor" | "process.stderr.rows" | "process.throwDeprecation" | "process.title" | "process.traceDeprecation" | "process.version" | "process.versions" | "process.abort" | "process.chdir" | "process.constrainedMemory" | "process.cpuUsage" | "process.cwd" | "process.disconnect" | "process.dlopen" | "process.emitWarning" | "process.exit" | "process.getActiveResourcesInfo" | "process.getegid" | "process.geteuid" | "process.getgid" | "process.getgroups" | "process.getuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime" | "process.hrtime.bigint" | "process.initgroups" | "process.kill" | "process.loadEnvFile" | "process.memoryUsage" | "process.rss" | "process.nextTick" | "process.resourceUsage" | "process.send" | "process.setegid" | "process.seteuid" | "process.setgid" | "process.setgroups" | "process.setuid" | "process.setSourceMapsEnabled" | "process.setUncaughtExceptionCaptureCallback" | "process.umask" | "process.uptime" | "assert" | "assert.assert" | "assert.deepEqual" | "assert.deepStrictEqual" | "assert.doesNotMatch" | "assert.doesNotReject" | "assert.doesNotThrow" | "assert.equal" | "assert.fail" | "assert.ifError" | "assert.match" | "assert.notDeepEqual" | "assert.notDeepStrictEqual" | "assert.notEqual" | "assert.notStrictEqual" | "assert.ok" | "assert.rejects" | "assert.strictEqual" | "assert.throws" | "assert.CallTracker" | "assert.strict" | "assert.strict.assert" | "assert.strict.deepEqual" | "assert.strict.deepStrictEqual" | "assert.strict.doesNotMatch" | "assert.strict.doesNotReject" | "assert.strict.doesNotThrow" | "assert.strict.equal" | "assert.strict.fail" | "assert.strict.ifError" | "assert.strict.match" | "assert.strict.notDeepEqual" | "assert.strict.notDeepStrictEqual" | "assert.strict.notEqual" | "assert.strict.notStrictEqual" | "assert.strict.ok" | "assert.strict.rejects" | "assert.strict.strictEqual" | "assert.strict.throws" | "assert.strict.CallTracker" | "assert/strict" | "assert/strict.assert" | "assert/strict.deepEqual" | "assert/strict.deepStrictEqual" | "assert/strict.doesNotMatch" | "assert/strict.doesNotReject" | "assert/strict.doesNotThrow" | "assert/strict.equal" | "assert/strict.fail" | "assert/strict.ifError" | "assert/strict.match" | "assert/strict.notDeepEqual" | "assert/strict.notDeepStrictEqual" | "assert/strict.notEqual" | "assert/strict.notStrictEqual" | "assert/strict.ok" | "assert/strict.rejects" | "assert/strict.strictEqual" | "assert/strict.throws" | "assert/strict.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.executionAsyncResource" | "async_hooks.executionAsyncId" | "async_hooks.triggerAsyncId" | "async_hooks.AsyncLocalStorage" | "async_hooks.AsyncLocalStorage.bind" | "async_hooks.AsyncLocalStorage.snapshot" | "async_hooks.AsyncResource" | "async_hooks.AsyncResource.bind" | "buffer" | "buffer.constants" | "buffer.INSPECT_MAX_BYTES" | "buffer.kMaxLength" | "buffer.kStringMaxLength" | "buffer.atob" | "buffer.btoa" | "buffer.isAscii" | "buffer.isUtf8" | "buffer.resolveObjectURL" | "buffer.transcode" | "buffer.SlowBuffer" | "buffer.Blob" | "buffer.Buffer" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.byteLength" | "buffer.Buffer.compare" | "buffer.Buffer.concat" | "buffer.Buffer.copyBytesFrom" | "buffer.Buffer.from" | "buffer.Buffer.isBuffer" | "buffer.Buffer.isEncoding" | "buffer.File" | "child_process" | "child_process.exec" | "child_process.execFile" | "child_process.fork" | "child_process.spawn" | "child_process.execFileSync" | "child_process.execSync" | "child_process.spawnSync" | "child_process.ChildProcess" | "cluster" | "cluster.isMaster" | "cluster.isPrimary" | "cluster.isWorker" | "cluster.schedulingPolicy" | "cluster.settings" | "cluster.worker" | "cluster.workers" | "cluster.disconnect" | "cluster.fork" | "cluster.setupMaster" | "cluster.setupPrimary" | "cluster.Worker" | "crypto" | "crypto.constants" | "crypto.fips" | "crypto.webcrypto" | "crypto.webcrypto.subtle" | "crypto.webcrypto.subtle.decrypt" | "crypto.webcrypto.subtle.deriveBits" | "crypto.webcrypto.subtle.deriveKey" | "crypto.webcrypto.subtle.digest" | "crypto.webcrypto.subtle.encrypt" | "crypto.webcrypto.subtle.exportKey" | "crypto.webcrypto.subtle.generateKey" | "crypto.webcrypto.subtle.importKey" | "crypto.webcrypto.subtle.sign" | "crypto.webcrypto.subtle.unwrapKey" | "crypto.webcrypto.subtle.verify" | "crypto.webcrypto.subtle.wrapKey" | "crypto.webcrypto.getRandomValues" | "crypto.webcrypto.randomUUID" | "crypto.subtle" | "crypto.subtle.decrypt" | "crypto.subtle.deriveBits" | "crypto.subtle.deriveKey" | "crypto.subtle.digest" | "crypto.subtle.encrypt" | "crypto.subtle.exportKey" | "crypto.subtle.generateKey" | "crypto.subtle.importKey" | "crypto.subtle.sign" | "crypto.subtle.unwrapKey" | "crypto.subtle.verify" | "crypto.subtle.wrapKey" | "crypto.checkPrime" | "crypto.checkPrimeSync" | "crypto.createCipher" | "crypto.createCipheriv" | "crypto.createDecipher" | "crypto.createDecipheriv" | "crypto.createDiffieHellman" | "crypto.createDiffieHellmanGroup" | "crypto.createECDH" | "crypto.createHash" | "crypto.createHmac" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.createSign" | "crypto.createVerify" | "crypto.diffieHellman" | "crypto.generateKey" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.generateKeySync" | "crypto.generatePrime" | "crypto.generatePrimeSync" | "crypto.getCipherInfo" | "crypto.getCiphers" | "crypto.getCurves" | "crypto.getDiffieHellman" | "crypto.getFips" | "crypto.getHashes" | "crypto.getRandomValues" | "crypto.hash" | "crypto.hkdf" | "crypto.hkdfSync" | "crypto.pbkdf2" | "crypto.pbkdf2Sync" | "crypto.privateDecrypt" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.publicEncrypt" | "crypto.randomBytes" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.randomInt" | "crypto.randomUUID" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.secureHeapUsed" | "crypto.setEngine" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "crypto.Certificate" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.Cipher" | "crypto.Decipher" | "crypto.DiffieHellman" | "crypto.DiffieHellmanGroup" | "crypto.ECDH" | "crypto.ECDH.convertKey" | "crypto.Hash" | "crypto.Hmac" | "crypto.KeyObject" | "crypto.KeyObject.from" | "crypto.Sign" | "crypto.Verify" | "crypto.X509Certificate" | "dgram" | "dgram.createSocket" | "dgram.Socket" | "diagnostics_channel" | "diagnostics_channel.hasSubscribers" | "diagnostics_channel.channel" | "diagnostics_channel.subscribe" | "diagnostics_channel.unsubscribe" | "diagnostics_channel.tracingChannel" | "diagnostics_channel.Channel" | "diagnostics_channel.TracingChannel" | "dns" | "dns.Resolver" | "dns.getServers" | "dns.lookup" | "dns.lookupService" | "dns.resolve" | "dns.resolve4" | "dns.resolve6" | "dns.resolveAny" | "dns.resolveCname" | "dns.resolveCaa" | "dns.resolveMx" | "dns.resolveNaptr" | "dns.resolveNs" | "dns.resolvePtr" | "dns.resolveSoa" | "dns.resolveSrv" | "dns.resolveTxt" | "dns.reverse" | "dns.setDefaultResultOrder" | "dns.getDefaultResultOrder" | "dns.setServers" | "dns.promises" | "dns.promises.Resolver" | "dns.promises.cancel" | "dns.promises.getServers" | "dns.promises.lookup" | "dns.promises.lookupService" | "dns.promises.resolve" | "dns.promises.resolve4" | "dns.promises.resolve6" | "dns.promises.resolveAny" | "dns.promises.resolveCaa" | "dns.promises.resolveCname" | "dns.promises.resolveMx" | "dns.promises.resolveNaptr" | "dns.promises.resolveNs" | "dns.promises.resolvePtr" | "dns.promises.resolveSoa" | "dns.promises.resolveSrv" | "dns.promises.resolveTxt" | "dns.promises.reverse" | "dns.promises.setDefaultResultOrder" | "dns.promises.getDefaultResultOrder" | "dns.promises.setServers" | "dns/promises" | "dns/promises.Resolver" | "dns/promises.cancel" | "dns/promises.getServers" | "dns/promises.lookup" | "dns/promises.lookupService" | "dns/promises.resolve" | "dns/promises.resolve4" | "dns/promises.resolve6" | "dns/promises.resolveAny" | "dns/promises.resolveCaa" | "dns/promises.resolveCname" | "dns/promises.resolveMx" | "dns/promises.resolveNaptr" | "dns/promises.resolveNs" | "dns/promises.resolvePtr" | "dns/promises.resolveSoa" | "dns/promises.resolveSrv" | "dns/promises.resolveTxt" | "dns/promises.reverse" | "dns/promises.setDefaultResultOrder" | "dns/promises.getDefaultResultOrder" | "dns/promises.setServers" | "domain" | "domain.create" | "domain.Domain" | "events" | "events.Event" | "events.EventTarget" | "events.CustomEvent" | "events.NodeEventTarget" | "events.EventEmitter" | "events.EventEmitter.defaultMaxListeners" | "events.EventEmitter.errorMonitor" | "events.EventEmitter.captureRejections" | "events.EventEmitter.captureRejectionSymbol" | "events.EventEmitter.getEventListeners" | "events.EventEmitter.getMaxListeners" | "events.EventEmitter.once" | "events.EventEmitter.listenerCount" | "events.EventEmitter.on" | "events.EventEmitter.setMaxListeners" | "events.EventEmitter.addAbortListener" | "events.EventEmitterAsyncResource" | "events.EventEmitterAsyncResource.defaultMaxListeners" | "events.EventEmitterAsyncResource.errorMonitor" | "events.EventEmitterAsyncResource.captureRejections" | "events.EventEmitterAsyncResource.captureRejectionSymbol" | "events.EventEmitterAsyncResource.getEventListeners" | "events.EventEmitterAsyncResource.getMaxListeners" | "events.EventEmitterAsyncResource.once" | "events.EventEmitterAsyncResource.listenerCount" | "events.EventEmitterAsyncResource.on" | "events.EventEmitterAsyncResource.setMaxListeners" | "events.EventEmitterAsyncResource.addAbortListener" | "events.defaultMaxListeners" | "events.errorMonitor" | "events.captureRejections" | "events.captureRejectionSymbol" | "events.getEventListeners" | "events.getMaxListeners" | "events.once" | "events.listenerCount" | "events.on" | "events.setMaxListeners" | "events.addAbortListener" | "fs" | "fs.promises" | "fs.promises.constants" | "fs.promises.access" | "fs.promises.appendFile" | "fs.promises.chmod" | "fs.promises.chown" | "fs.promises.copyFile" | "fs.promises.cp" | "fs.promises.lchmod" | "fs.promises.lchown" | "fs.promises.lutimes" | "fs.promises.link" | "fs.promises.lstat" | "fs.promises.mkdir" | "fs.promises.mkdtemp" | "fs.promises.open" | "fs.promises.opendir" | "fs.promises.readdir" | "fs.promises.readFile" | "fs.promises.readlink" | "fs.promises.realpath" | "fs.promises.rename" | "fs.promises.rmdir" | "fs.promises.rm" | "fs.promises.stat" | "fs.promises.statfs" | "fs.promises.symlink" | "fs.promises.truncate" | "fs.promises.unlink" | "fs.promises.utimes" | "fs.promises.watch" | "fs.promises.writeFile" | "fs.promises.FileHandle" | "fs.access" | "fs.appendFile" | "fs.chmod" | "fs.chown" | "fs.close" | "fs.copyFile" | "fs.cp" | "fs.createReadStream" | "fs.createWriteStream" | "fs.exists" | "fs.fchmod" | "fs.fchown" | "fs.fdatasync" | "fs.fstat" | "fs.fsync" | "fs.ftruncate" | "fs.futimes" | "fs.lchmod" | "fs.lchown" | "fs.lutimes" | "fs.link" | "fs.lstat" | "fs.mkdir" | "fs.mkdtemp" | "fs.open" | "fs.openAsBlob" | "fs.opendir" | "fs.read" | "fs.readdir" | "fs.readFile" | "fs.readlink" | "fs.readv" | "fs.realpath" | "fs.realpath.native" | "fs.native" | "fs.rename" | "fs.rmdir" | "fs.rm" | "fs.stat" | "fs.statfs" | "fs.symlink" | "fs.truncate" | "fs.unlink" | "fs.unwatchFile" | "fs.utimes" | "fs.watch" | "fs.watchFile" | "fs.write" | "fs.writeFile" | "fs.writev" | "fs.accessSync" | "fs.appendFileSync" | "fs.chmodSync" | "fs.chownSync" | "fs.closeSync" | "fs.copyFileSync" | "fs.cpSync" | "fs.existsSync" | "fs.fchmodSync" | "fs.fchownSync" | "fs.fdatasyncSync" | "fs.fstatSync" | "fs.fsyncSync" | "fs.ftruncateSync" | "fs.futimesSync" | "fs.lchmodSync" | "fs.lchownSync" | "fs.lutimesSync" | "fs.linkSync" | "fs.lstatSync" | "fs.mkdirSync" | "fs.mkdtempSync" | "fs.opendirSync" | "fs.openSync" | "fs.readdirSync" | "fs.readFileSync" | "fs.readlinkSync" | "fs.readSync" | "fs.readvSync" | "fs.realpathSync" | "fs.realpathSync.native" | "fs.renameSync" | "fs.rmdirSync" | "fs.rmSync" | "fs.statSync" | "fs.statfsSync" | "fs.symlinkSync" | "fs.truncateSync" | "fs.unlinkSync" | "fs.utimesSync" | "fs.writeFileSync" | "fs.writeSync" | "fs.writevSync" | "fs.constants" | "fs.Dir" | "fs.Dirent" | "fs.FSWatcher" | "fs.StatWatcher" | "fs.ReadStream" | "fs.Stats" | "fs.StatFs" | "fs.WriteStream" | "fs.common_objects" | "fs/promises" | "fs/promises.constants" | "fs/promises.access" | "fs/promises.appendFile" | "fs/promises.chmod" | "fs/promises.chown" | "fs/promises.copyFile" | "fs/promises.cp" | "fs/promises.lchmod" | "fs/promises.lchown" | "fs/promises.lutimes" | "fs/promises.link" | "fs/promises.lstat" | "fs/promises.mkdir" | "fs/promises.mkdtemp" | "fs/promises.open" | "fs/promises.opendir" | "fs/promises.readdir" | "fs/promises.readFile" | "fs/promises.readlink" | "fs/promises.realpath" | "fs/promises.rename" | "fs/promises.rmdir" | "fs/promises.rm" | "fs/promises.stat" | "fs/promises.statfs" | "fs/promises.symlink" | "fs/promises.truncate" | "fs/promises.unlink" | "fs/promises.utimes" | "fs/promises.watch" | "fs/promises.writeFile" | "fs/promises.FileHandle" | "http2" | "http2.constants" | "http2.sensitiveHeaders" | "http2.createServer" | "http2.createSecureServer" | "http2.connect" | "http2.getDefaultSettings" | "http2.getPackedSettings" | "http2.getUnpackedSettings" | "http2.performServerHandshake" | "http2.Http2Session" | "http2.ServerHttp2Session" | "http2.ClientHttp2Session" | "http2.Http2Stream" | "http2.ClientHttp2Stream" | "http2.ServerHttp2Stream" | "http2.Http2Server" | "http2.Http2SecureServer" | "http2.Http2ServerRequest" | "http2.Http2ServerResponse" | "http" | "http.globalAgent" | "http.createServer" | "http.get" | "http.request" | "http.Agent" | "http.Server" | "inspector" | "inspector.Session" | "inspector.console" | "inspector.close" | "inspector.open" | "inspector.url" | "inspector.waitForDebugger" | "inspector/promises" | "inspector/promises.Session" | "inspector/promises.console" | "inspector/promises.close" | "inspector/promises.open" | "inspector/promises.url" | "inspector/promises.waitForDebugger" | "module" | "module.builtinModules" | "module.createRequire" | "module.createRequireFromPath" | "module.isBuiltin" | "module.register" | "module.syncBuiltinESMExports" | "module.findSourceMap" | "module.SourceMap" | "module.Module.builtinModules" | "module.Module.createRequire" | "module.Module.createRequireFromPath" | "module.Module.isBuiltin" | "module.Module.register" | "module.Module.syncBuiltinESMExports" | "module.Module.findSourceMap" | "module.Module.SourceMap" | "net" | "net.connect" | "net.createConnection" | "net.createServer" | "net.getDefaultAutoSelectFamily" | "net.setDefaultAutoSelectFamily" | "net.getDefaultAutoSelectFamilyAttemptTimeout" | "net.setDefaultAutoSelectFamilyAttemptTimeout" | "net.isIP" | "net.isIPv4" | "net.isIPv6" | "net.BlockList" | "net.SocketAddress" | "net.Server" | "net.Socket" | "os" | "os.EOL" | "os.constants" | "os.constants.priority" | "os.devNull" | "os.availableParallelism" | "os.arch" | "os.cpus" | "os.endianness" | "os.freemem" | "os.getPriority" | "os.homedir" | "os.hostname" | "os.loadavg" | "os.machine" | "os.networkInterfaces" | "os.platform" | "os.release" | "os.setPriority" | "os.tmpdir" | "os.totalmem" | "os.type" | "os.uptime" | "os.userInfo" | "os.version" | "path" | "path.posix" | "path.posix.delimiter" | "path.posix.sep" | "path.posix.basename" | "path.posix.dirname" | "path.posix.extname" | "path.posix.format" | "path.posix.isAbsolute" | "path.posix.join" | "path.posix.normalize" | "path.posix.parse" | "path.posix.relative" | "path.posix.resolve" | "path.posix.toNamespacedPath" | "path.win32" | "path.win32.delimiter" | "path.win32.sep" | "path.win32.basename" | "path.win32.dirname" | "path.win32.extname" | "path.win32.format" | "path.win32.isAbsolute" | "path.win32.join" | "path.win32.normalize" | "path.win32.parse" | "path.win32.relative" | "path.win32.resolve" | "path.win32.toNamespacedPath" | "path.delimiter" | "path.sep" | "path.basename" | "path.dirname" | "path.extname" | "path.format" | "path.isAbsolute" | "path.join" | "path.normalize" | "path.parse" | "path.relative" | "path.resolve" | "path.toNamespacedPath" | "path/posix" | "path/posix.delimiter" | "path/posix.sep" | "path/posix.basename" | "path/posix.dirname" | "path/posix.extname" | "path/posix.format" | "path/posix.isAbsolute" | "path/posix.join" | "path/posix.normalize" | "path/posix.parse" | "path/posix.relative" | "path/posix.resolve" | "path/posix.toNamespacedPath" | "path/win32" | "path/win32.delimiter" | "path/win32.sep" | "path/win32.basename" | "path/win32.dirname" | "path/win32.extname" | "path/win32.format" | "path/win32.isAbsolute" | "path/win32.join" | "path/win32.normalize" | "path/win32.parse" | "path/win32.relative" | "path/win32.resolve" | "path/win32.toNamespacedPath" | "perf_hooks" | "perf_hooks.performance" | "perf_hooks.createHistogram" | "perf_hooks.monitorEventLoopDelay" | "perf_hooks.PerformanceEntry" | "perf_hooks.PerformanceMark" | "perf_hooks.PerformanceMeasure" | "perf_hooks.PerformanceNodeEntry" | "perf_hooks.PerformanceNodeTiming" | "perf_hooks.PerformanceResourceTiming" | "perf_hooks.PerformanceObserver" | "perf_hooks.PerformanceObserverEntryList" | "perf_hooks.Histogram" | "perf_hooks.IntervalHistogram" | "perf_hooks.RecordableHistogram" | "punycode" | "punycode.ucs2" | "punycode.version" | "punycode.decode" | "punycode.encode" | "punycode.toASCII" | "punycode.toUnicode" | "querystring" | "querystring.decode" | "querystring.encode" | "querystring.escape" | "querystring.parse" | "querystring.stringify" | "querystring.unescape" | "readline" | "readline.promises" | "readline.promises.createInterface" | "readline.promises.Interface" | "readline.promises.Readline" | "readline.clearLine" | "readline.clearScreenDown" | "readline.createInterface" | "readline.cursorTo" | "readline.moveCursor" | "readline.Interface" | "readline.emitKeypressEvents" | "readline.InterfaceConstructor" | "readline/promises" | "readline/promises.createInterface" | "readline/promises.Interface" | "readline/promises.Readline" | "sea" | "sea.isSea" | "sea.getAsset" | "sea.getAssetAsBlob" | "sea.getRawAsset" | "sea.test.isSea" | "sea.test.getAsset" | "sea.test.getAssetAsBlob" | "sea.test.getRawAsset" | "stream" | "stream.promises" | "stream.promises.pipeline" | "stream.promises.finished" | "stream.finished" | "stream.pipeline" | "stream.compose" | "stream.Readable" | "stream.Readable.from" | "stream.Readable.isDisturbed" | "stream.Readable.fromWeb" | "stream.Readable.toWeb" | "stream.Writable" | "stream.Writable.fromWeb" | "stream.Writable.toWeb" | "stream.Duplex" | "stream.Duplex.from" | "stream.Duplex.fromWeb" | "stream.Duplex.toWeb" | "stream.Transform" | "stream.isErrored" | "stream.isReadable" | "stream.addAbortSignal" | "stream.getDefaultHighWaterMark" | "stream.setDefaultHighWaterMark" | "stream/promises.pipeline" | "stream/promises.finished" | "stream/web" | "stream/web.ReadableStream" | "stream/web.ReadableStream.from" | "stream/web.ReadableStreamDefaultReader" | "stream/web.ReadableStreamBYOBReader" | "stream/web.ReadableStreamDefaultController" | "stream/web.ReadableByteStreamController" | "stream/web.ReadableStreamBYOBRequest" | "stream/web.WritableStream" | "stream/web.WritableStreamDefaultWriter" | "stream/web.WritableStreamDefaultController" | "stream/web.TransformStream" | "stream/web.TransformStreamDefaultController" | "stream/web.ByteLengthQueuingStrategy" | "stream/web.CountQueuingStrategy" | "stream/web.TextEncoderStream" | "stream/web.TextDecoderStream" | "stream/web.CompressionStream" | "stream/web.DecompressionStream" | "stream/consumers" | "stream/consumers.arrayBuffer" | "stream/consumers.blob" | "stream/consumers.buffer" | "stream/consumers.json" | "stream/consumers.text" | "string_decoder" | "string_decoder.StringDecoder" | "test" | "test.run" | "test.skip" | "test.todo" | "test.only" | "test.describe" | "test.describe.skip" | "test.describe.todo" | "test.describe.only" | "test.it" | "test.it.skip" | "test.it.todo" | "test.it.only" | "test.before" | "test.after" | "test.beforeEach" | "test.afterEach" | "test.MockFunctionContext" | "test.MockTracker" | "test.MockTimers" | "test.TestsStream" | "test.TestContext" | "test.SuiteContext" | "test.test.run" | "test.test.skip" | "test.test.todo" | "test.test.only" | "test.test.describe" | "test.test.it" | "test.test.before" | "test.test.after" | "test.test.beforeEach" | "test.test.afterEach" | "test.test.MockFunctionContext" | "test.test.MockTracker" | "test.test.MockTimers" | "test.test.TestsStream" | "test.test.TestContext" | "test.test.SuiteContext" | "timers" | "timers.Immediate" | "timers.Timeout" | "timers.setImmediate" | "timers.clearImmediate" | "timers.setInterval" | "timers.clearInterval" | "timers.setTimeout" | "timers.clearTimeout" | "timers.promises" | "timers.promises.setTimeout" | "timers.promises.setImmediate" | "timers.promises.setInterval" | "timers.promises.scheduler.wait" | "timers.promises.scheduler.yield" | "timers/promises" | "timers/promises.setTimeout" | "timers/promises.setImmediate" | "timers/promises.setInterval" | "tls" | "tls.rootCertificates" | "tls.DEFAULT_ECDH_CURVE" | "tls.DEFAULT_MAX_VERSION" | "tls.DEFAULT_MIN_VERSION" | "tls.DEFAULT_CIPHERS" | "tls.checkServerIdentity" | "tls.connect" | "tls.createSecureContext" | "tls.createSecurePair" | "tls.createServer" | "tls.getCiphers" | "tls.SecureContext" | "tls.CryptoStream" | "tls.SecurePair" | "tls.Server" | "tls.TLSSocket" | "trace_events" | "trace_events.createTracing" | "trace_events.getEnabledCategories" | "tty" | "tty.isatty" | "tty.ReadStream" | "tty.WriteStream" | "url" | "url.domainToASCII" | "url.domainToUnicode" | "url.fileURLToPath" | "url.format" | "url.pathToFileURL" | "url.urlToHttpOptions" | "url.URL" | "url.URL.canParse" | "url.URL.createObjectURL" | "url.URL.revokeObjectURL" | "url.URLSearchParams" | "url.Url" | "util.promisify" | "util.promisify.custom" | "util.callbackify" | "util.debuglog" | "util.debug" | "util.deprecate" | "util.format" | "util.formatWithOptions" | "util.getSystemErrorName" | "util.getSystemErrorMap" | "util.inherits" | "util.inspect" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.parseArgs" | "util.parseEnv" | "util.stripVTControlCharacters" | "util.styleText" | "util.toUSVString" | "util.transferableAbortController" | "util.transferableAbortSignal" | "util.aborted" | "util.MIMEType" | "util.MIMEParams" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isExternal" | "util.types.isDate" | "util.types.isArgumentsObject" | "util.types.isBigIntObject" | "util.types.isBooleanObject" | "util.types.isNumberObject" | "util.types.isStringObject" | "util.types.isSymbolObject" | "util.types.isNativeError" | "util.types.isRegExp" | "util.types.isAsyncFunction" | "util.types.isGeneratorFunction" | "util.types.isGeneratorObject" | "util.types.isPromise" | "util.types.isMap" | "util.types.isSet" | "util.types.isMapIterator" | "util.types.isSetIterator" | "util.types.isWeakMap" | "util.types.isWeakSet" | "util.types.isArrayBuffer" | "util.types.isDataView" | "util.types.isSharedArrayBuffer" | "util.types.isProxy" | "util.types.isModuleNamespaceObject" | "util.types.isAnyArrayBuffer" | "util.types.isBoxedPrimitive" | "util.types.isArrayBufferView" | "util.types.isTypedArray" | "util.types.isUint8Array" | "util.types.isUint8ClampedArray" | "util.types.isUint16Array" | "util.types.isUint32Array" | "util.types.isInt8Array" | "util.types.isInt16Array" | "util.types.isInt32Array" | "util.types.isFloat32Array" | "util.types.isFloat64Array" | "util.types.isBigInt64Array" | "util.types.isBigUint64Array" | "util.types.isKeyObject" | "util.types.isCryptoKey" | "util.types.isWebAssemblyCompiledModule" | "util._extend" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util" | "util/types" | "util/types.isExternal" | "util/types.isDate" | "util/types.isArgumentsObject" | "util/types.isBigIntObject" | "util/types.isBooleanObject" | "util/types.isNumberObject" | "util/types.isStringObject" | "util/types.isSymbolObject" | "util/types.isNativeError" | "util/types.isRegExp" | "util/types.isAsyncFunction" | "util/types.isGeneratorFunction" | "util/types.isGeneratorObject" | "util/types.isPromise" | "util/types.isMap" | "util/types.isSet" | "util/types.isMapIterator" | "util/types.isSetIterator" | "util/types.isWeakMap" | "util/types.isWeakSet" | "util/types.isArrayBuffer" | "util/types.isDataView" | "util/types.isSharedArrayBuffer" | "util/types.isProxy" | "util/types.isModuleNamespaceObject" | "util/types.isAnyArrayBuffer" | "util/types.isBoxedPrimitive" | "util/types.isArrayBufferView" | "util/types.isTypedArray" | "util/types.isUint8Array" | "util/types.isUint8ClampedArray" | "util/types.isUint16Array" | "util/types.isUint32Array" | "util/types.isInt8Array" | "util/types.isInt16Array" | "util/types.isInt32Array" | "util/types.isFloat32Array" | "util/types.isFloat64Array" | "util/types.isBigInt64Array" | "util/types.isBigUint64Array" | "util/types.isKeyObject" | "util/types.isCryptoKey" | "util/types.isWebAssemblyCompiledModule" | "v8" | "v8.serialize" | "v8.deserialize" | "v8.Serializer" | "v8.Deserializer" | "v8.DefaultSerializer" | "v8.DefaultDeserializer" | "v8.promiseHooks" | "v8.promiseHooks.onInit" | "v8.promiseHooks.onSettled" | "v8.promiseHooks.onBefore" | "v8.promiseHooks.onAfter" | "v8.promiseHooks.createHook" | "v8.startupSnapshot" | "v8.startupSnapshot.addSerializeCallback" | "v8.startupSnapshot.addDeserializeCallback" | "v8.startupSnapshot.setDeserializeMainFunction" | "v8.startupSnapshot.isBuildingSnapshot" | "v8.cachedDataVersionTag" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.getHeapStatistics" | "v8.setFlagsFromString" | "v8.stopCoverage" | "v8.takeCoverage" | "v8.writeHeapSnapshot" | "v8.setHeapSnapshotNearHeapLimit" | "v8.GCProfiler" | "vm.constants" | "vm.compileFunction" | "vm.createContext" | "vm.isContext" | "vm.measureMemory" | "vm.runInContext" | "vm.runInNewContext" | "vm.runInThisContext" | "vm.Script" | "vm.Module" | "vm.SourceTextModule" | "vm.SyntheticModule" | "vm" | "wasi.WASI" | "wasi" | "worker_threads" | "worker_threads.isMainThread" | "worker_threads.parentPort" | "worker_threads.resourceLimits" | "worker_threads.SHARE_ENV" | "worker_threads.threadId" | "worker_threads.workerData" | "worker_threads.getEnvironmentData" | "worker_threads.markAsUntransferable" | "worker_threads.isMarkedAsUntransferable" | "worker_threads.moveMessagePortToContext" | "worker_threads.receiveMessageOnPort" | "worker_threads.setEnvironmentData" | "worker_threads.BroadcastChannel" | "worker_threads.MessageChannel" | "worker_threads.MessagePort" | "worker_threads.Worker" | "zlib.constants" | "zlib.createBrotliCompress" | "zlib.createBrotliDecompress" | "zlib.createDeflate" | "zlib.createDeflateRaw" | "zlib.createGunzip" | "zlib.createGzip" | "zlib.createInflate" | "zlib.createInflateRaw" | "zlib.createUnzip" | "zlib.brotliCompress" | "zlib.brotliCompressSync" | "zlib.brotliDecompress" | "zlib.brotliDecompressSync" | "zlib.deflate" | "zlib.deflateSync" | "zlib.deflateRaw" | "zlib.deflateRawSync" | "zlib.gunzip" | "zlib.gunzipSync" | "zlib.gzip" | "zlib.gzipSync" | "zlib.inflate" | "zlib.inflateSync" | "zlib.inflateRaw" | "zlib.inflateRawSync" | "zlib.unzip" | "zlib.unzipSync" | "zlib.BrotliCompress" | "zlib.BrotliDecompress" | "zlib.Deflate" | "zlib.DeflateRaw" | "zlib.Gunzip" | "zlib.Gzip" | "zlib.Inflate" | "zlib.InflateRaw" | "zlib.Unzip" | "zlib")[]
9157
8987
  }]
9158
8988
  // ----- node/prefer-global/buffer -----
9159
8989
  type NodePreferGlobalBuffer = []|[("always" | "never")]
@@ -9169,6 +8999,10 @@ type NodePreferGlobalTextEncoder = []|[("always" | "never")]
9169
8999
  type NodePreferGlobalUrl = []|[("always" | "never")]
9170
9000
  // ----- node/prefer-global/url-search-params -----
9171
9001
  type NodePreferGlobalUrlSearchParams = []|[("always" | "never")]
9002
+ // ----- node/prefer-node-protocol -----
9003
+ type NodePreferNodeProtocol = []|[{
9004
+ version?: string
9005
+ }]
9172
9006
  // ----- node/shebang -----
9173
9007
  type NodeShebang = []|[{
9174
9008
  convertPath?: ({
@@ -9187,6 +9021,8 @@ type NodeShebang = []|[{
9187
9021
 
9188
9022
  replace: [string, string]
9189
9023
  })[]])
9024
+ ignoreUnpublished?: boolean
9025
+ additionalExecutables?: string[]
9190
9026
  }]
9191
9027
  // ----- nonblock-statement-body-position -----
9192
9028
  type NonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
@@ -9352,6 +9188,7 @@ type PerfectionistSortInterfaces = []|[{
9352
9188
  "custom-groups"?: {
9353
9189
  [k: string]: unknown | undefined
9354
9190
  }
9191
+ "optionality-order"?: ("ignore" | "optional-first" | "required-first")
9355
9192
  type?: ("alphabetical" | "natural" | "line-length")
9356
9193
  order?: ("asc" | "desc")
9357
9194
  "ignore-case"?: boolean
@@ -9359,6 +9196,12 @@ type PerfectionistSortInterfaces = []|[{
9359
9196
  groups?: unknown[]
9360
9197
  "partition-by-new-line"?: boolean
9361
9198
  }]
9199
+ // ----- perfectionist/sort-intersection-types -----
9200
+ type PerfectionistSortIntersectionTypes = []|[{
9201
+ type?: ("alphabetical" | "natural" | "line-length")
9202
+ order?: ("asc" | "desc")
9203
+ "ignore-case"?: boolean
9204
+ }]
9362
9205
  // ----- perfectionist/sort-jsx-props -----
9363
9206
  type PerfectionistSortJsxProps = []|[{
9364
9207
  "custom-groups"?: {
@@ -9510,457 +9353,32 @@ type ReactHooksExhaustiveDeps = []|[{
9510
9353
  additionalHooks?: string
9511
9354
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
9512
9355
  }]
9513
- // ----- react-refresh/only-export-components -----
9514
- type ReactRefreshOnlyExportComponents = []|[{
9515
- allowConstantExport?: boolean
9516
- checkJS?: boolean
9517
- allowExportNames?: string[]
9518
- }]
9519
- // ----- react/boolean-prop-naming -----
9520
- type ReactBooleanPropNaming = []|[{
9521
-
9522
- propTypeNames?: [string, ...(string)[]]
9523
- rule?: string
9524
- message?: string
9525
- validateNested?: boolean
9526
- }]
9527
- // ----- react/button-has-type -----
9528
- type ReactButtonHasType = []|[{
9529
- button?: boolean
9530
- submit?: boolean
9531
- reset?: boolean
9532
- }]
9533
- // ----- react/checked-requires-onchange-or-readonly -----
9534
- type ReactCheckedRequiresOnchangeOrReadonly = []|[{
9535
- ignoreMissingProperties?: boolean
9536
- ignoreExclusiveCheckedAttribute?: boolean
9537
- }]
9538
- // ----- react/default-props-match-prop-types -----
9539
- type ReactDefaultPropsMatchPropTypes = []|[{
9540
- allowRequiredDefaults?: boolean
9541
- }]
9542
- // ----- react/destructuring-assignment -----
9543
- type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), {
9544
- ignoreClassFields?: boolean
9545
- destructureInSignature?: ("always" | "ignore")
9546
- }]
9547
- // ----- react/display-name -----
9548
- type ReactDisplayName = []|[{
9549
- ignoreTranspilerName?: boolean
9550
- checkContextObjects?: boolean
9551
- }]
9552
- // ----- react/forbid-component-props -----
9553
- type ReactForbidComponentProps = []|[{
9554
- forbid?: (string | {
9555
- propName?: string
9556
- allowedFor?: string[]
9557
- message?: string
9558
- } | {
9559
- propName?: string
9560
-
9561
- disallowedFor: [string, ...(string)[]]
9562
- message?: string
9563
- })[]
9564
- [k: string]: unknown | undefined
9565
- }]
9566
- // ----- react/forbid-dom-props -----
9567
- type ReactForbidDomProps = []|[{
9568
- forbid?: (string | {
9569
- propName?: string
9570
- disallowedFor?: string[]
9571
- message?: string
9572
- [k: string]: unknown | undefined
9573
- })[]
9574
- }]
9575
- // ----- react/forbid-elements -----
9576
- type ReactForbidElements = []|[{
9577
- forbid?: (string | {
9578
- element: string
9579
- message?: string
9580
- })[]
9581
- }]
9582
- // ----- react/forbid-foreign-prop-types -----
9583
- type ReactForbidForeignPropTypes = []|[{
9584
- allowInPropTypes?: boolean
9585
- }]
9586
- // ----- react/forbid-prop-types -----
9587
- type ReactForbidPropTypes = []|[{
9588
- forbid?: string[]
9589
- checkContextTypes?: boolean
9590
- checkChildContextTypes?: boolean
9591
- [k: string]: unknown | undefined
9592
- }]
9593
- // ----- react/function-component-definition -----
9594
- type ReactFunctionComponentDefinition = []|[{
9595
- namedComponents?: (("function-declaration" | "arrow-function" | "function-expression") | ("function-declaration" | "arrow-function" | "function-expression")[])
9596
- unnamedComponents?: (("arrow-function" | "function-expression") | ("arrow-function" | "function-expression")[])
9597
- [k: string]: unknown | undefined
9598
- }]
9599
- // ----- react/hook-use-state -----
9600
- type ReactHookUseState = []|[{
9601
- allowDestructuredState?: boolean
9602
- }]
9603
- // ----- react/jsx-boolean-value -----
9604
- type ReactJsxBooleanValue = ([]|[("always" | "never")] | []|["always"]|["always", {
9605
- never?: string[]
9606
- assumeUndefinedIsFalse?: boolean
9607
- }] | []|["never"]|["never", {
9608
- always?: string[]
9609
- assumeUndefinedIsFalse?: boolean
9610
- }])
9611
- // ----- react/jsx-closing-bracket-location -----
9612
- type ReactJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
9613
- location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
9614
- } | {
9615
- nonEmpty?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
9616
- selfClosing?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
9356
+ // ----- react-naming-convention/component-name -----
9357
+ type ReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
9358
+ excepts?: string[]
9359
+ rule?: ("PascalCase" | "CONSTANT_CASE")
9617
9360
  })]
9618
- // ----- react/jsx-curly-brace-presence -----
9619
- type ReactJsxCurlyBracePresence = []|[({
9620
- props?: ("always" | "never" | "ignore")
9621
- children?: ("always" | "never" | "ignore")
9622
- propElementValues?: ("always" | "never" | "ignore")
9623
- } | ("always" | "never" | "ignore"))]
9624
- // ----- react/jsx-curly-newline -----
9625
- type ReactJsxCurlyNewline = []|[(("consistent" | "never") | {
9626
- singleline?: ("consistent" | "require" | "forbid")
9627
- multiline?: ("consistent" | "require" | "forbid")
9361
+ // ----- react-naming-convention/filename -----
9362
+ type ReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
9363
+ excepts?: string[]
9364
+ extensions?: string[]
9365
+ rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case")
9628
9366
  })]
9629
- // ----- react/jsx-curly-spacing -----
9630
- type ReactJsxCurlySpacing = []|[((_ReactJsxCurlySpacing_BasicConfig & {
9631
- attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9632
- children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9633
- [k: string]: unknown | undefined
9634
- }) | ("always" | "never"))]|[((_ReactJsxCurlySpacing_BasicConfig & {
9635
- attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9636
- children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9637
- [k: string]: unknown | undefined
9638
- }) | ("always" | "never")), {
9639
- allowMultiline?: boolean
9640
- spacing?: {
9641
- objectLiterals?: ("always" | "never")
9642
- [k: string]: unknown | undefined
9643
- }
9644
- }]
9645
- type _ReactJsxCurlySpacingBasicConfigOrBoolean = (_ReactJsxCurlySpacing_BasicConfig | boolean)
9646
- interface _ReactJsxCurlySpacing_BasicConfig {
9647
- when?: ("always" | "never")
9648
- allowMultiline?: boolean
9649
- spacing?: {
9650
- objectLiterals?: ("always" | "never")
9651
- [k: string]: unknown | undefined
9652
- }
9653
- [k: string]: unknown | undefined
9654
- }
9655
- // ----- react/jsx-equals-spacing -----
9656
- type ReactJsxEqualsSpacing = []|[("always" | "never")]
9657
- // ----- react/jsx-filename-extension -----
9658
- type ReactJsxFilenameExtension = []|[{
9367
+ // ----- react-naming-convention/filename-extension -----
9368
+ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
9659
9369
  allow?: ("always" | "as-needed")
9660
9370
  extensions?: string[]
9661
- ignoreFilesWithoutCode?: boolean
9662
- }]
9663
- // ----- react/jsx-first-prop-new-line -----
9664
- type ReactJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
9665
- // ----- react/jsx-fragments -----
9666
- type ReactJsxFragments = []|[("syntax" | "element")]
9667
- // ----- react/jsx-handler-names -----
9668
- type ReactJsxHandlerNames = []|[({
9669
- eventHandlerPrefix?: string
9670
- eventHandlerPropPrefix?: string
9671
- checkLocalVariables?: boolean
9672
- checkInlineFunction?: boolean
9673
- } | {
9674
- eventHandlerPrefix?: string
9675
- eventHandlerPropPrefix?: false
9676
- checkLocalVariables?: boolean
9677
- checkInlineFunction?: boolean
9678
- } | {
9679
- eventHandlerPrefix?: false
9680
- eventHandlerPropPrefix?: string
9681
- checkLocalVariables?: boolean
9682
- checkInlineFunction?: boolean
9683
- } | {
9684
- checkLocalVariables?: boolean
9685
- } | {
9686
- checkInlineFunction?: boolean
9687
- })]
9688
- // ----- react/jsx-indent -----
9689
- type ReactJsxIndent = []|[("tab" | number)]|[("tab" | number), {
9690
- checkAttributes?: boolean
9691
- indentLogicalExpressions?: boolean
9692
- }]
9693
- // ----- react/jsx-indent-props -----
9694
- type ReactJsxIndentProps = []|[(("tab" | "first") | number | {
9695
- indentMode?: (("tab" | "first") | number)
9696
- ignoreTernaryOperator?: boolean
9697
- [k: string]: unknown | undefined
9698
- })]
9699
- // ----- react/jsx-key -----
9700
- type ReactJsxKey = []|[{
9701
- checkFragmentShorthand?: boolean
9702
- checkKeyMustBeforeSpread?: boolean
9703
- warnOnDuplicates?: boolean
9704
- }]
9705
- // ----- react/jsx-max-depth -----
9706
- type ReactJsxMaxDepth = []|[{
9707
- max?: number
9708
- }]
9709
- // ----- react/jsx-max-props-per-line -----
9710
- type ReactJsxMaxPropsPerLine = []|[({
9711
- maximum?: {
9712
- single?: number
9713
- multi?: number
9714
- [k: string]: unknown | undefined
9715
- }
9716
- } | {
9717
- maximum?: number
9718
- when?: ("always" | "multiline")
9719
- })]
9720
- // ----- react/jsx-newline -----
9721
- type ReactJsxNewline = []|[{
9722
- prevent?: boolean
9723
- allowMultilines?: boolean
9724
- }]
9725
- // ----- react/jsx-no-bind -----
9726
- type ReactJsxNoBind = []|[{
9727
- allowArrowFunctions?: boolean
9728
- allowBind?: boolean
9729
- allowFunctions?: boolean
9730
- ignoreRefs?: boolean
9731
- ignoreDOMComponents?: boolean
9732
- }]
9733
- // ----- react/jsx-no-constructed-context-values -----
9734
- interface ReactJsxNoConstructedContextValues {
9735
- [k: string]: unknown | undefined
9736
- }
9737
- // ----- react/jsx-no-duplicate-props -----
9738
- type ReactJsxNoDuplicateProps = []|[{
9739
- ignoreCase?: boolean
9740
- }]
9741
- // ----- react/jsx-no-leaked-render -----
9742
- type ReactJsxNoLeakedRender = []|[{
9743
- validStrategies?: ("ternary" | "coerce")[]
9744
- }]
9745
- // ----- react/jsx-no-literals -----
9746
- type ReactJsxNoLiterals = []|[{
9747
- noStrings?: boolean
9748
- allowedStrings?: string[]
9749
- ignoreProps?: boolean
9750
- noAttributeStrings?: boolean
9751
- }]
9752
- // ----- react/jsx-no-script-url -----
9753
- type ReactJsxNoScriptUrl = ([]|[{
9754
- name: string
9755
- props: string[]
9756
- }[]]|[{
9757
- name: string
9758
- props: string[]
9759
- }[], {
9760
- includeFromSettings?: boolean
9761
- [k: string]: unknown | undefined
9762
- }] | []|[{
9763
- includeFromSettings?: boolean
9764
- [k: string]: unknown | undefined
9765
- }])
9766
- // ----- react/jsx-no-target-blank -----
9767
- type ReactJsxNoTargetBlank = []|[{
9768
- allowReferrer?: boolean
9769
- enforceDynamicLinks?: ("always" | "never")
9770
- warnOnSpreadAttributes?: boolean
9771
- links?: boolean
9772
- forms?: boolean
9773
- }]
9774
- // ----- react/jsx-no-undef -----
9775
- type ReactJsxNoUndef = []|[{
9776
- allowGlobals?: boolean
9777
- }]
9778
- // ----- react/jsx-no-useless-fragment -----
9779
- type ReactJsxNoUselessFragment = []|[{
9780
- allowExpressions?: boolean
9781
- [k: string]: unknown | undefined
9782
- }]
9783
- // ----- react/jsx-one-expression-per-line -----
9784
- type ReactJsxOneExpressionPerLine = []|[{
9785
- allow?: ("none" | "literal" | "single-child" | "non-jsx")
9786
- }]
9787
- // ----- react/jsx-pascal-case -----
9788
- type ReactJsxPascalCase = []|[{
9789
- allowAllCaps?: boolean
9790
- allowLeadingUnderscore?: boolean
9791
- allowNamespace?: boolean
9792
-
9793
- ignore?: []|[string]
9794
- }]
9795
- // ----- react/jsx-props-no-spreading -----
9796
- type ReactJsxPropsNoSpreading = []|[({
9797
- html?: ("enforce" | "ignore")
9798
- custom?: ("enforce" | "ignore")
9799
- exceptions?: string[]
9800
- [k: string]: unknown | undefined
9801
- } & {
9802
- [k: string]: unknown | undefined
9803
9371
  })]
9804
- // ----- react/jsx-sort-default-props -----
9805
- type ReactJsxSortDefaultProps = []|[{
9806
- ignoreCase?: boolean
9807
- }]
9808
- // ----- react/jsx-sort-props -----
9809
- type ReactJsxSortProps = []|[{
9810
- callbacksLast?: boolean
9811
- shorthandFirst?: boolean
9812
- shorthandLast?: boolean
9813
- multiline?: ("ignore" | "first" | "last")
9814
- ignoreCase?: boolean
9815
- noSortAlphabetically?: boolean
9816
- reservedFirst?: (unknown[] | boolean)
9817
- locale?: string
9818
- }]
9819
- // ----- react/jsx-space-before-closing -----
9820
- type ReactJsxSpaceBeforeClosing = []|[("always" | "never")]
9821
- // ----- react/jsx-tag-spacing -----
9822
- type ReactJsxTagSpacing = []|[{
9823
- closingSlash?: ("always" | "never" | "allow")
9824
- beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
9825
- afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
9826
- beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
9827
- }]
9828
- // ----- react/jsx-wrap-multilines -----
9829
- type ReactJsxWrapMultilines = []|[{
9830
- declaration?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9831
- assignment?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9832
- return?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9833
- arrow?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9834
- condition?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9835
- logical?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9836
- prop?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
9837
- }]
9838
- // ----- react/no-children-prop -----
9839
- type ReactNoChildrenProp = []|[{
9840
- allowFunctions?: boolean
9841
- }]
9842
- // ----- react/no-did-mount-set-state -----
9843
- type ReactNoDidMountSetState = []|["disallow-in-func"]
9844
- // ----- react/no-did-update-set-state -----
9845
- type ReactNoDidUpdateSetState = []|["disallow-in-func"]
9846
- // ----- react/no-invalid-html-attribute -----
9847
- type ReactNoInvalidHtmlAttribute = []|[("rel")[]]
9848
- // ----- react/no-multi-comp -----
9849
- type ReactNoMultiComp = []|[{
9850
- ignoreStateless?: boolean
9851
- }]
9852
- // ----- react/no-string-refs -----
9853
- type ReactNoStringRefs = []|[{
9854
- noTemplateLiterals?: boolean
9855
- }]
9856
- // ----- react/no-unescaped-entities -----
9857
- type ReactNoUnescapedEntities = []|[{
9858
- forbid?: (string | {
9859
- char?: string
9860
- alternatives?: string[]
9861
- [k: string]: unknown | undefined
9862
- })[]
9863
- }]
9864
- // ----- react/no-unknown-property -----
9865
- type ReactNoUnknownProperty = []|[{
9866
- ignore?: string[]
9867
- requireDataLowercase?: boolean
9868
- }]
9869
- // ----- react/no-unsafe -----
9870
- type ReactNoUnsafe = []|[{
9871
- checkAliases?: boolean
9872
- }]
9873
- // ----- react/no-unstable-nested-components -----
9874
- type ReactNoUnstableNestedComponents = []|[{
9875
- customValidators?: string[]
9876
- allowAsProps?: boolean
9877
- }]
9878
- // ----- react/no-unused-prop-types -----
9879
- type ReactNoUnusedPropTypes = []|[{
9880
- ignore?: string[]
9881
- customValidators?: string[]
9882
- skipShapeProps?: boolean
9883
- }]
9884
- // ----- react/no-will-update-set-state -----
9885
- type ReactNoWillUpdateSetState = []|["disallow-in-func"]
9886
- // ----- react/prefer-es6-class -----
9887
- type ReactPreferEs6Class = []|[("always" | "never")]
9888
- // ----- react/prefer-stateless-function -----
9889
- type ReactPreferStatelessFunction = []|[{
9890
- ignorePureComponents?: boolean
9891
- }]
9892
- // ----- react/prop-types -----
9893
- type ReactPropTypes = []|[{
9894
- ignore?: string[]
9895
- customValidators?: string[]
9896
- skipUndeclared?: boolean
9897
- }]
9898
- // ----- react/require-default-props -----
9899
- type ReactRequireDefaultProps = []|[{
9900
- forbidDefaultForRequired?: boolean
9901
- classes?: ("defaultProps" | "ignore")
9902
- functions?: ("defaultArguments" | "defaultProps" | "ignore")
9903
- ignoreFunctionalComponents?: boolean
9904
- }]
9905
- // ----- react/require-optimization -----
9906
- type ReactRequireOptimization = []|[{
9907
- allowDecorators?: string[]
9908
- }]
9909
- // ----- react/self-closing-comp -----
9910
- type ReactSelfClosingComp = []|[{
9911
- component?: boolean
9912
- html?: boolean
9913
- }]
9914
- // ----- react/sort-comp -----
9915
- type ReactSortComp = []|[{
9916
- order?: string[]
9917
- groups?: {
9918
- [k: string]: string[]
9919
- }
9920
- }]
9921
- // ----- react/sort-default-props -----
9922
- type ReactSortDefaultProps = []|[{
9923
- ignoreCase?: boolean
9924
- }]
9925
- // ----- react/sort-prop-types -----
9926
- type ReactSortPropTypes = []|[{
9927
- requiredFirst?: boolean
9928
- callbacksLast?: boolean
9929
- ignoreCase?: boolean
9930
- noSortAlphabetically?: boolean
9931
- sortShapeProp?: boolean
9932
- checkTypes?: boolean
9933
- }]
9934
- // ----- react/state-in-constructor -----
9935
- type ReactStateInConstructor = []|[("always" | "never")]
9936
- // ----- react/static-property-placement -----
9937
- type ReactStaticPropertyPlacement = []|[("static public field" | "static getter" | "property assignment")]|[("static public field" | "static getter" | "property assignment"), {
9938
- propTypes?: ("static public field" | "static getter" | "property assignment")
9939
- defaultProps?: ("static public field" | "static getter" | "property assignment")
9940
- childContextTypes?: ("static public field" | "static getter" | "property assignment")
9941
- contextTypes?: ("static public field" | "static getter" | "property assignment")
9942
- contextType?: ("static public field" | "static getter" | "property assignment")
9943
- displayName?: ("static public field" | "static getter" | "property assignment")
9944
- }]
9945
- // ----- react/style-prop-object -----
9946
- type ReactStylePropObject = []|[{
9947
- allow?: string[]
9948
- [k: string]: unknown | undefined
9372
+ // ----- react-refresh/only-export-components -----
9373
+ type ReactRefreshOnlyExportComponents = []|[{
9374
+ allowConstantExport?: boolean
9375
+ checkJS?: boolean
9376
+ allowExportNames?: string[]
9949
9377
  }]
9950
9378
  // ----- require-atomic-updates -----
9951
9379
  type RequireAtomicUpdates = []|[{
9952
9380
  allowProperties?: boolean
9953
9381
  }]
9954
- // ----- require-jsdoc -----
9955
- type RequireJsdoc = []|[{
9956
- require?: {
9957
- ClassDeclaration?: boolean
9958
- MethodDefinition?: boolean
9959
- FunctionDeclaration?: boolean
9960
- ArrowFunctionExpression?: boolean
9961
- FunctionExpression?: boolean
9962
- }
9963
- }]
9964
9382
  // ----- rest-spread-spacing -----
9965
9383
  type RestSpreadSpacing = []|[("always" | "never")]
9966
9384
  // ----- semi -----
@@ -11048,6 +10466,10 @@ type TestMaxExpects = []|[{
11048
10466
  type TestMaxNestedDescribe = []|[{
11049
10467
  max?: number
11050
10468
  }]
10469
+ // ----- test/no-focused-tests -----
10470
+ type TestNoFocusedTests = []|[{
10471
+ fixable?: boolean
10472
+ }]
11051
10473
  // ----- test/no-hooks -----
11052
10474
  type TestNoHooks = []|[{
11053
10475
  allow?: unknown[]
@@ -12321,6 +11743,7 @@ type TsNoRestrictedImports = ((string | {
12321
11743
  name: string
12322
11744
  message?: string
12323
11745
  importNames?: string[]
11746
+ allowImportNames?: string[]
12324
11747
 
12325
11748
  allowTypeImports?: boolean
12326
11749
  })[] | []|[{
@@ -12328,6 +11751,7 @@ type TsNoRestrictedImports = ((string | {
12328
11751
  name: string
12329
11752
  message?: string
12330
11753
  importNames?: string[]
11754
+ allowImportNames?: string[]
12331
11755
 
12332
11756
  allowTypeImports?: boolean
12333
11757
  })[]
@@ -12335,8 +11759,11 @@ type TsNoRestrictedImports = ((string | {
12335
11759
 
12336
11760
  importNames?: [string, ...(string)[]]
12337
11761
 
11762
+ allowImportNames?: [string, ...(string)[]]
11763
+
12338
11764
  group: [string, ...(string)[]]
12339
11765
  importNamePattern?: string
11766
+ allowImportNamePattern?: string
12340
11767
  message?: string
12341
11768
  caseSensitive?: boolean
12342
11769
 
@@ -12737,6 +12164,7 @@ type UnicornExplicitLengthCheck = []|[{
12737
12164
  type UnicornFilenameCase = []|[({
12738
12165
  case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase")
12739
12166
  ignore?: unknown[]
12167
+ multipleFileExtensions?: boolean
12740
12168
  } | {
12741
12169
  cases?: {
12742
12170
  camelCase?: boolean
@@ -12745,6 +12173,7 @@ type UnicornFilenameCase = []|[({
12745
12173
  pascalCase?: boolean
12746
12174
  }
12747
12175
  ignore?: unknown[]
12176
+ multipleFileExtensions?: boolean
12748
12177
  })]
12749
12178
  // ----- unicorn/import-style -----
12750
12179
  type UnicornImportStyle = []|[{
@@ -12953,21 +12382,6 @@ type UseIsnan = []|[{
12953
12382
  enforceForSwitchCase?: boolean
12954
12383
  enforceForIndexOf?: boolean
12955
12384
  }]
12956
- // ----- valid-jsdoc -----
12957
- type ValidJsdoc = []|[{
12958
- prefer?: {
12959
- [k: string]: string | undefined
12960
- }
12961
- preferType?: {
12962
- [k: string]: string | undefined
12963
- }
12964
- requireReturn?: boolean
12965
- requireParamDescription?: boolean
12966
- requireReturnDescription?: boolean
12967
- matchDescription?: string
12968
- requireReturnType?: boolean
12969
- requireParamType?: boolean
12970
- }]
12971
12385
  // ----- valid-typeof -----
12972
12386
  type ValidTypeof = []|[{
12973
12387
  requireStringLiterals?: boolean
@@ -13047,7 +12461,7 @@ type VueCamelcase = []|[{
13047
12461
  ignoreGlobals?: boolean
13048
12462
  properties?: ("always" | "never")
13049
12463
 
13050
- allow?: []|[string]
12464
+ allow?: string[]
13051
12465
  }]
13052
12466
  // ----- vue/comma-dangle -----
13053
12467
  type VueCommaDangle = []|[(_VueCommaDangleValue | {
@@ -13683,7 +13097,7 @@ type VueNoConsole = []|[{
13683
13097
  }]
13684
13098
  // ----- vue/no-constant-condition -----
13685
13099
  type VueNoConstantCondition = []|[{
13686
- checkLoops?: boolean
13100
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
13687
13101
  }]
13688
13102
  // ----- vue/no-deprecated-model-definition -----
13689
13103
  type VueNoDeprecatedModelDefinition = []|[{
@@ -14455,6 +13869,16 @@ interface OptionsStylistic {
14455
13869
  stylistic?: boolean | StylisticConfig;
14456
13870
  }
14457
13871
  interface StylisticConfig extends Pick<StylisticCustomizeOptions, 'indent' | 'quotes' | 'jsx' | 'semi'> {
13872
+ /**
13873
+ * Disable some opinionated rules to Anthony's preference.
13874
+ *
13875
+ * Including:
13876
+ * - `antfu/top-level-function`
13877
+ * - `antfu/if-newline`
13878
+ *
13879
+ * @default false
13880
+ */
13881
+ lessOpinionated?: boolean;
14458
13882
  }
14459
13883
  interface StylisticOverridesConfig extends OptionsStylistic {
14460
13884
  overrides?: TypedFlatConfigItem['rules'];
@@ -14469,6 +13893,7 @@ interface OptionsIsInEditor {
14469
13893
  isInEditor?: boolean;
14470
13894
  }
14471
13895
  interface OptionsReact {
13896
+ tsconfigPath?: string;
14472
13897
  typescript?: boolean;
14473
13898
  jsx?: boolean;
14474
13899
  /** react 版本 */
@@ -14530,7 +13955,7 @@ interface OptionsConfig extends OptionsComponentExts {
14530
13955
  * 启用 React 支持.
14531
13956
  *
14532
13957
  * 需要安装:
14533
- * - `eslint-plugin-react`
13958
+ * - `@eslint-react/eslint-plugin`
14534
13959
  * - `eslint-plugin-react-hooks`
14535
13960
  * - `eslint-plugin-react-refresh`
14536
13961
  *
@@ -14627,6 +14052,10 @@ interface OptionsConfig extends OptionsComponentExts {
14627
14052
  }
14628
14053
 
14629
14054
  declare const defaultPluginRenaming: {
14055
+ '@eslint-react': string;
14056
+ '@eslint-react/dom': string;
14057
+ '@eslint-react/hooks-extra': string;
14058
+ '@eslint-react/naming-convention': string;
14630
14059
  '@stylistic': string;
14631
14060
  '@typescript-eslint': string;
14632
14061
  'import-x': string;