@antfu/eslint-config 8.3.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -262,12 +262,6 @@ interface RuleOptions {
262
262
  * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-attribute-decorator.md
263
263
  */
264
264
  'angular/no-attribute-decorator'?: Linter.RuleEntry<[]>;
265
- /**
266
- * Ensures that directives do not implement conflicting lifecycle interfaces.
267
- * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-conflicting-lifecycle.md
268
- * @deprecated
269
- */
270
- 'angular/no-conflicting-lifecycle'?: Linter.RuleEntry<[]>;
271
265
  /**
272
266
  * Disallow using code which is marked as developer preview
273
267
  * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-developer-preview.md
@@ -369,7 +363,7 @@ interface RuleOptions {
369
363
  */
370
364
  'angular/prefer-inject'?: Linter.RuleEntry<[]>;
371
365
  /**
372
- * Ensures component's `changeDetection` is set to `ChangeDetectionStrategy.OnPush`
366
+ * Ensures components do not opt out of the default `ChangeDetectionStrategy.OnPush` change detection strategy
373
367
  * @see https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md
374
368
  */
375
369
  'angular/prefer-on-push-component-change-detection'?: Linter.RuleEntry<[]>;
@@ -945,10 +939,18 @@ interface RuleOptions {
945
939
  * Disallow dependencies in favor of more performant or secure alternatives
946
940
  */
947
941
  'e18e/ban-dependencies'?: Linter.RuleEntry<E18EBanDependencies>;
942
+ /**
943
+ * Disallow `delete` on properties — V8 deoptimizes the object to dictionary mode
944
+ */
945
+ 'e18e/no-delete-property'?: Linter.RuleEntry<[]>;
948
946
  /**
949
947
  * Prefer optimized alternatives to `indexOf()` equality checks
950
948
  */
951
949
  'e18e/no-indexof-equality'?: Linter.RuleEntry<[]>;
950
+ /**
951
+ * Disallow spreading the accumulator inside a `reduce` callback (O(N²) growth)
952
+ */
953
+ 'e18e/no-spread-in-reduce'?: Linter.RuleEntry<[]>;
952
954
  /**
953
955
  * Prefer Array.prototype.at() over length-based indexing
954
956
  */
@@ -962,7 +964,7 @@ interface RuleOptions {
962
964
  */
963
965
  'e18e/prefer-array-from-map'?: Linter.RuleEntry<[]>;
964
966
  /**
965
- * Prefer Array.some() over Array.find() when checking for element existence
967
+ * Prefer Array.some() over Array.find() and Array.filter().length checks when checking for element existence
966
968
  */
967
969
  'e18e/prefer-array-some'?: Linter.RuleEntry<[]>;
968
970
  /**
@@ -985,10 +987,22 @@ interface RuleOptions {
985
987
  * Prefer the exponentiation operator ** over Math.pow()
986
988
  */
987
989
  'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
990
+ /**
991
+ * Prefer Array.prototype.flatMap() over .map(fn).flat() to avoid the intermediate array
992
+ */
993
+ 'e18e/prefer-flatmap-over-map-flat'?: Linter.RuleEntry<[]>;
994
+ /**
995
+ * Prefer `Map.prototype.getOrInsert()` over reading an entry with a default and writing it back
996
+ */
997
+ 'e18e/prefer-get-or-insert'?: Linter.RuleEntry<[]>;
988
998
  /**
989
999
  * Prefer .includes() over indexOf() comparisons for arrays and strings
990
1000
  */
991
1001
  'e18e/prefer-includes'?: Linter.RuleEntry<[]>;
1002
+ /**
1003
+ * Prefer String.prototype.{includes,startsWith,endsWith} over equivalent regex.test() calls
1004
+ */
1005
+ 'e18e/prefer-includes-over-regex-test'?: Linter.RuleEntry<[]>;
992
1006
  /**
993
1007
  * Prefer inline equality checks over temporary object creation for simple comparisons
994
1008
  */
@@ -1009,10 +1023,18 @@ interface RuleOptions {
1009
1023
  * Prefer spread syntax over Array.concat(), Array.from(), Object.assign({}, ...), and Function.apply()
1010
1024
  */
1011
1025
  'e18e/prefer-spread-syntax'?: Linter.RuleEntry<[]>;
1026
+ /**
1027
+ * Prefer hoisting an `Intl.Collator` instance over calling localeCompare in a sort callback
1028
+ */
1029
+ 'e18e/prefer-static-collator'?: Linter.RuleEntry<[]>;
1012
1030
  /**
1013
1031
  * Prefer defining regular expressions at module scope to avoid re-compilation on every function call
1014
1032
  */
1015
1033
  'e18e/prefer-static-regex'?: Linter.RuleEntry<[]>;
1034
+ /**
1035
+ * Prefer String.fromCharCode() over String.fromCodePoint() for code points below 0x10000
1036
+ */
1037
+ 'e18e/prefer-string-fromcharcode'?: Linter.RuleEntry<[]>;
1016
1038
  /**
1017
1039
  * Prefer passing function and arguments directly to setTimeout/setInterval instead of wrapping in an arrow function or using bind
1018
1040
  */
@@ -3742,182 +3764,162 @@ interface RuleOptions {
3742
3764
  * @see https://eslint.org/docs/latest/rules/radix
3743
3765
  */
3744
3766
  'radix'?: Linter.RuleEntry<Radix>;
3767
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
3745
3768
  /**
3746
3769
  * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3747
3770
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3748
3771
  */
3749
- 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3772
+ 'react/dom-no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3750
3773
  /**
3751
3774
  * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3752
3775
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3753
3776
  */
3754
- 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3777
+ 'react/dom-no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3755
3778
  /**
3756
3779
  * Disallows 'findDOMNode'.
3757
3780
  * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3758
3781
  */
3759
- 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>;
3782
+ 'react/dom-no-find-dom-node'?: Linter.RuleEntry<[]>;
3760
3783
  /**
3761
3784
  * Disallows 'flushSync'.
3762
3785
  * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3763
3786
  */
3764
- 'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>;
3787
+ 'react/dom-no-flush-sync'?: Linter.RuleEntry<[]>;
3765
3788
  /**
3766
3789
  * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3767
3790
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3768
3791
  */
3769
- 'react-dom/no-hydrate'?: Linter.RuleEntry<[]>;
3792
+ 'react/dom-no-hydrate'?: Linter.RuleEntry<[]>;
3770
3793
  /**
3771
3794
  * Enforces an explicit 'type' attribute for 'button' elements.
3772
3795
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3773
3796
  */
3774
- 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
3797
+ 'react/dom-no-missing-button-type'?: Linter.RuleEntry<[]>;
3775
3798
  /**
3776
3799
  * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3777
3800
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3778
3801
  */
3779
- 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3780
- /**
3781
- * Enforces the absence of a 'namespace' in React elements.
3782
- * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
3783
- */
3784
- 'react-dom/no-namespace'?: Linter.RuleEntry<[]>;
3802
+ 'react/dom-no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3785
3803
  /**
3786
3804
  * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3787
3805
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
3788
3806
  */
3789
- 'react-dom/no-render'?: Linter.RuleEntry<[]>;
3807
+ 'react/dom-no-render'?: Linter.RuleEntry<[]>;
3790
3808
  /**
3791
3809
  * Disallows the return value of 'ReactDOM.render'.
3792
3810
  * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3793
3811
  */
3794
- 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>;
3812
+ 'react/dom-no-render-return-value'?: Linter.RuleEntry<[]>;
3795
3813
  /**
3796
3814
  * Disallows 'javascript:' URLs as attribute values.
3797
3815
  * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3798
3816
  */
3799
- 'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
3817
+ 'react/dom-no-script-url'?: Linter.RuleEntry<[]>;
3800
3818
  /**
3801
3819
  * Disallows the use of string style prop in JSX. Use an object instead.
3802
3820
  * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3803
3821
  */
3804
- 'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
3822
+ 'react/dom-no-string-style-prop'?: Linter.RuleEntry<[]>;
3805
3823
  /**
3806
3824
  * Disallows unknown 'DOM' properties.
3807
3825
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3808
3826
  */
3809
- 'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3827
+ 'react/dom-no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3810
3828
  /**
3811
3829
  * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3812
3830
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3813
3831
  */
3814
- 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3832
+ 'react/dom-no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3815
3833
  /**
3816
3834
  * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3817
3835
  * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3818
3836
  */
3819
- 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3837
+ 'react/dom-no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3820
3838
  /**
3821
3839
  * Replaces usage of 'useFormState' with 'useActionState'.
3822
3840
  * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3823
3841
  */
3824
- 'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>;
3842
+ 'react/dom-no-use-form-state'?: Linter.RuleEntry<[]>;
3825
3843
  /**
3826
3844
  * Disallows 'children' in void DOM elements.
3827
3845
  * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3828
3846
  */
3829
- 'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3830
- /**
3831
- * Enforces importing React DOM via a namespace import.
3832
- * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
3833
- */
3834
- 'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
3835
- /**
3836
- * Enforces the context name to be a valid component name with the suffix 'Context'.
3837
- * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3838
- */
3839
- 'react-naming-convention/context-name'?: Linter.RuleEntry<[]>;
3840
- /**
3841
- * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3842
- * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3843
- */
3844
- 'react-naming-convention/id-name'?: Linter.RuleEntry<[]>;
3847
+ 'react/dom-no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3845
3848
  /**
3846
- * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3847
- * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3849
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3850
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
3848
3851
  */
3849
- 'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>;
3850
- 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
3852
+ 'react/error-boundaries'?: Linter.RuleEntry<[]>;
3851
3853
  /**
3852
- * Validates and transforms React Client/Server Function definitions.
3853
- * @see https://eslint-react.xyz/docs/rules/function-definition
3854
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3855
+ * @see https://github.com/facebook/react/issues/14920
3854
3856
  */
3855
- 'react-rsc/function-definition'?: Linter.RuleEntry<[]>;
3857
+ 'react/exhaustive-deps'?: Linter.RuleEntry<ReactExhaustiveDeps>;
3856
3858
  /**
3857
- * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3858
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3859
+ * Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render.
3860
+ * @see https://eslint-react.xyz/docs/rules/globals
3859
3861
  */
3860
- 'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>;
3862
+ 'react/globals'?: Linter.RuleEntry<[]>;
3861
3863
  /**
3862
- * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3863
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3864
+ * Validates against mutating props, state, and other values that are immutable.
3865
+ * @see https://eslint-react.xyz/docs/rules/immutability
3864
3866
  */
3865
- 'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>;
3867
+ 'react/immutability'?: Linter.RuleEntry<[]>;
3866
3868
  /**
3867
- * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3868
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3869
+ * Disallows passing 'children' as a prop.
3870
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop
3869
3871
  */
3870
- 'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
3872
+ 'react/jsx-no-children-prop'?: Linter.RuleEntry<[]>;
3871
3873
  /**
3872
- * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3873
- * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3874
+ * Disallows passing 'children' as a prop when children are also passed as nested content.
3875
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop-with-children
3874
3876
  */
3875
- 'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
3877
+ 'react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>;
3876
3878
  /**
3877
- * Disallows higher order functions that define components or hooks inside them.
3878
- * @see https://eslint-react.xyz/docs/rules/component-hook-factories
3879
+ * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
3880
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3879
3881
  */
3880
- 'react/component-hook-factories'?: Linter.RuleEntry<[]>;
3882
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3881
3883
  /**
3882
- * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3883
- * @see https://eslint-react.xyz/docs/rules/error-boundaries
3884
+ * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3885
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-key-after-spread
3884
3886
  */
3885
- 'react/error-boundaries'?: Linter.RuleEntry<[]>;
3887
+ 'react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>;
3886
3888
  /**
3887
- * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3888
- * @see https://github.com/facebook/react/issues/14920
3889
+ * Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
3890
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-dollar
3889
3891
  */
3890
- 'react/exhaustive-deps'?: Linter.RuleEntry<ReactExhaustiveDeps>;
3892
+ 'react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>;
3891
3893
  /**
3892
- * Validates against mutating props, state, and other values that are immutable.
3893
- * @see https://eslint-react.xyz/docs/rules/immutability
3894
+ * Catches `;` at the start of JSX text nodes typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
3895
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-semicolon
3894
3896
  */
3895
- 'react/immutability'?: Linter.RuleEntry<[]>;
3897
+ 'react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>;
3896
3898
  /**
3897
- * Prevents unintentional '$' sign before expression.
3898
- * @see https://eslint-react.xyz/docs/rules/jsx-dollar
3899
+ * Disallow JSX namespace syntax, as React does not support them.
3900
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-namespace
3899
3901
  */
3900
- 'react/jsx-dollar'?: Linter.RuleEntry<[]>;
3902
+ 'react/jsx-no-namespace'?: Linter.RuleEntry<[]>;
3901
3903
  /**
3902
- * Enforces 'key' prop placement before spread props.
3903
- * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
3904
+ * Disallows useless fragment elements.
3905
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-useless-fragment
3904
3906
  */
3905
- 'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
3907
+ 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>;
3906
3908
  /**
3907
- * Prevents comment strings (ex: beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
3908
- * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3909
+ * Enforces identifier names assigned from `createContext` calls to be a valid component name with the suffix `Context`.
3910
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3909
3911
  */
3910
- 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3912
+ 'react/naming-convention-context-name'?: Linter.RuleEntry<[]>;
3911
3913
  /**
3912
- * Enforces shorthand syntax for boolean props.
3913
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
3914
+ * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3915
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3914
3916
  */
3915
- 'react/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactJsxShorthandBoolean>;
3917
+ 'react/naming-convention-id-name'?: Linter.RuleEntry<[]>;
3916
3918
  /**
3917
- * Enforces shorthand syntax for fragment elements.
3918
- * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
3919
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3920
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3919
3921
  */
3920
- 'react/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactJsxShorthandFragment>;
3922
+ 'react/naming-convention-ref-name'?: Linter.RuleEntry<[]>;
3921
3923
  /**
3922
3924
  * Disallows accessing 'this.state' inside 'setState' calls.
3923
3925
  * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
@@ -3948,11 +3950,6 @@ interface RuleOptions {
3948
3950
  * @see https://eslint-react.xyz/docs/rules/no-children-only
3949
3951
  */
3950
3952
  'react/no-children-only'?: Linter.RuleEntry<[]>;
3951
- /**
3952
- * Disallows passing 'children' as a prop.
3953
- * @see https://eslint-react.xyz/docs/rules/no-children-prop
3954
- */
3955
- 'react/no-children-prop'?: Linter.RuleEntry<[]>;
3956
3953
  /**
3957
3954
  * Disallows the use of 'Children.toArray' from the 'react' package.
3958
3955
  * @see https://eslint-react.xyz/docs/rules/no-children-to-array
@@ -3989,7 +3986,7 @@ interface RuleOptions {
3989
3986
  */
3990
3987
  'react/no-context-provider'?: Linter.RuleEntry<[]>;
3991
3988
  /**
3992
- * Disallows 'createRef' in function components.
3989
+ * Disallows 'createRef' in function components and Hooks.
3993
3990
  * @see https://eslint-react.xyz/docs/rules/no-create-ref
3994
3991
  */
3995
3992
  'react/no-create-ref'?: Linter.RuleEntry<[]>;
@@ -4054,15 +4051,10 @@ interface RuleOptions {
4054
4051
  */
4055
4052
  'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
4056
4053
  /**
4057
- * Disallows nesting lazy component declarations inside other components.
4054
+ * Disallows nesting lazy component declarations inside other components or hooks.
4058
4055
  * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
4059
4056
  */
4060
4057
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
4061
- /**
4062
- * Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
4063
- * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
4064
- */
4065
- 'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>;
4066
4058
  /**
4067
4059
  * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
4068
4060
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
@@ -4078,16 +4070,6 @@ interface RuleOptions {
4078
4070
  * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
4079
4071
  */
4080
4072
  'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
4081
- /**
4082
- * Disallows unnecessary usage of 'useCallback'.
4083
- * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
4084
- */
4085
- 'react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
4086
- /**
4087
- * Disallows unnecessary usage of 'useMemo'.
4088
- * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
4089
- */
4090
- 'react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
4091
4073
  /**
4092
4074
  * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
4093
4075
  * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
@@ -4129,7 +4111,7 @@ interface RuleOptions {
4129
4111
  */
4130
4112
  'react/no-unused-props'?: Linter.RuleEntry<[]>;
4131
4113
  /**
4132
- * Warns about unused class component state.
4114
+ * Warns about state variables that are defined but never used.
4133
4115
  * @see https://eslint-react.xyz/docs/rules/no-unused-state
4134
4116
  */
4135
4117
  'react/no-unused-state'?: Linter.RuleEntry<[]>;
@@ -4138,21 +4120,6 @@ interface RuleOptions {
4138
4120
  * @see https://eslint-react.xyz/docs/rules/no-use-context
4139
4121
  */
4140
4122
  'react/no-use-context'?: Linter.RuleEntry<[]>;
4141
- /**
4142
- * Disallows useless fragment elements.
4143
- * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
4144
- */
4145
- 'react/no-useless-fragment'?: Linter.RuleEntry<ReactNoUselessFragment>;
4146
- /**
4147
- * Enforces destructuring assignment for component props and context.
4148
- * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
4149
- */
4150
- 'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
4151
- /**
4152
- * Enforces importing React via a namespace import.
4153
- * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
4154
- */
4155
- 'react/prefer-namespace-import'?: Linter.RuleEntry<[]>;
4156
4123
  /**
4157
4124
  * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
4158
4125
  * @see https://eslint-react.xyz/docs/rules/purity
@@ -4163,6 +4130,11 @@ interface RuleOptions {
4163
4130
  * @see https://eslint-react.xyz/docs/rules/refs
4164
4131
  */
4165
4132
  'react/refs'?: Linter.RuleEntry<[]>;
4133
+ /**
4134
+ * Validates and transforms React Client/Server Function definitions.
4135
+ * @see https://eslint-react.xyz/docs/rules/rsc-function-definition
4136
+ */
4137
+ 'react/rsc-function-definition'?: Linter.RuleEntry<[]>;
4166
4138
  /**
4167
4139
  * Enforces the Rules of Hooks.
4168
4140
  * @see https://react.dev/reference/rules/rules-of-hooks
@@ -4179,15 +4151,10 @@ interface RuleOptions {
4179
4151
  */
4180
4152
  'react/set-state-in-render'?: Linter.RuleEntry<[]>;
4181
4153
  /**
4182
- * Enforces the Rules of Props.
4183
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-props
4184
- */
4185
- 'react/unstable-rules-of-props'?: Linter.RuleEntry<[]>;
4186
- /**
4187
- * Enforces the Rules of State.
4188
- * @see https://eslint-react.xyz/docs/rules/unstable-rules-of-state
4154
+ * Validates that components are static, not recreated every render.
4155
+ * @see https://eslint-react.xyz/docs/rules/static-components
4189
4156
  */
4190
- 'react/unstable-rules-of-state'?: Linter.RuleEntry<[]>;
4157
+ 'react/static-components'?: Linter.RuleEntry<[]>;
4191
4158
  /**
4192
4159
  * Validates against syntax that React Compiler does not support.
4193
4160
  * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
@@ -4204,178 +4171,473 @@ interface RuleOptions {
4204
4171
  */
4205
4172
  'react/use-state'?: Linter.RuleEntry<ReactUseState>;
4206
4173
  /**
4207
- * disallow confusing quantifiers
4208
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
4174
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
4175
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
4209
4176
  */
4210
- 'regexp/confusing-quantifier'?: Linter.RuleEntry<[]>;
4177
+ 'react/web-api-no-leaked-event-listener'?: Linter.RuleEntry<[]>;
4211
4178
  /**
4212
- * enforce consistent escaping of control characters
4213
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/control-character-escape.html
4179
+ * Enforces that every 'fetch' in a component or custom hook has a corresponding 'AbortController' abort in the cleanup function.
4180
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
4214
4181
  */
4215
- 'regexp/control-character-escape'?: Linter.RuleEntry<[]>;
4182
+ 'react/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
4216
4183
  /**
4217
- * enforce single grapheme in string literal
4218
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/grapheme-string-literal.html
4184
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
4185
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
4219
4186
  */
4220
- 'regexp/grapheme-string-literal'?: Linter.RuleEntry<[]>;
4187
+ 'react/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
4221
4188
  /**
4222
- * enforce consistent usage of hexadecimal escape
4223
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/hexadecimal-escape.html
4189
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
4190
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
4224
4191
  */
4225
- 'regexp/hexadecimal-escape'?: Linter.RuleEntry<RegexpHexadecimalEscape>;
4192
+ 'react/web-api-no-leaked-interval'?: Linter.RuleEntry<[]>;
4226
4193
  /**
4227
- * enforce into your favorite case
4228
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/letter-case.html
4194
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
4195
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
4229
4196
  */
4230
- 'regexp/letter-case'?: Linter.RuleEntry<RegexpLetterCase>;
4197
+ 'react/web-api-no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
4231
4198
  /**
4232
- * enforce match any character style
4233
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/match-any.html
4199
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
4200
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
4234
4201
  */
4235
- 'regexp/match-any'?: Linter.RuleEntry<RegexpMatchAny>;
4202
+ 'react/web-api-no-leaked-timeout'?: Linter.RuleEntry<[]>;
4236
4203
  /**
4237
- * enforce use of escapes on negation
4238
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/negation.html
4204
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
4205
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
4239
4206
  */
4240
- 'regexp/negation'?: Linter.RuleEntry<[]>;
4207
+ 'react/x-error-boundaries'?: Linter.RuleEntry<[]>;
4241
4208
  /**
4242
- * disallow elements that contradict assertions
4243
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-contradiction-with-assertion.html
4209
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
4210
+ * @see https://github.com/facebook/react/issues/14920
4244
4211
  */
4245
- 'regexp/no-contradiction-with-assertion'?: Linter.RuleEntry<[]>;
4212
+ 'react/x-exhaustive-deps'?: Linter.RuleEntry<ReactXExhaustiveDeps>;
4246
4213
  /**
4247
- * disallow control characters
4248
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-control-character.html
4214
+ * Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render.
4215
+ * @see https://eslint-react.xyz/docs/rules/globals
4249
4216
  */
4250
- 'regexp/no-control-character'?: Linter.RuleEntry<[]>;
4217
+ 'react/x-globals'?: Linter.RuleEntry<[]>;
4251
4218
  /**
4252
- * disallow duplicate characters in the RegExp character class
4253
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-characters-character-class.html
4219
+ * Validates against mutating props, state, and other values that are immutable.
4220
+ * @see https://eslint-react.xyz/docs/rules/immutability
4254
4221
  */
4255
- 'regexp/no-dupe-characters-character-class'?: Linter.RuleEntry<[]>;
4222
+ 'react/x-immutability'?: Linter.RuleEntry<[]>;
4256
4223
  /**
4257
- * disallow duplicate disjunctions
4258
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-disjunctions.html
4224
+ * Disallows accessing 'this.state' inside 'setState' calls.
4225
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
4259
4226
  */
4260
- 'regexp/no-dupe-disjunctions'?: Linter.RuleEntry<RegexpNoDupeDisjunctions>;
4227
+ 'react/x-no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
4261
4228
  /**
4262
- * disallow alternatives without elements
4263
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-alternative.html
4229
+ * Disallows using an item's index in the array as its key.
4230
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
4264
4231
  */
4265
- 'regexp/no-empty-alternative'?: Linter.RuleEntry<[]>;
4232
+ 'react/x-no-array-index-key'?: Linter.RuleEntry<[]>;
4266
4233
  /**
4267
- * disallow capturing group that captures empty.
4268
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-capturing-group.html
4234
+ * Disallows the use of 'Children.count' from the 'react' package.
4235
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
4269
4236
  */
4270
- 'regexp/no-empty-capturing-group'?: Linter.RuleEntry<[]>;
4237
+ 'react/x-no-children-count'?: Linter.RuleEntry<[]>;
4271
4238
  /**
4272
- * disallow character classes that match no characters
4273
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-character-class.html
4239
+ * Disallows the use of 'Children.forEach' from the 'react' package.
4240
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
4274
4241
  */
4275
- 'regexp/no-empty-character-class'?: Linter.RuleEntry<[]>;
4242
+ 'react/x-no-children-for-each'?: Linter.RuleEntry<[]>;
4276
4243
  /**
4277
- * disallow empty group
4278
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-group.html
4244
+ * Disallows the use of 'Children.map' from the 'react' package.
4245
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
4279
4246
  */
4280
- 'regexp/no-empty-group'?: Linter.RuleEntry<[]>;
4247
+ 'react/x-no-children-map'?: Linter.RuleEntry<[]>;
4281
4248
  /**
4282
- * disallow empty lookahead assertion or empty lookbehind assertion
4283
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-lookarounds-assertion.html
4249
+ * Disallows the use of 'Children.only' from the 'react' package.
4250
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
4284
4251
  */
4285
- 'regexp/no-empty-lookarounds-assertion'?: Linter.RuleEntry<[]>;
4252
+ 'react/x-no-children-only'?: Linter.RuleEntry<[]>;
4286
4253
  /**
4287
- * disallow empty string literals in character classes
4288
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-string-literal.html
4254
+ * Disallows the use of 'Children.toArray' from the 'react' package.
4255
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
4289
4256
  */
4290
- 'regexp/no-empty-string-literal'?: Linter.RuleEntry<[]>;
4257
+ 'react/x-no-children-to-array'?: Linter.RuleEntry<[]>;
4291
4258
  /**
4292
- * disallow escape backspace (`[\b]`)
4293
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-escape-backspace.html
4259
+ * Disallows class components except for error boundaries.
4260
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
4294
4261
  */
4295
- 'regexp/no-escape-backspace'?: Linter.RuleEntry<[]>;
4262
+ 'react/x-no-class-component'?: Linter.RuleEntry<[]>;
4296
4263
  /**
4297
- * disallow unnecessary nested lookaround assertions
4298
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-extra-lookaround-assertions.html
4264
+ * Disallows 'cloneElement'.
4265
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
4299
4266
  */
4300
- 'regexp/no-extra-lookaround-assertions'?: Linter.RuleEntry<[]>;
4267
+ 'react/x-no-clone-element'?: Linter.RuleEntry<[]>;
4301
4268
  /**
4302
- * disallow invalid regular expression strings in `RegExp` constructors
4303
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invalid-regexp.html
4269
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
4270
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
4304
4271
  */
4305
- 'regexp/no-invalid-regexp'?: Linter.RuleEntry<[]>;
4272
+ 'react/x-no-component-will-mount'?: Linter.RuleEntry<[]>;
4306
4273
  /**
4307
- * disallow invisible raw character
4308
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invisible-character.html
4274
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
4275
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
4309
4276
  */
4310
- 'regexp/no-invisible-character'?: Linter.RuleEntry<[]>;
4277
+ 'react/x-no-component-will-receive-props'?: Linter.RuleEntry<[]>;
4311
4278
  /**
4312
- * disallow lazy quantifiers at the end of an expression
4313
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-lazy-ends.html
4279
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
4280
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
4314
4281
  */
4315
- 'regexp/no-lazy-ends'?: Linter.RuleEntry<RegexpNoLazyEnds>;
4282
+ 'react/x-no-component-will-update'?: Linter.RuleEntry<[]>;
4316
4283
  /**
4317
- * disallow legacy RegExp features
4318
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-legacy-features.html
4284
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
4285
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
4319
4286
  */
4320
- 'regexp/no-legacy-features'?: Linter.RuleEntry<RegexpNoLegacyFeatures>;
4287
+ 'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
4321
4288
  /**
4322
- * disallow capturing groups that do not behave as one would expect
4323
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-capturing-group.html
4289
+ * Disallows 'createRef' in function components and Hooks.
4290
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
4324
4291
  */
4325
- 'regexp/no-misleading-capturing-group'?: Linter.RuleEntry<RegexpNoMisleadingCapturingGroup>;
4292
+ 'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
4326
4293
  /**
4327
- * disallow multi-code-point characters in character classes and quantifiers
4328
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-unicode-character.html
4294
+ * Disallows direct mutation of 'this.state'.
4295
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
4329
4296
  */
4330
- 'regexp/no-misleading-unicode-character'?: Linter.RuleEntry<RegexpNoMisleadingUnicodeCharacter>;
4297
+ 'react/x-no-direct-mutation-state'?: Linter.RuleEntry<[]>;
4331
4298
  /**
4332
- * disallow missing `g` flag in patterns used in `String#matchAll` and `String#replaceAll`
4333
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-missing-g-flag.html
4299
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
4300
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
4334
4301
  */
4335
- 'regexp/no-missing-g-flag'?: Linter.RuleEntry<RegexpNoMissingGFlag>;
4302
+ 'react/x-no-duplicate-key'?: Linter.RuleEntry<[]>;
4336
4303
  /**
4337
- * disallow non-standard flags
4338
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-non-standard-flag.html
4304
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
4305
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
4339
4306
  */
4340
- 'regexp/no-non-standard-flag'?: Linter.RuleEntry<[]>;
4307
+ 'react/x-no-forward-ref'?: Linter.RuleEntry<[]>;
4341
4308
  /**
4342
- * disallow obscure character ranges
4343
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-obscure-range.html
4309
+ * Prevents implicitly passing the 'children' prop to components.
4310
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
4344
4311
  */
4345
- 'regexp/no-obscure-range'?: Linter.RuleEntry<RegexpNoObscureRange>;
4312
+ 'react/x-no-implicit-children'?: Linter.RuleEntry<[]>;
4346
4313
  /**
4347
- * disallow octal escape sequence
4348
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-octal.html
4314
+ * Prevents implicitly passing the 'key' prop to components.
4315
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
4349
4316
  */
4350
- 'regexp/no-octal'?: Linter.RuleEntry<[]>;
4317
+ 'react/x-no-implicit-key'?: Linter.RuleEntry<[]>;
4351
4318
  /**
4352
- * disallow optional assertions
4353
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-optional-assertion.html
4319
+ * Prevents implicitly passing the 'ref' prop to components.
4320
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
4354
4321
  */
4355
- 'regexp/no-optional-assertion'?: Linter.RuleEntry<[]>;
4322
+ 'react/x-no-implicit-ref'?: Linter.RuleEntry<[]>;
4356
4323
  /**
4357
- * disallow backreferences that reference a group that might not be matched
4358
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-potentially-useless-backreference.html
4324
+ * Prevents problematic leaked values from being rendered.
4325
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
4359
4326
  */
4360
- 'regexp/no-potentially-useless-backreference'?: Linter.RuleEntry<[]>;
4327
+ 'react/x-no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
4361
4328
  /**
4362
- * disallow standalone backslashes (`\`)
4363
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-standalone-backslash.html
4329
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
4330
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
4364
4331
  */
4365
- 'regexp/no-standalone-backslash'?: Linter.RuleEntry<[]>;
4332
+ 'react/x-no-missing-component-display-name'?: Linter.RuleEntry<[]>;
4366
4333
  /**
4367
- * disallow exponential and polynomial backtracking
4368
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-backtracking.html
4334
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
4335
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
4369
4336
  */
4370
- 'regexp/no-super-linear-backtracking'?: Linter.RuleEntry<RegexpNoSuperLinearBacktracking>;
4337
+ 'react/x-no-missing-context-display-name'?: Linter.RuleEntry<[]>;
4371
4338
  /**
4372
- * disallow quantifiers that cause quadratic moves
4373
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-move.html
4339
+ * Disallows missing 'key' on items in list rendering.
4340
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
4374
4341
  */
4375
- 'regexp/no-super-linear-move'?: Linter.RuleEntry<RegexpNoSuperLinearMove>;
4342
+ 'react/x-no-missing-key'?: Linter.RuleEntry<[]>;
4376
4343
  /**
4377
- * disallow trivially nested assertions
4378
- * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-assertion.html
4344
+ * Prevents incorrect usage of 'captureOwnerStack'.
4345
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
4346
+ */
4347
+ 'react/x-no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
4348
+ /**
4349
+ * Disallows nesting component definitions inside other components.
4350
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
4351
+ */
4352
+ 'react/x-no-nested-component-definitions'?: Linter.RuleEntry<[]>;
4353
+ /**
4354
+ * Disallows nesting lazy component declarations inside other components or hooks.
4355
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
4356
+ */
4357
+ 'react/x-no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
4358
+ /**
4359
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
4360
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
4361
+ */
4362
+ 'react/x-no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
4363
+ /**
4364
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
4365
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
4366
+ */
4367
+ 'react/x-no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
4368
+ /**
4369
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
4370
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
4371
+ */
4372
+ 'react/x-no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
4373
+ /**
4374
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
4375
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
4376
+ */
4377
+ 'react/x-no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
4378
+ /**
4379
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
4380
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
4381
+ */
4382
+ 'react/x-no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
4383
+ /**
4384
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
4385
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
4386
+ */
4387
+ 'react/x-no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
4388
+ /**
4389
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
4390
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
4391
+ */
4392
+ 'react/x-no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
4393
+ /**
4394
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
4395
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
4396
+ */
4397
+ 'react/x-no-unstable-context-value'?: Linter.RuleEntry<[]>;
4398
+ /**
4399
+ * Prevents using referential-type values as default props in object destructuring.
4400
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
4401
+ */
4402
+ 'react/x-no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>;
4403
+ /**
4404
+ * Warns about unused class component methods and properties.
4405
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
4406
+ */
4407
+ 'react/x-no-unused-class-component-members'?: Linter.RuleEntry<[]>;
4408
+ /**
4409
+ * Warns about component props that are defined but never used.
4410
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
4411
+ */
4412
+ 'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
4413
+ /**
4414
+ * Warns about state variables that are defined but never used.
4415
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
4416
+ */
4417
+ 'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
4418
+ /**
4419
+ * Replaces usage of 'useContext' with 'use'.
4420
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
4421
+ */
4422
+ 'react/x-no-use-context'?: Linter.RuleEntry<[]>;
4423
+ /**
4424
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
4425
+ * @see https://eslint-react.xyz/docs/rules/purity
4426
+ */
4427
+ 'react/x-purity'?: Linter.RuleEntry<[]>;
4428
+ /**
4429
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
4430
+ * @see https://eslint-react.xyz/docs/rules/refs
4431
+ */
4432
+ 'react/x-refs'?: Linter.RuleEntry<[]>;
4433
+ /**
4434
+ * Enforces the Rules of Hooks.
4435
+ * @see https://react.dev/reference/rules/rules-of-hooks
4436
+ */
4437
+ 'react/x-rules-of-hooks'?: Linter.RuleEntry<ReactXRulesOfHooks>;
4438
+ /**
4439
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
4440
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
4441
+ */
4442
+ 'react/x-set-state-in-effect'?: Linter.RuleEntry<[]>;
4443
+ /**
4444
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
4445
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
4446
+ */
4447
+ 'react/x-set-state-in-render'?: Linter.RuleEntry<[]>;
4448
+ /**
4449
+ * Validates that components are static, not recreated every render.
4450
+ * @see https://eslint-react.xyz/docs/rules/static-components
4451
+ */
4452
+ 'react/x-static-components'?: Linter.RuleEntry<[]>;
4453
+ /**
4454
+ * Validates against syntax that React Compiler does not support.
4455
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
4456
+ */
4457
+ 'react/x-unsupported-syntax'?: Linter.RuleEntry<[]>;
4458
+ /**
4459
+ * Validates that 'useMemo' is called with a callback that returns a value.
4460
+ * @see https://eslint-react.xyz/docs/rules/use-memo
4461
+ */
4462
+ 'react/x-use-memo'?: Linter.RuleEntry<[]>;
4463
+ /**
4464
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
4465
+ * @see https://eslint-react.xyz/docs/rules/use-state
4466
+ */
4467
+ 'react/x-use-state'?: Linter.RuleEntry<ReactXUseState>;
4468
+ /**
4469
+ * disallow confusing quantifiers
4470
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
4471
+ */
4472
+ 'regexp/confusing-quantifier'?: Linter.RuleEntry<[]>;
4473
+ /**
4474
+ * enforce consistent escaping of control characters
4475
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/control-character-escape.html
4476
+ */
4477
+ 'regexp/control-character-escape'?: Linter.RuleEntry<[]>;
4478
+ /**
4479
+ * enforce single grapheme in string literal
4480
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/grapheme-string-literal.html
4481
+ */
4482
+ 'regexp/grapheme-string-literal'?: Linter.RuleEntry<[]>;
4483
+ /**
4484
+ * enforce consistent usage of hexadecimal escape
4485
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/hexadecimal-escape.html
4486
+ */
4487
+ 'regexp/hexadecimal-escape'?: Linter.RuleEntry<RegexpHexadecimalEscape>;
4488
+ /**
4489
+ * enforce into your favorite case
4490
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/letter-case.html
4491
+ */
4492
+ 'regexp/letter-case'?: Linter.RuleEntry<RegexpLetterCase>;
4493
+ /**
4494
+ * enforce match any character style
4495
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/match-any.html
4496
+ */
4497
+ 'regexp/match-any'?: Linter.RuleEntry<RegexpMatchAny>;
4498
+ /**
4499
+ * enforce use of escapes on negation
4500
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/negation.html
4501
+ */
4502
+ 'regexp/negation'?: Linter.RuleEntry<[]>;
4503
+ /**
4504
+ * disallow elements that contradict assertions
4505
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-contradiction-with-assertion.html
4506
+ */
4507
+ 'regexp/no-contradiction-with-assertion'?: Linter.RuleEntry<[]>;
4508
+ /**
4509
+ * disallow control characters
4510
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-control-character.html
4511
+ */
4512
+ 'regexp/no-control-character'?: Linter.RuleEntry<[]>;
4513
+ /**
4514
+ * disallow duplicate characters in the RegExp character class
4515
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-characters-character-class.html
4516
+ */
4517
+ 'regexp/no-dupe-characters-character-class'?: Linter.RuleEntry<[]>;
4518
+ /**
4519
+ * disallow duplicate disjunctions
4520
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-disjunctions.html
4521
+ */
4522
+ 'regexp/no-dupe-disjunctions'?: Linter.RuleEntry<RegexpNoDupeDisjunctions>;
4523
+ /**
4524
+ * disallow alternatives without elements
4525
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-alternative.html
4526
+ */
4527
+ 'regexp/no-empty-alternative'?: Linter.RuleEntry<[]>;
4528
+ /**
4529
+ * disallow capturing group that captures empty.
4530
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-capturing-group.html
4531
+ */
4532
+ 'regexp/no-empty-capturing-group'?: Linter.RuleEntry<[]>;
4533
+ /**
4534
+ * disallow character classes that match no characters
4535
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-character-class.html
4536
+ */
4537
+ 'regexp/no-empty-character-class'?: Linter.RuleEntry<[]>;
4538
+ /**
4539
+ * disallow empty group
4540
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-group.html
4541
+ */
4542
+ 'regexp/no-empty-group'?: Linter.RuleEntry<[]>;
4543
+ /**
4544
+ * disallow empty lookahead assertion or empty lookbehind assertion
4545
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-lookarounds-assertion.html
4546
+ */
4547
+ 'regexp/no-empty-lookarounds-assertion'?: Linter.RuleEntry<[]>;
4548
+ /**
4549
+ * disallow empty string literals in character classes
4550
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-string-literal.html
4551
+ */
4552
+ 'regexp/no-empty-string-literal'?: Linter.RuleEntry<[]>;
4553
+ /**
4554
+ * disallow escape backspace (`[\b]`)
4555
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-escape-backspace.html
4556
+ */
4557
+ 'regexp/no-escape-backspace'?: Linter.RuleEntry<[]>;
4558
+ /**
4559
+ * disallow unnecessary nested lookaround assertions
4560
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-extra-lookaround-assertions.html
4561
+ */
4562
+ 'regexp/no-extra-lookaround-assertions'?: Linter.RuleEntry<[]>;
4563
+ /**
4564
+ * disallow invalid regular expression strings in `RegExp` constructors
4565
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invalid-regexp.html
4566
+ */
4567
+ 'regexp/no-invalid-regexp'?: Linter.RuleEntry<[]>;
4568
+ /**
4569
+ * disallow invisible raw character
4570
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invisible-character.html
4571
+ */
4572
+ 'regexp/no-invisible-character'?: Linter.RuleEntry<[]>;
4573
+ /**
4574
+ * disallow lazy quantifiers at the end of an expression
4575
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-lazy-ends.html
4576
+ */
4577
+ 'regexp/no-lazy-ends'?: Linter.RuleEntry<RegexpNoLazyEnds>;
4578
+ /**
4579
+ * disallow legacy RegExp features
4580
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-legacy-features.html
4581
+ */
4582
+ 'regexp/no-legacy-features'?: Linter.RuleEntry<RegexpNoLegacyFeatures>;
4583
+ /**
4584
+ * disallow capturing groups that do not behave as one would expect
4585
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-capturing-group.html
4586
+ */
4587
+ 'regexp/no-misleading-capturing-group'?: Linter.RuleEntry<RegexpNoMisleadingCapturingGroup>;
4588
+ /**
4589
+ * disallow multi-code-point characters in character classes and quantifiers
4590
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-unicode-character.html
4591
+ */
4592
+ 'regexp/no-misleading-unicode-character'?: Linter.RuleEntry<RegexpNoMisleadingUnicodeCharacter>;
4593
+ /**
4594
+ * disallow missing `g` flag in patterns used in `String#matchAll` and `String#replaceAll`
4595
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-missing-g-flag.html
4596
+ */
4597
+ 'regexp/no-missing-g-flag'?: Linter.RuleEntry<RegexpNoMissingGFlag>;
4598
+ /**
4599
+ * disallow non-standard flags
4600
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-non-standard-flag.html
4601
+ */
4602
+ 'regexp/no-non-standard-flag'?: Linter.RuleEntry<[]>;
4603
+ /**
4604
+ * disallow obscure character ranges
4605
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-obscure-range.html
4606
+ */
4607
+ 'regexp/no-obscure-range'?: Linter.RuleEntry<RegexpNoObscureRange>;
4608
+ /**
4609
+ * disallow octal escape sequence
4610
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-octal.html
4611
+ */
4612
+ 'regexp/no-octal'?: Linter.RuleEntry<[]>;
4613
+ /**
4614
+ * disallow optional assertions
4615
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-optional-assertion.html
4616
+ */
4617
+ 'regexp/no-optional-assertion'?: Linter.RuleEntry<[]>;
4618
+ /**
4619
+ * disallow backreferences that reference a group that might not be matched
4620
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-potentially-useless-backreference.html
4621
+ */
4622
+ 'regexp/no-potentially-useless-backreference'?: Linter.RuleEntry<[]>;
4623
+ /**
4624
+ * disallow standalone backslashes (`\`)
4625
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-standalone-backslash.html
4626
+ */
4627
+ 'regexp/no-standalone-backslash'?: Linter.RuleEntry<[]>;
4628
+ /**
4629
+ * disallow exponential and polynomial backtracking
4630
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-backtracking.html
4631
+ */
4632
+ 'regexp/no-super-linear-backtracking'?: Linter.RuleEntry<RegexpNoSuperLinearBacktracking>;
4633
+ /**
4634
+ * disallow quantifiers that cause quadratic moves
4635
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-move.html
4636
+ */
4637
+ 'regexp/no-super-linear-move'?: Linter.RuleEntry<RegexpNoSuperLinearMove>;
4638
+ /**
4639
+ * disallow trivially nested assertions
4640
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-assertion.html
4379
4641
  */
4380
4642
  'regexp/no-trivially-nested-assertion'?: Linter.RuleEntry<[]>;
4381
4643
  /**
@@ -5491,6 +5753,11 @@ interface RuleOptions {
5491
5753
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
5492
5754
  */
5493
5755
  'svelte/no-navigation-without-resolve'?: Linter.RuleEntry<SvelteNoNavigationWithoutResolve>;
5756
+ /**
5757
+ * disallow `<style>` elements nested inside other elements or blocks
5758
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-nested-style-tag/
5759
+ */
5760
+ 'svelte/no-nested-style-tag'?: Linter.RuleEntry<[]>;
5494
5761
  /**
5495
5762
  * disallow use of not function in event handler
5496
5763
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
@@ -5606,6 +5873,11 @@ interface RuleOptions {
5606
5873
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-const/
5607
5874
  */
5608
5875
  'svelte/prefer-const'?: Linter.RuleEntry<SveltePreferConst>;
5876
+ /**
5877
+ * disallow unnecessary `$derived.by()` when `$derived()` is sufficient
5878
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-derived-over-derived-by/
5879
+ */
5880
+ 'svelte/prefer-derived-over-derived-by'?: Linter.RuleEntry<[]>;
5609
5881
  /**
5610
5882
  * destructure values from object stores for better change tracking & fewer redraws
5611
5883
  * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
@@ -6949,753 +7221,1563 @@ interface RuleOptions {
6949
7221
  */
6950
7222
  'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
6951
7223
  /**
6952
- * Improve regexes by making them shorter, consistent, and safer.
6953
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
7224
+ * Prefer better DOM traversal APIs.
7225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/better-dom-traversing.md
6954
7226
  */
6955
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
7227
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
7228
+ /**
7229
+ * Removed. Prefer `eslint-plugin-regexp`
7230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#better-regex
7231
+ * @deprecated
7232
+ */
7233
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
6956
7234
  /**
6957
7235
  * Enforce a specific parameter name in catch clauses.
6958
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
7236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/catch-error-name.md
6959
7237
  */
6960
7238
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
7239
+ /**
7240
+ * Enforce consistent class references in static methods.
7241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/class-reference-in-static-methods.md
7242
+ */
7243
+ 'unicorn/class-reference-in-static-methods'?: Linter.RuleEntry<UnicornClassReferenceInStaticMethods>;
7244
+ /**
7245
+ * Enforce better comment content.
7246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/comment-content.md
7247
+ */
7248
+ 'unicorn/comment-content'?: Linter.RuleEntry<UnicornCommentContent>;
6961
7249
  /**
6962
7250
  * Enforce consistent assertion style with `node:assert`.
6963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
7251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-assert.md
6964
7252
  */
6965
7253
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
7254
+ /**
7255
+ * Enforce consistent naming for boolean names.
7256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-boolean-name.md
7257
+ */
7258
+ 'unicorn/consistent-boolean-name'?: Linter.RuleEntry<UnicornConsistentBooleanName>;
7259
+ /**
7260
+ * Enforce consistent class member order.
7261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-class-member-order.md
7262
+ */
7263
+ 'unicorn/consistent-class-member-order'?: Linter.RuleEntry<UnicornConsistentClassMemberOrder>;
7264
+ /**
7265
+ * Enforce consistent spelling of compound words in identifiers.
7266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-compound-words.md
7267
+ */
7268
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
7269
+ /**
7270
+ * Enforce consistent conditional object spread style.
7271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-conditional-object-spread.md
7272
+ */
7273
+ 'unicorn/consistent-conditional-object-spread'?: Linter.RuleEntry<UnicornConsistentConditionalObjectSpread>;
6966
7274
  /**
6967
7275
  * Prefer passing `Date` directly to the constructor when cloning.
6968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
7276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-date-clone.md
6969
7277
  */
6970
7278
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
6971
7279
  /**
6972
7280
  * Use destructured variables over properties.
6973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
7281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-destructuring.md
6974
7282
  */
6975
7283
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
6976
7284
  /**
6977
7285
  * Prefer consistent types when spreading a ternary in an array literal.
6978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
7286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-empty-array-spread.md
6979
7287
  */
6980
7288
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
6981
7289
  /**
6982
7290
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
7291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-existence-index-check.md
6984
7292
  */
6985
7293
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
7294
+ /**
7295
+ * Enforce consistent decorator position on exported classes.
7296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-export-decorator-position.md
7297
+ */
7298
+ 'unicorn/consistent-export-decorator-position'?: Linter.RuleEntry<UnicornConsistentExportDecoratorPosition>;
6986
7299
  /**
6987
7300
  * Move function definitions to the highest possible scope.
6988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
7301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-function-scoping.md
6989
7302
  */
6990
7303
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
7304
+ /**
7305
+ * Enforce function syntax by role.
7306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-function-style.md
7307
+ */
7308
+ 'unicorn/consistent-function-style'?: Linter.RuleEntry<UnicornConsistentFunctionStyle>;
7309
+ /**
7310
+ * Enforce consistent JSON file reads before `JSON.parse()`.
7311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-json-file-read.md
7312
+ */
7313
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
7314
+ /**
7315
+ * Enforce consistent optional chaining for same-base member access.
7316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-optional-chaining.md
7317
+ */
7318
+ 'unicorn/consistent-optional-chaining'?: Linter.RuleEntry<[]>;
6991
7319
  /**
6992
7320
  * Enforce consistent style for escaping `${` in template literals.
6993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
7321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/consistent-template-literal-escape.md
6994
7322
  */
6995
7323
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
6996
7324
  /**
6997
7325
  * Enforce correct `Error` subclassing.
6998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
7326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/custom-error-definition.md
6999
7327
  */
7000
7328
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
7329
+ /**
7330
+ * Enforce consistent default export declarations.
7331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/default-export-style.md
7332
+ */
7333
+ 'unicorn/default-export-style'?: Linter.RuleEntry<UnicornDefaultExportStyle>;
7334
+ /**
7335
+ * Enforce consistent style for DOM element dataset access.
7336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/dom-node-dataset.md
7337
+ */
7338
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
7001
7339
  /**
7002
7340
  * Enforce no spaces between braces.
7003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
7341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/empty-brace-spaces.md
7004
7342
  */
7005
7343
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
7006
7344
  /**
7007
7345
  * Enforce passing a `message` value when creating a built-in error.
7008
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
7346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/error-message.md
7009
7347
  */
7010
7348
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
7011
7349
  /**
7012
7350
  * Require escape sequences to use uppercase or lowercase values.
7013
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
7351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/escape-case.md
7014
7352
  */
7015
7353
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
7016
7354
  /**
7017
7355
  * Add expiration conditions to TODO comments.
7018
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
7356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/expiring-todo-comments.md
7019
7357
  */
7020
7358
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
7021
7359
  /**
7022
7360
  * Enforce explicitly comparing the `length` or `size` property of a value.
7023
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
7361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/explicit-length-check.md
7024
7362
  */
7025
7363
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
7026
7364
  /**
7027
- * Enforce a case style for filenames.
7028
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
7365
+ * Enforce or disallow explicit `delay` argument for `setTimeout()` and `setInterval()`.
7366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/explicit-timer-delay.md
7367
+ */
7368
+ 'unicorn/explicit-timer-delay'?: Linter.RuleEntry<UnicornExplicitTimerDelay>;
7369
+ /**
7370
+ * Enforce a case style for filenames and directory names.
7371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/filename-case.md
7029
7372
  */
7030
7373
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
7374
+ /**
7375
+ * Require identifiers to match a specified regular expression.
7376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/id-match.md
7377
+ */
7378
+ 'unicorn/id-match'?: Linter.RuleEntry<UnicornIdMatch>;
7031
7379
  /**
7032
7380
  * Enforce specific import styles per module.
7033
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
7381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/import-style.md
7034
7382
  */
7035
7383
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
7036
7384
  /**
7037
7385
  * Prevent usage of variables from outside the scope of isolated functions.
7038
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
7386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/isolated-functions.md
7387
+ */
7388
+ 'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
7389
+ /**
7390
+ * Require or disallow logical assignment operator shorthand
7391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/logical-assignment-operators.md
7392
+ */
7393
+ 'unicorn/logical-assignment-operators'?: Linter.RuleEntry<UnicornLogicalAssignmentOperators>;
7394
+ /**
7395
+ * Limit the depth of nested calls.
7396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/max-nested-calls.md
7397
+ */
7398
+ 'unicorn/max-nested-calls'?: Linter.RuleEntry<UnicornMaxNestedCalls>;
7399
+ /**
7400
+ * Enforce replacements for variable, property, and filenames.
7401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/name-replacements.md
7402
+ */
7403
+ 'unicorn/name-replacements'?: Linter.RuleEntry<UnicornNameReplacements>;
7404
+ /**
7405
+ * Enforce correct use of `new` for builtin constructors.
7406
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/new-for-builtins.md
7407
+ */
7408
+ 'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7409
+ /**
7410
+ * Enforce specifying rules to disable in `eslint-disable` comments.
7411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-abusive-eslint-disable.md
7412
+ */
7413
+ 'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7414
+ /**
7415
+ * Disallow recursive access to `this` within getters and setters.
7416
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-accessor-recursion.md
7417
+ */
7418
+ 'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7419
+ /**
7420
+ * Disallow bitwise operators where a logical operator was likely intended.
7421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-accidental-bitwise-operator.md
7422
+ */
7423
+ 'unicorn/no-accidental-bitwise-operator'?: Linter.RuleEntry<[]>;
7424
+ /**
7425
+ * Disallow anonymous functions and classes as the default export.
7426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-anonymous-default-export.md
7427
+ */
7428
+ 'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7429
+ /**
7430
+ * Prevent passing a function reference directly to iterator methods.
7431
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-callback-reference.md
7432
+ */
7433
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
7434
+ /**
7435
+ * Disallow array accumulation with `Array#concat()` in loops.
7436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-concat-in-loop.md
7437
+ */
7438
+ 'unicorn/no-array-concat-in-loop'?: Linter.RuleEntry<[]>;
7439
+ /**
7440
+ * Disallow using reference values as `Array#fill()` values.
7441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-fill-with-reference-type.md
7442
+ */
7443
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
7444
+ /**
7445
+ * Disallow `.fill()` after `Array.from({length: …})`.
7446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-from-fill.md
7447
+ */
7448
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
7449
+ /**
7450
+ * Disallow front-of-array mutation.
7451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-front-mutation.md
7452
+ */
7453
+ 'unicorn/no-array-front-mutation'?: Linter.RuleEntry<[]>;
7454
+ /**
7455
+ * Disallow using the `this` argument in array methods.
7456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-method-this-argument.md
7457
+ */
7458
+ 'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7459
+ /**
7460
+ * Replaced by `unicorn/prefer-single-call` which covers more cases.
7461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
7462
+ * @deprecated
7463
+ */
7464
+ 'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7465
+ /**
7466
+ * Disallow `Array#reduce()` and `Array#reduceRight()`.
7467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-reduce.md
7468
+ */
7469
+ 'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7470
+ /**
7471
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
7472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-reverse.md
7473
+ */
7474
+ 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7475
+ /**
7476
+ * Prefer `Array#toSorted()` over `Array#sort()`.
7477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-sort.md
7478
+ */
7479
+ 'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
7480
+ /**
7481
+ * Disallow sorting arrays to get the minimum or maximum value.
7482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-sort-for-min-max.md
7483
+ */
7484
+ 'unicorn/no-array-sort-for-min-max'?: Linter.RuleEntry<[]>;
7485
+ /**
7486
+ * Prefer `Array#toSpliced()` over `Array#splice()`.
7487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-array-splice.md
7488
+ */
7489
+ 'unicorn/no-array-splice'?: Linter.RuleEntry<[]>;
7490
+ /**
7491
+ * Disallow asterisk prefixes in documentation comments.
7492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-asterisk-prefix-in-documentation-comments.md
7493
+ */
7494
+ 'unicorn/no-asterisk-prefix-in-documentation-comments'?: Linter.RuleEntry<[]>;
7495
+ /**
7496
+ * Disallow member access from await expression.
7497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-await-expression-member.md
7498
+ */
7499
+ 'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7500
+ /**
7501
+ * Disallow using `await` in `Promise` method parameters.
7502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-await-in-promise-methods.md
7503
+ */
7504
+ 'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7505
+ /**
7506
+ * Disallow unnecessary `Blob` to `File` conversion.
7507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-blob-to-file.md
7508
+ */
7509
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
7510
+ /**
7511
+ * Disallow boolean-returning sort comparators.
7512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-boolean-sort-comparator.md
7513
+ */
7514
+ 'unicorn/no-boolean-sort-comparator'?: Linter.RuleEntry<[]>;
7515
+ /**
7516
+ * Disallow `break` and `continue` in nested loops and switches inside loops.
7517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-break-in-nested-loop.md
7518
+ */
7519
+ 'unicorn/no-break-in-nested-loop'?: Linter.RuleEntry<[]>;
7520
+ /**
7521
+ * Prefer drawing canvases directly instead of converting them to images.
7522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-canvas-to-image.md
7523
+ */
7524
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
7525
+ /**
7526
+ * Disallow chained comparisons such as `a < b < c`.
7527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-chained-comparison.md
7528
+ */
7529
+ 'unicorn/no-chained-comparison'?: Linter.RuleEntry<[]>;
7530
+ /**
7531
+ * Disallow accessing `Map`, `Set`, `WeakMap`, and `WeakSet` entries with bracket notation.
7532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-collection-bracket-access.md
7039
7533
  */
7040
- 'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
7534
+ 'unicorn/no-collection-bracket-access'?: Linter.RuleEntry<[]>;
7041
7535
  /**
7042
- * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
7043
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
7536
+ * Disallow dynamic object property existence checks.
7537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-computed-property-existence-check.md
7044
7538
  */
7045
- 'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7539
+ 'unicorn/no-computed-property-existence-check'?: Linter.RuleEntry<[]>;
7046
7540
  /**
7047
- * Enforce specifying rules to disable in `eslint-disable` comments.
7048
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
7541
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
7542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-confusing-array-splice.md
7049
7543
  */
7050
- 'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7544
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
7051
7545
  /**
7052
- * Disallow recursive access to `this` within getters and setters.
7053
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
7546
+ * Disallow confusing uses of `Array#with()`.
7547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-confusing-array-with.md
7054
7548
  */
7055
- 'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7549
+ 'unicorn/no-confusing-array-with'?: Linter.RuleEntry<[]>;
7056
7550
  /**
7057
- * Disallow anonymous functions and classes as the default export.
7058
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
7551
+ * Do not use leading/trailing space between `console.log` parameters.
7552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-console-spaces.md
7059
7553
  */
7060
- 'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7554
+ 'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7061
7555
  /**
7062
- * Prevent passing a function reference directly to iterator methods.
7063
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
7556
+ * Disallow arithmetic and bitwise operations that always evaluate to `0`.
7557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-constant-zero-expression.md
7064
7558
  */
7065
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
7559
+ 'unicorn/no-constant-zero-expression'?: Linter.RuleEntry<[]>;
7066
7560
  /**
7067
- * Prefer `for…of` over the `forEach` method.
7068
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
7561
+ * Disallow declarations before conditional early exits when they are only used after the exit.
7562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-declarations-before-early-exit.md
7069
7563
  */
7070
- 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
7564
+ 'unicorn/no-declarations-before-early-exit'?: Linter.RuleEntry<[]>;
7071
7565
  /**
7072
- * Disallow using the `this` argument in array methods.
7073
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
7566
+ * Do not use `document.cookie` directly.
7567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-document-cookie.md
7074
7568
  */
7075
- 'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7569
+ 'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7076
7570
  /**
7077
- * Replaced by `unicorn/prefer-single-call` which covers more cases.
7078
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
7079
- * @deprecated
7571
+ * Disallow two comparisons of the same operands that can be combined into one.
7572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-double-comparison.md
7080
7573
  */
7081
- 'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7574
+ 'unicorn/no-double-comparison'?: Linter.RuleEntry<[]>;
7082
7575
  /**
7083
- * Disallow `Array#reduce()` and `Array#reduceRight()`.
7084
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
7576
+ * Disallow duplicate adjacent branches in if chains.
7577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-duplicate-if-branches.md
7085
7578
  */
7086
- 'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7579
+ 'unicorn/no-duplicate-if-branches'?: Linter.RuleEntry<[]>;
7087
7580
  /**
7088
- * Prefer `Array#toReversed()` over `Array#reverse()`.
7089
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
7581
+ * Disallow adjacent duplicate operands in logical expressions.
7582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-duplicate-logical-operands.md
7090
7583
  */
7091
- 'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7584
+ 'unicorn/no-duplicate-logical-operands'?: Linter.RuleEntry<[]>;
7092
7585
  /**
7093
- * Prefer `Array#toSorted()` over `Array#sort()`.
7094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
7586
+ * Disallow `.map()` and `.filter()` in `for…of` and `for await…of` loop headers.
7587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-duplicate-loops.md
7095
7588
  */
7096
- 'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
7589
+ 'unicorn/no-duplicate-loops'?: Linter.RuleEntry<[]>;
7097
7590
  /**
7098
- * Disallow member access from await expression.
7099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
7591
+ * Disallow duplicate values in `Set` constructor array literals.
7592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-duplicate-set-values.md
7100
7593
  */
7101
- 'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7594
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
7102
7595
  /**
7103
- * Disallow using `await` in `Promise` method parameters.
7104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
7596
+ * Disallow empty files.
7597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-empty-file.md
7105
7598
  */
7106
- 'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7599
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
7107
7600
  /**
7108
- * Do not use leading/trailing space between `console.log` parameters.
7109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
7601
+ * Disallow assigning to built-in error properties.
7602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-error-property-assignment.md
7110
7603
  */
7111
- 'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7604
+ 'unicorn/no-error-property-assignment'?: Linter.RuleEntry<[]>;
7112
7605
  /**
7113
- * Do not use `document.cookie` directly.
7114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
7606
+ * Disallow exports in scripts.
7607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-exports-in-scripts.md
7115
7608
  */
7116
- 'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7609
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
7117
7610
  /**
7118
- * Disallow empty files.
7119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
7611
+ * Prefer `for…of` over the `forEach` method.
7612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-for-each.md
7120
7613
  */
7121
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
7614
+ 'unicorn/no-for-each'?: Linter.RuleEntry<[]>;
7122
7615
  /**
7123
7616
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
7124
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
7617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-for-loop.md
7125
7618
  */
7126
7619
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
7127
7620
  /**
7128
- * Enforce the use of Unicode escapes instead of hexadecimal escapes.
7129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
7621
+ * Disallow assigning properties on the global object.
7622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-global-object-property-assignment.md
7623
+ */
7624
+ 'unicorn/no-global-object-property-assignment'?: Linter.RuleEntry<[]>;
7625
+ /**
7626
+ * Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.
7627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#no-hex-escape
7628
+ * @deprecated
7130
7629
  */
7131
7630
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
7132
7631
  /**
7133
7632
  * Disallow immediate mutation after variable assignment.
7134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
7633
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-immediate-mutation.md
7135
7634
  */
7136
7635
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
7636
+ /**
7637
+ * Disallow impossible comparisons against `.length` or `.size`.
7638
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-impossible-length-comparison.md
7639
+ */
7640
+ 'unicorn/no-impossible-length-comparison'?: Linter.RuleEntry<[]>;
7641
+ /**
7642
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
7643
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-incorrect-query-selector.md
7644
+ */
7645
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
7646
+ /**
7647
+ * Disallow incorrect template literal interpolation syntax.
7648
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-incorrect-template-string-interpolation.md
7649
+ */
7650
+ 'unicorn/no-incorrect-template-string-interpolation'?: Linter.RuleEntry<[]>;
7137
7651
  /**
7138
7652
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7653
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7140
7654
  * @deprecated
7141
7655
  */
7142
7656
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
7143
7657
  /**
7144
7658
  * Disallow `instanceof` with built-in objects
7145
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
7659
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-instanceof-builtins.md
7146
7660
  */
7147
7661
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
7662
+ /**
7663
+ * Disallow calling functions and constructors with an invalid number of arguments.
7664
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-invalid-argument-count.md
7665
+ */
7666
+ 'unicorn/no-invalid-argument-count'?: Linter.RuleEntry<UnicornNoInvalidArgumentCount>;
7667
+ /**
7668
+ * Disallow comparing a single character from a string to a multi-character string.
7669
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-invalid-character-comparison.md
7670
+ */
7671
+ 'unicorn/no-invalid-character-comparison'?: Linter.RuleEntry<[]>;
7148
7672
  /**
7149
7673
  * Disallow invalid options in `fetch()` and `new Request()`.
7150
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
7674
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-invalid-fetch-options.md
7151
7675
  */
7152
7676
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
7677
+ /**
7678
+ * Disallow invalid `accept` values on file inputs.
7679
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-invalid-file-input-accept.md
7680
+ */
7681
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
7153
7682
  /**
7154
7683
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
7155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
7684
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-invalid-remove-event-listener.md
7156
7685
  */
7157
7686
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
7158
7687
  /**
7159
7688
  * Disallow identifiers starting with `new` or `class`.
7160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
7689
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-keyword-prefix.md
7161
7690
  */
7162
7691
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
7692
+ /**
7693
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
7694
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-late-current-target-access.md
7695
+ */
7696
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
7163
7697
  /**
7164
7698
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7699
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7166
7700
  * @deprecated
7167
7701
  */
7168
7702
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
7169
7703
  /**
7170
7704
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7171
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
7705
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-lonely-if.md
7172
7706
  */
7173
7707
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
7708
+ /**
7709
+ * Disallow mutating a loop iterable during iteration.
7710
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-loop-iterable-mutation.md
7711
+ */
7712
+ 'unicorn/no-loop-iterable-mutation'?: Linter.RuleEntry<[]>;
7174
7713
  /**
7175
7714
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7176
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
7715
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-magic-array-flat-depth.md
7177
7716
  */
7178
7717
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
7718
+ /**
7719
+ * Disallow manually wrapped comments.
7720
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-manually-wrapped-comments.md
7721
+ */
7722
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
7723
+ /**
7724
+ * Disallow checking a Map key before accessing a different key.
7725
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-mismatched-map-key.md
7726
+ */
7727
+ 'unicorn/no-mismatched-map-key'?: Linter.RuleEntry<[]>;
7728
+ /**
7729
+ * Disallow misrefactored compound assignments where the target is duplicated in the right-hand side.
7730
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-misrefactored-assignment.md
7731
+ */
7732
+ 'unicorn/no-misrefactored-assignment'?: Linter.RuleEntry<[]>;
7179
7733
  /**
7180
7734
  * Disallow named usage of default import and export.
7181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
7735
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-named-default.md
7182
7736
  */
7183
7737
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
7738
+ /**
7739
+ * Disallow negated array predicate calls.
7740
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-negated-array-predicate.md
7741
+ */
7742
+ 'unicorn/no-negated-array-predicate'?: Linter.RuleEntry<[]>;
7743
+ /**
7744
+ * Disallow negated comparisons.
7745
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-negated-comparison.md
7746
+ */
7747
+ 'unicorn/no-negated-comparison'?: Linter.RuleEntry<UnicornNoNegatedComparison>;
7184
7748
  /**
7185
7749
  * Disallow negated conditions.
7186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
7750
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-negated-condition.md
7187
7751
  */
7188
7752
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
7189
7753
  /**
7190
7754
  * Disallow negated expression in equality check.
7191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
7755
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-negation-in-equality-check.md
7192
7756
  */
7193
7757
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
7194
7758
  /**
7195
7759
  * Disallow nested ternary expressions.
7196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
7760
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-nested-ternary.md
7197
7761
  */
7198
7762
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
7199
7763
  /**
7200
7764
  * Disallow `new Array()`.
7201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
7765
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-new-array.md
7202
7766
  */
7203
7767
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
7204
7768
  /**
7205
7769
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
7770
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-new-buffer.md
7207
7771
  */
7208
7772
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
7773
+ /**
7774
+ * Disallow non-function values with function-style verb prefixes.
7775
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-non-function-verb-prefix.md
7776
+ */
7777
+ 'unicorn/no-non-function-verb-prefix'?: Linter.RuleEntry<UnicornNoNonFunctionVerbPrefix>;
7778
+ /**
7779
+ * Disallow non-standard properties on built-in objects.
7780
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-nonstandard-builtin-properties.md
7781
+ */
7782
+ 'unicorn/no-nonstandard-builtin-properties'?: Linter.RuleEntry<[]>;
7209
7783
  /**
7210
7784
  * Disallow the use of the `null` literal.
7211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
7785
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-null.md
7212
7786
  */
7213
7787
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
7214
7788
  /**
7215
7789
  * Disallow the use of objects as default parameters.
7216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
7790
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-object-as-default-parameter.md
7217
7791
  */
7218
7792
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
7793
+ /**
7794
+ * Disallow `Object` methods with `Map` or `Set`.
7795
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-object-methods-with-collections.md
7796
+ */
7797
+ 'unicorn/no-object-methods-with-collections'?: Linter.RuleEntry<[]>;
7798
+ /**
7799
+ * Disallow optional chaining on undeclared variables.
7800
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-optional-chaining-on-undeclared-variable.md
7801
+ */
7802
+ 'unicorn/no-optional-chaining-on-undeclared-variable'?: Linter.RuleEntry<[]>;
7219
7803
  /**
7220
7804
  * Disallow `process.exit()`.
7221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
7805
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-process-exit.md
7222
7806
  */
7223
7807
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
7808
+ /**
7809
+ * Disallow comparisons made redundant by an equality check in the same logical AND.
7810
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-redundant-comparison.md
7811
+ */
7812
+ 'unicorn/no-redundant-comparison'?: Linter.RuleEntry<[]>;
7813
+ /**
7814
+ * Disallow using the return value of `Array#push()` and `Array#unshift()`.
7815
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-return-array-push.md
7816
+ */
7817
+ 'unicorn/no-return-array-push'?: Linter.RuleEntry<[]>;
7818
+ /**
7819
+ * Disallow selector syntax in DOM names.
7820
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-selector-as-dom-name.md
7821
+ */
7822
+ 'unicorn/no-selector-as-dom-name'?: Linter.RuleEntry<[]>;
7224
7823
  /**
7225
7824
  * Disallow passing single-element arrays to `Promise` methods.
7226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
7825
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-single-promise-in-promise-methods.md
7227
7826
  */
7228
7827
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
7229
7828
  /**
7230
7829
  * Disallow classes that only have static members.
7231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
7830
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-static-only-class.md
7232
7831
  */
7233
7832
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7833
+ /**
7834
+ * Prefer comparing values directly over subtracting and comparing to `0`.
7835
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-subtraction-comparison.md
7836
+ */
7837
+ 'unicorn/no-subtraction-comparison'?: Linter.RuleEntry<[]>;
7234
7838
  /**
7235
7839
  * Disallow `then` property.
7236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
7840
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-thenable.md
7237
7841
  */
7238
7842
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
7239
7843
  /**
7240
7844
  * Disallow assigning `this` to a variable.
7241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
7845
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-this-assignment.md
7242
7846
  */
7243
7847
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
7848
+ /**
7849
+ * Disallow `this` outside of classes.
7850
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-this-outside-of-class.md
7851
+ */
7852
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
7853
+ /**
7854
+ * Disallow assigning to top-level variables from inside functions.
7855
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-top-level-assignment-in-function.md
7856
+ */
7857
+ 'unicorn/no-top-level-assignment-in-function'?: Linter.RuleEntry<[]>;
7858
+ /**
7859
+ * Disallow top-level side effects in exported modules.
7860
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-top-level-side-effects.md
7861
+ */
7862
+ 'unicorn/no-top-level-side-effects'?: Linter.RuleEntry<[]>;
7244
7863
  /**
7245
7864
  * Disallow comparing `undefined` using `typeof`.
7246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
7865
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-typeof-undefined.md
7247
7866
  */
7248
7867
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7868
+ /**
7869
+ * Disallow referencing methods without calling them.
7870
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-uncalled-method.md
7871
+ */
7872
+ 'unicorn/no-uncalled-method'?: Linter.RuleEntry<[]>;
7873
+ /**
7874
+ * Require class members to be declared.
7875
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-undeclared-class-members.md
7876
+ */
7877
+ 'unicorn/no-undeclared-class-members'?: Linter.RuleEntry<[]>;
7249
7878
  /**
7250
7879
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7880
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-array-flat-depth.md
7252
7881
  */
7253
7882
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7254
7883
  /**
7255
7884
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
7885
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-array-splice-count.md
7257
7886
  */
7258
7887
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
7259
7888
  /**
7260
7889
  * Disallow awaiting non-promise values.
7261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
7890
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-await.md
7262
7891
  */
7263
7892
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
7893
+ /**
7894
+ * Disallow unnecessary comparisons against boolean literals.
7895
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-boolean-comparison.md
7896
+ */
7897
+ 'unicorn/no-unnecessary-boolean-comparison'?: Linter.RuleEntry<[]>;
7898
+ /**
7899
+ * Disallow unnecessary `globalThis` references.
7900
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-global-this.md
7901
+ */
7902
+ 'unicorn/no-unnecessary-global-this'?: Linter.RuleEntry<[]>;
7903
+ /**
7904
+ * Disallow unnecessary nested ternary expressions.
7905
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-nested-ternary.md
7906
+ */
7907
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
7264
7908
  /**
7265
7909
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
7910
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-polyfills.md
7267
7911
  */
7268
7912
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
7269
7913
  /**
7270
7914
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
7915
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-slice-end.md
7272
7916
  */
7273
7917
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7918
+ /**
7919
+ * Disallow `Array#splice()` when simpler alternatives exist.
7920
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unnecessary-splice.md
7921
+ */
7922
+ 'unicorn/no-unnecessary-splice'?: Linter.RuleEntry<[]>;
7274
7923
  /**
7275
7924
  * Disallow unreadable array destructuring.
7276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
7925
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unreadable-array-destructuring.md
7926
+ */
7927
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<UnicornNoUnreadableArrayDestructuring>;
7928
+ /**
7929
+ * Disallow unreadable iterable expressions in `for…of` and `for await…of` loop headers.
7930
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unreadable-for-of-expression.md
7277
7931
  */
7278
- 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7932
+ 'unicorn/no-unreadable-for-of-expression'?: Linter.RuleEntry<[]>;
7279
7933
  /**
7280
7934
  * Disallow unreadable IIFEs.
7281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
7935
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unreadable-iife.md
7282
7936
  */
7283
7937
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
7938
+ /**
7939
+ * Disallow unreadable `new` expressions.
7940
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unreadable-new-expression.md
7941
+ */
7942
+ 'unicorn/no-unreadable-new-expression'?: Linter.RuleEntry<[]>;
7943
+ /**
7944
+ * Disallow unreadable object destructuring.
7945
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unreadable-object-destructuring.md
7946
+ */
7947
+ 'unicorn/no-unreadable-object-destructuring'?: Linter.RuleEntry<[]>;
7948
+ /**
7949
+ * Prevent unsafe use of ArrayBuffer view `.buffer`.
7950
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unsafe-buffer-conversion.md
7951
+ */
7952
+ 'unicorn/no-unsafe-buffer-conversion'?: Linter.RuleEntry<[]>;
7953
+ /**
7954
+ * Disallow unsafe DOM HTML APIs.
7955
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unsafe-dom-html.md
7956
+ */
7957
+ 'unicorn/no-unsafe-dom-html'?: Linter.RuleEntry<[]>;
7958
+ /**
7959
+ * Disallow unsafe values as property keys.
7960
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unsafe-property-key.md
7961
+ */
7962
+ 'unicorn/no-unsafe-property-key'?: Linter.RuleEntry<[]>;
7963
+ /**
7964
+ * Disallow non-literal replacement values in `String#replace()` and `String#replaceAll()`.
7965
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unsafe-string-replacement.md
7966
+ */
7967
+ 'unicorn/no-unsafe-string-replacement'?: Linter.RuleEntry<[]>;
7968
+ /**
7969
+ * Disallow ignoring the return value of selected array methods.
7970
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unused-array-method-return.md
7971
+ */
7972
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
7284
7973
  /**
7285
7974
  * Disallow unused object properties.
7286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
7975
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-unused-properties.md
7287
7976
  */
7288
7977
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
7978
+ /**
7979
+ * Disallow unnecessary `Boolean()` casts in array predicate callbacks.
7980
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-boolean-cast.md
7981
+ */
7982
+ 'unicorn/no-useless-boolean-cast'?: Linter.RuleEntry<[]>;
7983
+ /**
7984
+ * Disallow useless type coercions of values that are already of the target type.
7985
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-coercion.md
7986
+ */
7987
+ 'unicorn/no-useless-coercion'?: Linter.RuleEntry<[]>;
7289
7988
  /**
7290
7989
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
7291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
7990
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-collection-argument.md
7292
7991
  */
7293
7992
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
7993
+ /**
7994
+ * Disallow useless compound assignments such as `x += 0`.
7995
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-compound-assignment.md
7996
+ */
7997
+ 'unicorn/no-useless-compound-assignment'?: Linter.RuleEntry<[]>;
7998
+ /**
7999
+ * Disallow useless concatenation of literals.
8000
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-concat.md
8001
+ */
8002
+ 'unicorn/no-useless-concat'?: Linter.RuleEntry<[]>;
8003
+ /**
8004
+ * Disallow useless `continue` statements.
8005
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-continue.md
8006
+ */
8007
+ 'unicorn/no-useless-continue'?: Linter.RuleEntry<[]>;
8008
+ /**
8009
+ * Disallow unnecessary existence checks before deletion.
8010
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-delete-check.md
8011
+ */
8012
+ 'unicorn/no-useless-delete-check'?: Linter.RuleEntry<[]>;
8013
+ /**
8014
+ * Disallow `else` after a statement that exits.
8015
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-else.md
8016
+ */
8017
+ 'unicorn/no-useless-else'?: Linter.RuleEntry<[]>;
7294
8018
  /**
7295
8019
  * Disallow unnecessary `Error.captureStackTrace(…)`.
7296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8020
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-error-capture-stack-trace.md
7297
8021
  */
7298
8022
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
7299
8023
  /**
7300
8024
  * Disallow useless fallback when spreading in object literals.
7301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
8025
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-fallback-in-spread.md
7302
8026
  */
7303
8027
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7304
8028
  /**
7305
8029
  * Disallow unnecessary `.toArray()` on iterators.
7306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
8030
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-iterator-to-array.md
7307
8031
  */
7308
8032
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
7309
8033
  /**
7310
8034
  * Disallow useless array length check.
7311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
8035
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-length-check.md
7312
8036
  */
7313
8037
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
8038
+ /**
8039
+ * Disallow unnecessary operands in logical expressions involving boolean literals.
8040
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-logical-operand.md
8041
+ */
8042
+ 'unicorn/no-useless-logical-operand'?: Linter.RuleEntry<[]>;
8043
+ /**
8044
+ * Disallow useless overrides of class methods.
8045
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-override.md
8046
+ */
8047
+ 'unicorn/no-useless-override'?: Linter.RuleEntry<[]>;
7314
8048
  /**
7315
8049
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
8050
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-promise-resolve-reject.md
7317
8051
  */
7318
8052
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
8053
+ /**
8054
+ * Disallow simple recursive function calls that can be replaced with a loop.
8055
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-recursion.md
8056
+ */
8057
+ 'unicorn/no-useless-recursion'?: Linter.RuleEntry<[]>;
7319
8058
  /**
7320
8059
  * Disallow unnecessary spread.
7321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
8060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-spread.md
7322
8061
  */
7323
8062
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
7324
8063
  /**
7325
8064
  * Disallow useless case in switch statements.
7326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
8065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-switch-case.md
7327
8066
  */
7328
8067
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
8068
+ /**
8069
+ * Disallow useless template literal expressions.
8070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-template-literals.md
8071
+ */
8072
+ 'unicorn/no-useless-template-literals'?: Linter.RuleEntry<[]>;
7329
8073
  /**
7330
8074
  * Disallow useless `undefined`.
7331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
8075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-useless-undefined.md
7332
8076
  */
7333
8077
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
8078
+ /**
8079
+ * Disallow the bitwise XOR operator where exponentiation was likely intended.
8080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-xor-as-exponentiation.md
8081
+ */
8082
+ 'unicorn/no-xor-as-exponentiation'?: Linter.RuleEntry<[]>;
7334
8083
  /**
7335
8084
  * Disallow number literals with zero fractions or dangling dots.
7336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
8085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/no-zero-fractions.md
7337
8086
  */
7338
8087
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
7339
8088
  /**
7340
8089
  * Enforce proper case for numeric literals.
7341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
8090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/number-literal-case.md
7342
8091
  */
7343
8092
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
7344
8093
  /**
7345
8094
  * Enforce the style of numeric separators by correctly grouping digits.
7346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
8095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/numeric-separators-style.md
7347
8096
  */
7348
8097
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
8098
+ /**
8099
+ * Require assignment operator shorthand where possible.
8100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/operator-assignment.md
8101
+ */
8102
+ 'unicorn/operator-assignment'?: Linter.RuleEntry<UnicornOperatorAssignment>;
7349
8103
  /**
7350
8104
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
8105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-add-event-listener.md
7352
8106
  */
7353
8107
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
8108
+ /**
8109
+ * Prefer an options object over a boolean in `.addEventListener()`.
8110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-add-event-listener-options.md
8111
+ */
8112
+ 'unicorn/prefer-add-event-listener-options'?: Linter.RuleEntry<[]>;
7354
8113
  /**
7355
8114
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
8115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-find.md
7357
8116
  */
7358
8117
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
7359
8118
  /**
7360
8119
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
8120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-flat.md
7362
8121
  */
7363
8122
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
7364
8123
  /**
7365
- * Prefer `.flatMap(…)` over `.map(…).flat()`.
7366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
8124
+ * Prefer `.flatMap(…)` over `.map(…).flat()` and `.filter(…).flatMap(…)`.
8125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-flat-map.md
7367
8126
  */
7368
8127
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
8128
+ /**
8129
+ * Prefer `Array.fromAsync()` over `for await…of` array accumulation.
8130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-from-async.md
8131
+ */
8132
+ 'unicorn/prefer-array-from-async'?: Linter.RuleEntry<[]>;
8133
+ /**
8134
+ * Prefer using the `Array.from()` mapping function argument.
8135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-from-map.md
8136
+ */
8137
+ 'unicorn/prefer-array-from-map'?: Linter.RuleEntry<[]>;
7369
8138
  /**
7370
8139
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
8140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-index-of.md
7372
8141
  */
7373
8142
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
8143
+ /**
8144
+ * Prefer iterating an array directly or with `Array#keys()` over `Array#entries()` when the index or value is unused.
8145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-iterable-methods.md
8146
+ */
8147
+ 'unicorn/prefer-array-iterable-methods'?: Linter.RuleEntry<[]>;
8148
+ /**
8149
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
8150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-last-methods.md
8151
+ */
8152
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
8153
+ /**
8154
+ * Prefer `Array#slice()` over `Array#splice()` when reading from the returned array.
8155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-slice.md
8156
+ */
8157
+ 'unicorn/prefer-array-slice'?: Linter.RuleEntry<[]>;
7374
8158
  /**
7375
8159
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
8160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-array-some.md
7377
8161
  */
7378
8162
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
7379
8163
  /**
7380
8164
  * Prefer `.at()` method for index access and `String#charAt()`.
7381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
8165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-at.md
7382
8166
  */
7383
8167
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
8168
+ /**
8169
+ * Prefer `await` over promise chaining.
8170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-await.md
8171
+ */
8172
+ 'unicorn/prefer-await'?: Linter.RuleEntry<[]>;
7384
8173
  /**
7385
8174
  * Prefer `BigInt` literals over the constructor.
7386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
8175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-bigint-literals.md
7387
8176
  */
7388
8177
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
7389
8178
  /**
7390
8179
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
8180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-blob-reading-methods.md
7392
8181
  */
7393
8182
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
8183
+ /**
8184
+ * Prefer directly returning boolean expressions over `if` statements.
8185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-boolean-return.md
8186
+ */
8187
+ 'unicorn/prefer-boolean-return'?: Linter.RuleEntry<[]>;
7394
8188
  /**
7395
8189
  * Prefer class field declarations over `this` assignments in constructors.
7396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
8190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-class-fields.md
7397
8191
  */
7398
8192
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7399
8193
  /**
7400
8194
  * Prefer using `Element#classList.toggle()` to toggle class names.
7401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
8195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-classlist-toggle.md
7402
8196
  */
7403
8197
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7404
8198
  /**
7405
8199
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
8200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-code-point.md
7407
8201
  */
7408
8202
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
8203
+ /**
8204
+ * Prefer early continues over whole-loop conditional wrapping.
8205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-continue.md
8206
+ */
8207
+ 'unicorn/prefer-continue'?: Linter.RuleEntry<UnicornPreferContinue>;
7409
8208
  /**
7410
8209
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
8210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-date-now.md
7412
8211
  */
7413
8212
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7414
8213
  /**
7415
8214
  * Prefer default parameters over reassignment.
7416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
8215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-default-parameters.md
7417
8216
  */
7418
8217
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7419
8218
  /**
7420
- * Prefer `Node#append()` over `Node#appendChild()`.
7421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
8219
+ * Prefer direct iteration over default iterator method calls.
8220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-direct-iteration.md
8221
+ */
8222
+ 'unicorn/prefer-direct-iteration'?: Linter.RuleEntry<[]>;
8223
+ /**
8224
+ * Prefer using `using`/`await using` over manual `try`/`finally` resource disposal.
8225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-dispose.md
8226
+ */
8227
+ 'unicorn/prefer-dispose'?: Linter.RuleEntry<[]>;
8228
+ /**
8229
+ * Prefer `Element#append()` over `Node#appendChild()`.
8230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-dom-node-append.md
7422
8231
  */
7423
8232
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7424
8233
  /**
7425
- * Prefer using `.dataset` on DOM elements over calling attribute methods.
7426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
8234
+ * Renamed to `unicorn/dom-node-dataset`.
8235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
8236
+ * @deprecated
7427
8237
  */
7428
8238
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
8239
+ /**
8240
+ * Prefer `.getHTML()` and `.setHTML()` over `.innerHTML`.
8241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-dom-node-html-methods.md
8242
+ */
8243
+ 'unicorn/prefer-dom-node-html-methods'?: Linter.RuleEntry<[]>;
7429
8244
  /**
7430
8245
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
8246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-dom-node-remove.md
7432
8247
  */
7433
8248
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7434
8249
  /**
7435
8250
  * Prefer `.textContent` over `.innerText`.
7436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
8251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-dom-node-text-content.md
7437
8252
  */
7438
8253
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
8254
+ /**
8255
+ * Prefer early returns over full-function conditional wrapping.
8256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-early-return.md
8257
+ */
8258
+ 'unicorn/prefer-early-return'?: Linter.RuleEntry<UnicornPreferEarlyReturn>;
8259
+ /**
8260
+ * Prefer `else if` over adjacent `if` statements with related conditions.
8261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-else-if.md
8262
+ */
8263
+ 'unicorn/prefer-else-if'?: Linter.RuleEntry<[]>;
7439
8264
  /**
7440
8265
  * Prefer `EventTarget` over `EventEmitter`.
7441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
8266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-event-target.md
7442
8267
  */
7443
8268
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7444
8269
  /**
7445
8270
  * Prefer `export…from` when re-exporting.
7446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
8271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-export-from.md
7447
8272
  */
7448
8273
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
8274
+ /**
8275
+ * Prefer flat `Math.min()` and `Math.max()` calls over nested calls.
8276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-flat-math-min-max.md
8277
+ */
8278
+ 'unicorn/prefer-flat-math-min-max'?: Linter.RuleEntry<[]>;
8279
+ /**
8280
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
8281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-get-or-insert-computed.md
8282
+ */
8283
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
8284
+ /**
8285
+ * Prefer global numeric constants over `Number` static properties.
8286
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-global-number-constants.md
8287
+ */
8288
+ 'unicorn/prefer-global-number-constants'?: Linter.RuleEntry<[]>;
7449
8289
  /**
7450
8290
  * Prefer `globalThis` over `window`, `self`, and `global`.
7451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
8291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-global-this.md
7452
8292
  */
7453
8293
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
8294
+ /**
8295
+ * Prefer `.has()` when checking existence.
8296
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-has-check.md
8297
+ */
8298
+ 'unicorn/prefer-has-check'?: Linter.RuleEntry<[]>;
8299
+ /**
8300
+ * Prefer moving code shared by all branches of an `if` statement out of the branches.
8301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-hoisting-branch-code.md
8302
+ */
8303
+ 'unicorn/prefer-hoisting-branch-code'?: Linter.RuleEntry<[]>;
8304
+ /**
8305
+ * Prefer HTTPS over HTTP.
8306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-https.md
8307
+ */
8308
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
8309
+ /**
8310
+ * Prefer identifiers over string literals in import and export specifiers.
8311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-identifier-import-export-specifiers.md
8312
+ */
8313
+ 'unicorn/prefer-identifier-import-export-specifiers'?: Linter.RuleEntry<[]>;
7454
8314
  /**
7455
8315
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
8316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-import-meta-properties.md
7457
8317
  */
7458
8318
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7459
8319
  /**
7460
8320
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
8321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-includes.md
7462
8322
  */
7463
8323
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7464
8324
  /**
7465
- * Prefer reading a JSON file as a buffer.
7466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
8325
+ * Prefer `.includes()` over repeated equality comparisons.
8326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-includes-over-repeated-comparisons.md
8327
+ */
8328
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
8329
+ /**
8330
+ * Prefer passing iterables directly to constructors instead of filling empty collections.
8331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-iterable-in-constructor.md
8332
+ */
8333
+ 'unicorn/prefer-iterable-in-constructor'?: Linter.RuleEntry<[]>;
8334
+ /**
8335
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
8336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-iterator-concat.md
8337
+ */
8338
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
8339
+ /**
8340
+ * Prefer `Iterator#toArray()` over temporary arrays from iterator spreads.
8341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-iterator-to-array.md
8342
+ */
8343
+ 'unicorn/prefer-iterator-to-array'?: Linter.RuleEntry<[]>;
8344
+ /**
8345
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
8346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-iterator-to-array-at-end.md
8347
+ */
8348
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
8349
+ /**
8350
+ * Renamed to `unicorn/consistent-json-file-read`.
8351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
8352
+ * @deprecated
7467
8353
  */
7468
8354
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7469
8355
  /**
7470
- * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
8356
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
8357
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-keyboard-event-key.md
7472
8358
  */
7473
8359
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
8360
+ /**
8361
+ * Prefer `location.assign()` over assigning to `location.href`.
8362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-location-assign.md
8363
+ */
8364
+ 'unicorn/prefer-location-assign'?: Linter.RuleEntry<[]>;
7474
8365
  /**
7475
8366
  * Prefer using a logical operator over a ternary.
7476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
8367
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-logical-operator-over-ternary.md
7477
8368
  */
7478
8369
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
8370
+ /**
8371
+ * Prefer `new Map()` over `Object.fromEntries()` when using the result as a map.
8372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-map-from-entries.md
8373
+ */
8374
+ 'unicorn/prefer-map-from-entries'?: Linter.RuleEntry<[]>;
8375
+ /**
8376
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
8377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-math-abs.md
8378
+ */
8379
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
8380
+ /**
8381
+ * Prefer `Math` constants over their approximate numeric values.
8382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-math-constants.md
8383
+ */
8384
+ 'unicorn/prefer-math-constants'?: Linter.RuleEntry<[]>;
7479
8385
  /**
7480
8386
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
8387
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-math-min-max.md
7482
8388
  */
7483
8389
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7484
8390
  /**
7485
- * Enforce the use of `Math.trunc` instead of bitwise operators.
7486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
8391
+ * Prefer `Math.trunc()` for truncating numbers.
8392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-math-trunc.md
7487
8393
  */
7488
8394
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7489
8395
  /**
7490
- * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
8396
+ * Prefer moving ternaries into the minimal varying part of an expression.
8397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-minimal-ternary.md
8398
+ */
8399
+ 'unicorn/prefer-minimal-ternary'?: Linter.RuleEntry<UnicornPreferMinimalTernary>;
8400
+ /**
8401
+ * Prefer modern DOM APIs.
8402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-modern-dom-apis.md
7492
8403
  */
7493
8404
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7494
8405
  /**
7495
8406
  * Prefer modern `Math` APIs over legacy patterns.
7496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
8407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-modern-math-apis.md
7497
8408
  */
7498
8409
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7499
8410
  /**
7500
8411
  * Prefer JavaScript modules (ESM) over CommonJS.
7501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
8412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-module.md
7502
8413
  */
7503
8414
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7504
8415
  /**
7505
8416
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
8417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-native-coercion-functions.md
7507
8418
  */
7508
8419
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7509
8420
  /**
7510
8421
  * Prefer negative index over `.length - index` when possible.
7511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
8422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-negative-index.md
7512
8423
  */
7513
8424
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7514
8425
  /**
7515
8426
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
8427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-node-protocol.md
7517
8428
  */
7518
8429
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7519
8430
  /**
7520
- * Prefer `Number` static properties over global ones.
7521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
8431
+ * Prefer `Number()` over `parseFloat()` and base-10 `parseInt()`.
8432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-number-coercion.md
8433
+ */
8434
+ 'unicorn/prefer-number-coercion'?: Linter.RuleEntry<[]>;
8435
+ /**
8436
+ * Prefer `Number.isSafeInteger()` over integer checks.
8437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-number-is-safe-integer.md
8438
+ */
8439
+ 'unicorn/prefer-number-is-safe-integer'?: Linter.RuleEntry<[]>;
8440
+ /**
8441
+ * Prefer `Number` static methods over global functions and optionally static properties over global constants.
8442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-number-properties.md
7522
8443
  */
7523
8444
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
8445
+ /**
8446
+ * Prefer `Object.defineProperties()` over multiple `Object.defineProperty()` calls.
8447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-object-define-properties.md
8448
+ */
8449
+ 'unicorn/prefer-object-define-properties'?: Linter.RuleEntry<[]>;
8450
+ /**
8451
+ * Prefer object destructuring defaults over default object literals with spread.
8452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-object-destructuring-defaults.md
8453
+ */
8454
+ 'unicorn/prefer-object-destructuring-defaults'?: Linter.RuleEntry<[]>;
7524
8455
  /**
7525
8456
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
8457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-object-from-entries.md
7527
8458
  */
7528
8459
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
8460
+ /**
8461
+ * Prefer the most specific `Object` iterable method.
8462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-object-iterable-methods.md
8463
+ */
8464
+ 'unicorn/prefer-object-iterable-methods'?: Linter.RuleEntry<[]>;
7529
8465
  /**
7530
8466
  * Prefer omitting the `catch` binding parameter.
7531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
8467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-optional-catch-binding.md
7532
8468
  */
7533
8469
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7534
8470
  /**
7535
- * Prefer borrowing methods from the prototype instead of the instance.
7536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
8471
+ * Prefer `Path2D` for repeatedly drawn canvas paths.
8472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-path2d.md
8473
+ */
8474
+ 'unicorn/prefer-path2d'?: Linter.RuleEntry<[]>;
8475
+ /**
8476
+ * Prefer private class fields over the underscore-prefix convention.
8477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-private-class-fields.md
8478
+ */
8479
+ 'unicorn/prefer-private-class-fields'?: Linter.RuleEntry<[]>;
8480
+ /**
8481
+ * Prefer `Promise.withResolvers()` when extracting resolver functions from `new Promise()`.
8482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-promise-with-resolvers.md
8483
+ */
8484
+ 'unicorn/prefer-promise-with-resolvers'?: Linter.RuleEntry<[]>;
8485
+ /**
8486
+ * Prefer borrowing methods from the prototype instead of the instance.
8487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-prototype-methods.md
8488
+ */
8489
+ 'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
8490
+ /**
8491
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
8492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-query-selector.md
8493
+ */
8494
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
8495
+ /**
8496
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
8497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-queue-microtask.md
8498
+ */
8499
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
8500
+ /**
8501
+ * Prefer `Reflect.apply()` over `Function#apply()`.
8502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-reflect-apply.md
8503
+ */
8504
+ 'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
8505
+ /**
8506
+ * Prefer `RegExp.escape()` for escaping strings to use in regular expressions.
8507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-regexp-escape.md
8508
+ */
8509
+ 'unicorn/prefer-regexp-escape'?: Linter.RuleEntry<[]>;
8510
+ /**
8511
+ * Prefer `RegExp#test()` over `String#match()`, `String#search()`, and `RegExp#exec()`.
8512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-regexp-test.md
8513
+ */
8514
+ 'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8515
+ /**
8516
+ * Prefer `Response.json()` over `new Response(JSON.stringify())`.
8517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-response-static-json.md
8518
+ */
8519
+ 'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
8520
+ /**
8521
+ * Prefer `:scope` when using element query selector methods.
8522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-scoped-selector.md
8523
+ */
8524
+ 'unicorn/prefer-scoped-selector'?: Linter.RuleEntry<[]>;
8525
+ /**
8526
+ * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
8527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-set-has.md
8528
+ */
8529
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
8530
+ /**
8531
+ * Prefer using `Set#size` instead of `Array#length`.
8532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-set-size.md
8533
+ */
8534
+ 'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
8535
+ /**
8536
+ * Prefer arrow function properties over methods with a single return.
8537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-short-arrow-method.md
8538
+ */
8539
+ 'unicorn/prefer-short-arrow-method'?: Linter.RuleEntry<[]>;
8540
+ /**
8541
+ * Prefer simple conditions first in logical expressions.
8542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-simple-condition-first.md
8543
+ */
8544
+ 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8545
+ /**
8546
+ * Prefer a simple comparison function for `Array#sort()`.
8547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-simple-sort-comparator.md
7537
8548
  */
7538
- 'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
8549
+ 'unicorn/prefer-simple-sort-comparator'?: Linter.RuleEntry<[]>;
7539
8550
  /**
7540
- * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
8551
+ * Prefer a single `Array#some()` or `Array#every()` with a combined predicate.
8552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-single-array-predicate.md
7542
8553
  */
7543
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
8554
+ 'unicorn/prefer-single-array-predicate'?: Linter.RuleEntry<[]>;
7544
8555
  /**
7545
- * Prefer `Reflect.apply()` over `Function#apply()`.
7546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
8556
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
8557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-single-call.md
7547
8558
  */
7548
- 'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
8559
+ 'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
7549
8560
  /**
7550
- * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
8561
+ * Prefer a single object destructuring declaration per local const source.
8562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-single-object-destructuring.md
7552
8563
  */
7553
- 'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
8564
+ 'unicorn/prefer-single-object-destructuring'?: Linter.RuleEntry<[]>;
7554
8565
  /**
7555
- * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
8566
+ * Enforce combining multiple single-character replacements into a single `String#replaceAll()` with a regular expression.
8567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-single-replace.md
7557
8568
  */
7558
- 'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
8569
+ 'unicorn/prefer-single-replace'?: Linter.RuleEntry<[]>;
7559
8570
  /**
7560
- * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
8571
+ * Prefer declaring variables in the smallest possible scope.
8572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-smaller-scope.md
7562
8573
  */
7563
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
8574
+ 'unicorn/prefer-smaller-scope'?: Linter.RuleEntry<[]>;
7564
8575
  /**
7565
- * Prefer using `Set#size` instead of `Array#length`.
7566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
8576
+ * Prefer `String#split()` with a limit.
8577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-split-limit.md
7567
8578
  */
7568
- 'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
8579
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
7569
8580
  /**
7570
- * Prefer simple conditions first in logical expressions.
7571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
8581
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()`, and trivial `for…of` copies.
8582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-spread.md
7572
8583
  */
7573
- 'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
8584
+ 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
7574
8585
  /**
7575
- * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
8586
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
8587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-match-all.md
7577
8588
  */
7578
- 'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8589
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
7579
8590
  /**
7580
- * Prefer the spread operator over `Array.from(…)`, `Array#concat()`, `Array#{slice,toSpliced}()` and `String#split('')`.
7581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
8591
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
8592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-pad-start-end.md
7582
8593
  */
7583
- 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
8594
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
7584
8595
  /**
7585
8596
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
8597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-raw.md
7587
8598
  */
7588
8599
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7589
8600
  /**
7590
- * Prefer `String#replaceAll()` over regex searches with the global flag.
7591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
8601
+ * Prefer `String#repeat()` for repeated whitespace.
8602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-repeat.md
8603
+ */
8604
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
8605
+ /**
8606
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
8607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-replace-all.md
7592
8608
  */
7593
8609
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7594
8610
  /**
7595
8611
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
8612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-slice.md
7597
8613
  */
7598
8614
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7599
8615
  /**
7600
- * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
8616
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()` and `String#indexOf() === 0`.
8617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-starts-ends-with.md
7602
8618
  */
7603
8619
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7604
8620
  /**
7605
8621
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
8622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-string-trim-start-end.md
7607
8623
  */
7608
8624
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7609
8625
  /**
7610
8626
  * Prefer using `structuredClone` to create a deep clone.
7611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
8627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-structured-clone.md
7612
8628
  */
7613
8629
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7614
8630
  /**
7615
8631
  * Prefer `switch` over multiple `else-if`.
7616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
8632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-switch.md
7617
8633
  */
7618
8634
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7619
8635
  /**
7620
- * Prefer ternary expressions over simple `if-else` statements.
7621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
8636
+ * Prefer `Temporal` over `Date`.
8637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-temporal.md
8638
+ */
8639
+ 'unicorn/prefer-temporal'?: Linter.RuleEntry<UnicornPreferTemporal>;
8640
+ /**
8641
+ * Prefer ternary expressions over simple `if` statements that return or assign values.
8642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-ternary.md
7622
8643
  */
7623
8644
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7624
8645
  /**
7625
8646
  * Prefer top-level await over top-level promises and async function calls.
7626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
8647
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-top-level-await.md
7627
8648
  */
7628
8649
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7629
8650
  /**
7630
8651
  * Enforce throwing `TypeError` in type checking conditions.
7631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
8652
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-type-error.md
7632
8653
  */
7633
8654
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7634
8655
  /**
7635
- * Prevent abbreviations.
7636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
8656
+ * Require type literals to be last in union types.
8657
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-type-literal-last.md
8658
+ */
8659
+ 'unicorn/prefer-type-literal-last'?: Linter.RuleEntry<[]>;
8660
+ /**
8661
+ * Prefer `Uint8Array#toBase64()` and `Uint8Array.fromBase64()` over `atob()`, `btoa()`, and `Buffer` base64 conversions.
8662
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-uint8array-base64.md
8663
+ */
8664
+ 'unicorn/prefer-uint8array-base64'?: Linter.RuleEntry<[]>;
8665
+ /**
8666
+ * Prefer the unary minus operator over multiplying or dividing by `-1`.
8667
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-unary-minus.md
8668
+ */
8669
+ 'unicorn/prefer-unary-minus'?: Linter.RuleEntry<[]>;
8670
+ /**
8671
+ * Prefer Unicode code point escapes over legacy escape sequences.
8672
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-unicode-code-point-escapes.md
8673
+ */
8674
+ 'unicorn/prefer-unicode-code-point-escapes'?: Linter.RuleEntry<[]>;
8675
+ /**
8676
+ * Prefer `URL.canParse()` over constructing a `URL` in a try/catch for validation.
8677
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-url-can-parse.md
8678
+ */
8679
+ 'unicorn/prefer-url-can-parse'?: Linter.RuleEntry<[]>;
8680
+ /**
8681
+ * Prefer `URL#href` over stringifying a `URL`.
8682
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-url-href.md
8683
+ */
8684
+ 'unicorn/prefer-url-href'?: Linter.RuleEntry<[]>;
8685
+ /**
8686
+ * Prefer putting the condition in the while statement.
8687
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/prefer-while-loop-condition.md
8688
+ */
8689
+ 'unicorn/prefer-while-loop-condition'?: Linter.RuleEntry<[]>;
8690
+ /**
8691
+ * Renamed to `unicorn/name-replacements`.
8692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/deleted-and-deprecated-rules.md#prevent-abbreviations
8693
+ * @deprecated
7637
8694
  */
7638
- 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
8695
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<[]>;
7639
8696
  /**
7640
8697
  * Enforce consistent relative URL style.
7641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
8698
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/relative-url-style.md
7642
8699
  */
7643
8700
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7644
8701
  /**
7645
8702
  * Enforce using the separator argument with `Array#join()`.
7646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
8703
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-array-join-separator.md
7647
8704
  */
7648
8705
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
8706
+ /**
8707
+ * Require a compare function when calling `Array#sort()` or `Array#toSorted()`.
8708
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-array-sort-compare.md
8709
+ */
8710
+ 'unicorn/require-array-sort-compare'?: Linter.RuleEntry<[]>;
8711
+ /**
8712
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
8713
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-css-escape.md
8714
+ */
8715
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
7649
8716
  /**
7650
8717
  * Require non-empty module attributes for imports and exports
7651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
8718
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-module-attributes.md
7652
8719
  */
7653
8720
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7654
8721
  /**
7655
8722
  * Require non-empty specifier list in import and export statements.
7656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
8723
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-module-specifiers.md
7657
8724
  */
7658
8725
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7659
8726
  /**
7660
8727
  * Enforce using the digits argument with `Number#toFixed()`.
7661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8728
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-number-to-fixed-digits-argument.md
7662
8729
  */
7663
8730
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
8731
+ /**
8732
+ * Require passive event listeners for high-frequency events.
8733
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-passive-events.md
8734
+ */
8735
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
7664
8736
  /**
7665
8737
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
8738
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-post-message-target-origin.md
7667
8739
  */
7668
8740
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
8741
+ /**
8742
+ * Require boolean-returning Proxy traps to return booleans.
8743
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/require-proxy-trap-boolean-return.md
8744
+ */
8745
+ 'unicorn/require-proxy-trap-boolean-return'?: Linter.RuleEntry<[]>;
7669
8746
  /**
7670
8747
  * Enforce better string content.
7671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
8748
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/string-content.md
7672
8749
  */
7673
8750
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7674
8751
  /**
7675
8752
  * Enforce consistent brace style for `case` clauses.
7676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
8753
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/switch-case-braces.md
7677
8754
  */
7678
8755
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7679
8756
  /**
7680
8757
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
8758
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/switch-case-break-position.md
7682
8759
  */
7683
8760
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
7684
8761
  /**
7685
8762
  * Fix whitespace-insensitive template indentation.
7686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
8763
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/template-indent.md
7687
8764
  */
7688
8765
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7689
8766
  /**
7690
8767
  * Enforce consistent case for text encoding identifiers.
7691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
8768
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/text-encoding-identifier-case.md
7692
8769
  */
7693
8770
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
7694
8771
  /**
7695
8772
  * Require `new` when creating an error.
7696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
8773
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/throw-new-error.md
7697
8774
  */
7698
8775
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
8776
+ /**
8777
+ * Limit the complexity of `try` blocks.
8778
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v68.0.0/docs/rules/try-complexity.md
8779
+ */
8780
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
7699
8781
  /**
7700
8782
  * Utilities in UnoCSS blocklist
7701
8783
  * @see https://unocss.dev/integrations/eslint#rules
@@ -8045,7 +9127,7 @@ interface RuleOptions {
8045
9127
  */
8046
9128
  'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
8047
9129
  /**
8048
- * Enforce consistent spacing between keys and values in object literal properties in `<template>`
9130
+ * Enforce consistent spacing between property names and type annotations in types and interfaces in `<template>`
8049
9131
  * @see https://eslint.vuejs.org/rules/key-spacing.html
8050
9132
  */
8051
9133
  'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
@@ -8767,7 +9849,7 @@ interface RuleOptions {
8767
9849
  */
8768
9850
  'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
8769
9851
  /**
8770
- * Require quotes around object literal property names in `<template>`
9852
+ * Require quotes around object literal, type literal, interfaces and enums property names in `<template>`
8771
9853
  * @see https://eslint.vuejs.org/rules/quote-props.html
8772
9854
  */
8773
9855
  'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
@@ -9210,6 +10292,11 @@ interface RuleOptions {
9210
10292
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
9211
10293
  */
9212
10294
  'yaml/no-tab-indent'?: Linter.RuleEntry<[]>;
10295
+ /**
10296
+ * disallow trailing whitespace at the end of lines
10297
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-spaces.html
10298
+ */
10299
+ 'yaml/no-trailing-spaces'?: Linter.RuleEntry<YamlNoTrailingSpaces>;
9213
10300
  /**
9214
10301
  * disallow trailing zeros for floats
9215
10302
  * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
@@ -9285,6 +10372,7 @@ type AngularTemplateConditionalComplexity = [] | [{
9285
10372
  }]; // ----- angular-template/cyclomatic-complexity -----
9286
10373
  type AngularTemplateCyclomaticComplexity = [] | [{
9287
10374
  maxComplexity?: number;
10375
+ variant?: ("classic" | "modified");
9288
10376
  }]; // ----- angular-template/elements-content -----
9289
10377
  type AngularTemplateElementsContent = [] | [{
9290
10378
  allowList?: string[];
@@ -14695,31 +15783,29 @@ type Quotes = [] | [("single" | "double" | "backtick")] | [("single" | "double"
14695
15783
  avoidEscape?: boolean;
14696
15784
  allowTemplateLiterals?: boolean;
14697
15785
  })]; // ----- radix -----
14698
- type Radix = [] | [("always" | "as-needed")]; // ----- react-dom/no-unknown-property -----
14699
- type ReactDomNoUnknownProperty = [] | [{
14700
- ignore?: string[];
14701
- requireDataLowercase?: boolean;
14702
- }]; // ----- react-refresh/only-export-components -----
15786
+ type Radix = [] | [("always" | "as-needed")]; // ----- react-refresh/only-export-components -----
14703
15787
  type ReactRefreshOnlyExportComponents = [] | [{
14704
15788
  extraHOCs?: string[];
14705
15789
  allowExportNames?: string[];
14706
15790
  allowConstantExport?: boolean;
14707
15791
  checkJS?: boolean;
15792
+ }]; // ----- react/dom-no-unknown-property -----
15793
+ type ReactDomNoUnknownProperty = [] | [{
15794
+ ignore?: string[];
15795
+ requireDataLowercase?: boolean;
14708
15796
  }]; // ----- react/exhaustive-deps -----
14709
15797
  type ReactExhaustiveDeps = [] | [{
14710
15798
  additionalHooks?: string;
14711
15799
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
14712
15800
  experimental_autoDependenciesHooks?: string[];
14713
15801
  requireExplicitEffectDeps?: boolean;
14714
- }]; // ----- react/jsx-shorthand-boolean -----
14715
- type ReactJsxShorthandBoolean = [] | [(-1 | 1)]; // ----- react/jsx-shorthand-fragment -----
14716
- type ReactJsxShorthandFragment = [] | [(-1 | 1)]; // ----- react/no-unstable-default-props -----
14717
- type ReactNoUnstableDefaultProps = [] | [{
14718
- safeDefaultProps?: string[];
14719
- }]; // ----- react/no-useless-fragment -----
14720
- type ReactNoUselessFragment = [] | [{
15802
+ }]; // ----- react/jsx-no-useless-fragment -----
15803
+ type ReactJsxNoUselessFragment = [] | [{
14721
15804
  allowEmptyFragment?: boolean;
14722
15805
  allowExpressions?: boolean;
15806
+ }]; // ----- react/no-unstable-default-props -----
15807
+ type ReactNoUnstableDefaultProps = [] | [{
15808
+ safeDefaultProps?: string[];
14723
15809
  }]; // ----- react/rules-of-hooks -----
14724
15810
  type ReactRulesOfHooks = [] | [{
14725
15811
  additionalHooks?: string;
@@ -14728,6 +15814,23 @@ type ReactUseState = [] | [{
14728
15814
  enforceAssignment?: boolean;
14729
15815
  enforceLazyInitialization?: boolean;
14730
15816
  enforceSetterName?: boolean;
15817
+ }]; // ----- react/x-exhaustive-deps -----
15818
+ type ReactXExhaustiveDeps = [] | [{
15819
+ additionalHooks?: string;
15820
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
15821
+ experimental_autoDependenciesHooks?: string[];
15822
+ requireExplicitEffectDeps?: boolean;
15823
+ }]; // ----- react/x-no-unstable-default-props -----
15824
+ type ReactXNoUnstableDefaultProps = [] | [{
15825
+ safeDefaultProps?: string[];
15826
+ }]; // ----- react/x-rules-of-hooks -----
15827
+ type ReactXRulesOfHooks = [] | [{
15828
+ additionalHooks?: string;
15829
+ }]; // ----- react/x-use-state -----
15830
+ type ReactXUseState = [] | [{
15831
+ enforceAssignment?: boolean;
15832
+ enforceLazyInitialization?: boolean;
15833
+ enforceSetterName?: boolean;
14731
15834
  }]; // ----- regexp/hexadecimal-escape -----
14732
15835
  type RegexpHexadecimalEscape = [] | [("always" | "never")]; // ----- regexp/letter-case -----
14733
15836
  type RegexpLetterCase = [] | [{
@@ -17387,43 +18490,109 @@ type TsUnifiedSignatures = [] | [{
17387
18490
  ignoreDifferentlyNamedParameters?: boolean;
17388
18491
  ignoreOverloadsWithDifferentJSDoc?: boolean;
17389
18492
  }]; // ----- unicode-bom -----
17390
- type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
17391
- type UnicornBetterRegex = [] | [{
17392
- sortCharacterClasses?: boolean;
17393
- }]; // ----- unicorn/catch-error-name -----
18493
+ type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/catch-error-name -----
17394
18494
  type UnicornCatchErrorName = [] | [{
17395
18495
  name?: string;
17396
18496
  ignore?: unknown[];
17397
- }]; // ----- unicorn/consistent-function-scoping -----
18497
+ }]; // ----- unicorn/class-reference-in-static-methods -----
18498
+ type UnicornClassReferenceInStaticMethods = [] | [{
18499
+ preferThis?: boolean;
18500
+ preferSuper?: boolean;
18501
+ }]; // ----- unicorn/comment-content -----
18502
+ type UnicornCommentContent = [] | [{
18503
+ checkUniformCase?: boolean;
18504
+ extendDefaultReplacements?: boolean;
18505
+ replacements?: {
18506
+ [k: string]: (false | string | {
18507
+ replacement: string;
18508
+ caseSensitive?: boolean;
18509
+ }) | undefined;
18510
+ };
18511
+ }]; // ----- unicorn/consistent-boolean-name -----
18512
+ type UnicornConsistentBooleanName = [] | [{
18513
+ checkProperties?: boolean;
18514
+ prefixes?: {
18515
+ [k: string]: boolean | undefined;
18516
+ };
18517
+ }]; // ----- unicorn/consistent-class-member-order -----
18518
+ type UnicornConsistentClassMemberOrder = [] | [{
18519
+ order?: [("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method"), ("static-field" | "static-block" | "static-method" | "private-field" | "public-field" | "constructor" | "private-method" | "public-method")];
18520
+ }]; // ----- unicorn/consistent-compound-words -----
18521
+ type UnicornConsistentCompoundWords = [] | [{
18522
+ checkProperties?: boolean;
18523
+ checkVariables?: boolean;
18524
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
18525
+ checkShorthandImports?: (boolean | "internal");
18526
+ checkShorthandProperties?: boolean;
18527
+ extendDefaultReplacements?: boolean;
18528
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
18529
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
18530
+ }];
18531
+ interface _UnicornConsistentCompoundWords_Replacements {
18532
+ [k: string]: (false | string) | undefined;
18533
+ }
18534
+ interface _UnicornConsistentCompoundWords_TrueObject {
18535
+ [k: string]: true | undefined;
18536
+ } // ----- unicorn/consistent-conditional-object-spread -----
18537
+ type UnicornConsistentConditionalObjectSpread = [] | [("logical" | "ternary")]; // ----- unicorn/consistent-export-decorator-position -----
18538
+ type UnicornConsistentExportDecoratorPosition = [] | [("above" | "before" | "after")]; // ----- unicorn/consistent-function-scoping -----
17398
18539
  type UnicornConsistentFunctionScoping = [] | [{
17399
18540
  checkArrowFunctions?: boolean;
18541
+ }]; // ----- unicorn/consistent-function-style -----
18542
+ type UnicornConsistentFunctionStyle = [] | [{
18543
+ default?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
18544
+ namedFunctions?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
18545
+ namedExports?: ("declaration" | "function-expression" | "arrow-function" | "ignore");
18546
+ callbacks?: ("function-expression" | "arrow-function" | "ignore");
18547
+ objectProperties?: ("method" | "function-expression" | "arrow-function" | "ignore");
18548
+ reassignedVariables?: ("function-expression" | "arrow-function" | "ignore");
18549
+ typedVariables?: ("function-expression" | "arrow-function" | "ignore");
18550
+ }]; // ----- unicorn/consistent-json-file-read -----
18551
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/default-export-style -----
18552
+ type UnicornDefaultExportStyle = [] | [{
18553
+ functions?: ("inline" | "separate" | "ignore");
18554
+ classes?: ("inline" | "separate" | "ignore");
18555
+ }]; // ----- unicorn/dom-node-dataset -----
18556
+ type UnicornDomNodeDataset = [] | [{
18557
+ preferAttributes?: boolean;
17400
18558
  }]; // ----- unicorn/escape-case -----
17401
18559
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
17402
18560
  type UnicornExpiringTodoComments = [] | [{
17403
18561
  terms?: string[];
17404
18562
  ignore?: unknown[];
17405
- ignoreDates?: boolean;
17406
- ignoreDatesOnPullRequests?: boolean;
18563
+ checkDates?: boolean;
18564
+ checkDatesOnPullRequests?: boolean;
17407
18565
  allowWarningComments?: boolean;
17408
18566
  date?: string;
17409
18567
  }]; // ----- unicorn/explicit-length-check -----
17410
18568
  type UnicornExplicitLengthCheck = [] | [{
17411
18569
  "non-zero"?: ("greater-than" | "not-equal");
17412
- }]; // ----- unicorn/filename-case -----
18570
+ }]; // ----- unicorn/explicit-timer-delay -----
18571
+ type UnicornExplicitTimerDelay = [] | [("always" | "never")]; // ----- unicorn/filename-case -----
17413
18572
  type UnicornFilenameCase = [] | [({
17414
- case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
18573
+ case?: ("camelCase" | "camelCaseWithAcronyms" | "snakeCase" | "kebabCase" | "pascalCase");
17415
18574
  ignore?: unknown[];
17416
18575
  multipleFileExtensions?: boolean;
18576
+ checkDirectories?: boolean;
17417
18577
  } | {
17418
18578
  cases?: {
17419
18579
  camelCase?: boolean;
18580
+ camelCaseWithAcronyms?: boolean;
17420
18581
  snakeCase?: boolean;
17421
18582
  kebabCase?: boolean;
17422
18583
  pascalCase?: boolean;
17423
18584
  };
17424
18585
  ignore?: unknown[];
17425
18586
  multipleFileExtensions?: boolean;
17426
- })]; // ----- unicorn/import-style -----
18587
+ checkDirectories?: boolean;
18588
+ })]; // ----- unicorn/id-match -----
18589
+ type UnicornIdMatch = [] | [string] | [string, {
18590
+ properties?: boolean;
18591
+ classFields?: boolean;
18592
+ onlyDeclarations?: boolean;
18593
+ ignoreDestructuring?: boolean;
18594
+ checkNamedSpecifiers?: boolean;
18595
+ }]; // ----- unicorn/import-style -----
17427
18596
  type UnicornImportStyle = [] | [{
17428
18597
  checkImport?: boolean;
17429
18598
  checkDynamicImport?: boolean;
@@ -17446,6 +18615,38 @@ type UnicornIsolatedFunctions = [] | [{
17446
18615
  functions?: string[];
17447
18616
  selectors?: string[];
17448
18617
  comments?: string[];
18618
+ }]; // ----- unicorn/logical-assignment-operators -----
18619
+ type UnicornLogicalAssignmentOperators = (([] | ["always"] | ["always", {
18620
+ enforceForIfStatements?: boolean;
18621
+ }] | ["never"]) & unknown[]); // ----- unicorn/max-nested-calls -----
18622
+ type UnicornMaxNestedCalls = [] | [{
18623
+ max?: number;
18624
+ }]; // ----- unicorn/name-replacements -----
18625
+ type UnicornNameReplacements = [] | [{
18626
+ checkProperties?: boolean;
18627
+ checkVariables?: boolean;
18628
+ checkDefaultAndNamespaceImports?: (boolean | string);
18629
+ checkShorthandImports?: (boolean | string);
18630
+ checkShorthandProperties?: boolean;
18631
+ checkFilenames?: boolean;
18632
+ extendDefaultReplacements?: boolean;
18633
+ replacements?: _UnicornNameReplacements_NameReplacements;
18634
+ extendDefaultAllowList?: boolean;
18635
+ allowList?: _UnicornNameReplacements_BooleanObject;
18636
+ ignore?: unknown[];
18637
+ }];
18638
+ type _UnicornNameReplacementsReplacements = (false | _UnicornNameReplacements_BooleanObject) | undefined;
18639
+ interface _UnicornNameReplacements_NameReplacements {
18640
+ [k: string]: _UnicornNameReplacementsReplacements | undefined;
18641
+ }
18642
+ interface _UnicornNameReplacements_BooleanObject {
18643
+ [k: string]: boolean | undefined;
18644
+ }
18645
+ interface _UnicornNameReplacements_BooleanObject {
18646
+ [k: string]: boolean | undefined;
18647
+ } // ----- unicorn/no-array-callback-reference -----
18648
+ type UnicornNoArrayCallbackReference = [] | [{
18649
+ ignore?: string[];
17449
18650
  }]; // ----- unicorn/no-array-reduce -----
17450
18651
  type UnicornNoArrayReduce = [] | [{
17451
18652
  allowSimpleOperations?: boolean;
@@ -17455,28 +18656,47 @@ type UnicornNoArrayReverse = [] | [{
17455
18656
  }]; // ----- unicorn/no-array-sort -----
17456
18657
  type UnicornNoArraySort = [] | [{
17457
18658
  allowExpressionStatement?: boolean;
18659
+ }]; // ----- unicorn/no-empty-file -----
18660
+ type UnicornNoEmptyFile = [] | [{
18661
+ allowComments?: boolean;
17458
18662
  }]; // ----- unicorn/no-instanceof-builtins -----
17459
18663
  type UnicornNoInstanceofBuiltins = [] | [{
17460
18664
  useErrorIsError?: boolean;
17461
18665
  strategy?: ("loose" | "strict");
17462
18666
  include?: string[];
17463
18667
  exclude?: string[];
18668
+ }]; // ----- unicorn/no-invalid-argument-count -----
18669
+ type UnicornNoInvalidArgumentCount = [] | [{
18670
+ [k: string]: (number | [number, ...(number)[]] | {
18671
+ min?: number;
18672
+ max?: number;
18673
+ }) | undefined;
17464
18674
  }]; // ----- unicorn/no-keyword-prefix -----
17465
18675
  type UnicornNoKeywordPrefix = [] | [{
17466
18676
  disallowedPrefixes?: [] | [string];
17467
18677
  checkProperties?: boolean;
17468
18678
  onlyCamelCase?: boolean;
18679
+ }]; // ----- unicorn/no-negated-comparison -----
18680
+ type UnicornNoNegatedComparison = [] | [{
18681
+ checkLogicalExpressions?: boolean;
18682
+ }]; // ----- unicorn/no-non-function-verb-prefix -----
18683
+ type UnicornNoNonFunctionVerbPrefix = [] | [{
18684
+ verbs?: string[];
17469
18685
  }]; // ----- unicorn/no-null -----
17470
18686
  type UnicornNoNull = [] | [{
18687
+ checkArguments?: boolean;
17471
18688
  checkStrictEquality?: boolean;
17472
18689
  }]; // ----- unicorn/no-typeof-undefined -----
17473
18690
  type UnicornNoTypeofUndefined = [] | [{
17474
18691
  checkGlobalVariables?: boolean;
17475
18692
  }]; // ----- unicorn/no-unnecessary-polyfills -----
17476
18693
  type UnicornNoUnnecessaryPolyfills = [] | [{
17477
- targets: (string | unknown[] | {
18694
+ targets?: (string | unknown[] | {
17478
18695
  [k: string]: unknown | undefined;
17479
18696
  });
18697
+ }]; // ----- unicorn/no-unreadable-array-destructuring -----
18698
+ type UnicornNoUnreadableArrayDestructuring = [] | [{
18699
+ maximumIgnoredElements?: number;
17480
18700
  }]; // ----- unicorn/no-useless-undefined -----
17481
18701
  type UnicornNoUselessUndefined = [] | [{
17482
18702
  checkArguments?: boolean;
@@ -17505,9 +18725,11 @@ type UnicornNumericSeparatorsStyle = [] | [{
17505
18725
  onlyIfContainsSeparator?: boolean;
17506
18726
  minimumDigits?: number;
17507
18727
  groupLength?: number;
18728
+ fractionGroupLength?: number;
17508
18729
  };
17509
18730
  onlyIfContainsSeparator?: boolean;
17510
- }]; // ----- unicorn/prefer-add-event-listener -----
18731
+ }]; // ----- unicorn/operator-assignment -----
18732
+ type UnicornOperatorAssignment = [] | [("always" | "never")]; // ----- unicorn/prefer-add-event-listener -----
17511
18733
  type UnicornPreferAddEventListener = [] | [{
17512
18734
  excludedPackages?: string[];
17513
18735
  }]; // ----- unicorn/prefer-array-find -----
@@ -17520,9 +18742,21 @@ type UnicornPreferArrayFlat = [] | [{
17520
18742
  type UnicornPreferAt = [] | [{
17521
18743
  getLastElementFunctions?: unknown[];
17522
18744
  checkAllIndexAccess?: boolean;
18745
+ }]; // ----- unicorn/prefer-continue -----
18746
+ type UnicornPreferContinue = [] | [{
18747
+ maximumStatements?: number;
18748
+ }]; // ----- unicorn/prefer-early-return -----
18749
+ type UnicornPreferEarlyReturn = [] | [{
18750
+ maximumStatements?: number;
17523
18751
  }]; // ----- unicorn/prefer-export-from -----
17524
18752
  type UnicornPreferExportFrom = [] | [{
17525
- ignoreUsedVariables?: boolean;
18753
+ checkUsedVariables?: boolean;
18754
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
18755
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
18756
+ minimumComparisons?: number;
18757
+ }]; // ----- unicorn/prefer-minimal-ternary -----
18758
+ type UnicornPreferMinimalTernary = [] | [{
18759
+ checkComputedMemberAccess?: boolean;
17526
18760
  }]; // ----- unicorn/prefer-number-properties -----
17527
18761
  type UnicornPreferNumberProperties = [] | [{
17528
18762
  checkInfinity?: boolean;
@@ -17530,9 +18764,22 @@ type UnicornPreferNumberProperties = [] | [{
17530
18764
  }]; // ----- unicorn/prefer-object-from-entries -----
17531
18765
  type UnicornPreferObjectFromEntries = [] | [{
17532
18766
  functions?: unknown[];
18767
+ }]; // ----- unicorn/prefer-query-selector -----
18768
+ type UnicornPreferQuerySelector = [] | [{
18769
+ allowWithVariables?: boolean;
18770
+ }]; // ----- unicorn/prefer-queue-microtask -----
18771
+ type UnicornPreferQueueMicrotask = [] | [{
18772
+ checkSetImmediate?: boolean;
18773
+ checkSetTimeout?: boolean;
18774
+ }]; // ----- unicorn/prefer-set-has -----
18775
+ type UnicornPreferSetHas = [] | [{
18776
+ minimumItems?: number;
17533
18777
  }]; // ----- unicorn/prefer-single-call -----
17534
18778
  type UnicornPreferSingleCall = [] | [{
17535
18779
  ignore?: unknown[];
18780
+ }]; // ----- unicorn/prefer-string-repeat -----
18781
+ type UnicornPreferStringRepeat = [] | [{
18782
+ minimumRepetitions?: number;
17536
18783
  }]; // ----- unicorn/prefer-structured-clone -----
17537
18784
  type UnicornPreferStructuredClone = [] | [{
17538
18785
  functions?: unknown[];
@@ -17540,42 +18787,29 @@ type UnicornPreferStructuredClone = [] | [{
17540
18787
  type UnicornPreferSwitch = [] | [{
17541
18788
  minimumCases?: number;
17542
18789
  emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
18790
+ }]; // ----- unicorn/prefer-temporal -----
18791
+ type UnicornPreferTemporal = [] | [{
18792
+ checkDateNow?: boolean;
18793
+ checkReferences?: boolean;
18794
+ checkMethods?: boolean;
17543
18795
  }]; // ----- unicorn/prefer-ternary -----
17544
- type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
17545
- type UnicornPreventAbbreviations = [] | [{
17546
- checkProperties?: boolean;
17547
- checkVariables?: boolean;
17548
- checkDefaultAndNamespaceImports?: (boolean | string);
17549
- checkShorthandImports?: (boolean | string);
17550
- checkShorthandProperties?: boolean;
17551
- checkFilenames?: boolean;
17552
- extendDefaultReplacements?: boolean;
17553
- replacements?: _UnicornPreventAbbreviations_Abbreviations;
17554
- extendDefaultAllowList?: boolean;
17555
- allowList?: _UnicornPreventAbbreviations_BooleanObject;
17556
- ignore?: unknown[];
17557
- }];
17558
- type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
17559
- interface _UnicornPreventAbbreviations_Abbreviations {
17560
- [k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
17561
- }
17562
- interface _UnicornPreventAbbreviations_BooleanObject {
17563
- [k: string]: boolean | undefined;
17564
- }
17565
- interface _UnicornPreventAbbreviations_BooleanObject {
17566
- [k: string]: boolean | undefined;
17567
- } // ----- unicorn/relative-url-style -----
17568
- type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
18796
+ type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/relative-url-style -----
18797
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
18798
+ type UnicornRequireCssEscape = [] | [{
18799
+ checkAllSelectors?: boolean;
18800
+ }]; // ----- unicorn/string-content -----
17569
18801
  type UnicornStringContent = [] | [{
17570
18802
  patterns?: {
17571
18803
  [k: string]: (string | {
17572
18804
  suggest: string;
17573
18805
  fix?: boolean;
18806
+ caseSensitive?: boolean;
17574
18807
  message?: string;
17575
18808
  }) | undefined;
17576
18809
  };
18810
+ selectors?: string[];
17577
18811
  }]; // ----- unicorn/switch-case-braces -----
17578
- type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
18812
+ type UnicornSwitchCaseBraces = [] | [("always" | "avoid" | "single-statement")]; // ----- unicorn/template-indent -----
17579
18813
  type UnicornTemplateIndent = [] | [{
17580
18814
  indent?: (string | number);
17581
18815
  tags?: string[];
@@ -17585,6 +18819,9 @@ type UnicornTemplateIndent = [] | [{
17585
18819
  }]; // ----- unicorn/text-encoding-identifier-case -----
17586
18820
  type UnicornTextEncodingIdentifierCase = [] | [{
17587
18821
  withDash?: boolean;
18822
+ }]; // ----- unicorn/try-complexity -----
18823
+ type UnicornTryComplexity = [] | [{
18824
+ max?: number;
17588
18825
  }]; // ----- unocss/enforce-class-compile -----
17589
18826
  type UnocssEnforceClassCompile = [] | [{
17590
18827
  prefix?: string;
@@ -17707,6 +18944,7 @@ type VueArrayElementNewline = [] | [(_VueArrayElementNewlineBasicConfig | {
17707
18944
  ArrayPattern?: _VueArrayElementNewlineBasicConfig;
17708
18945
  })];
17709
18946
  type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
18947
+ consistent?: boolean;
17710
18948
  multiline?: boolean;
17711
18949
  minItems?: (number | null);
17712
18950
  }); // ----- vue/arrow-spacing -----
@@ -17766,9 +19004,14 @@ type VueCommaDangle = [] | [(_VueCommaDangleValue | {
17766
19004
  imports?: _VueCommaDangleValueWithIgnore;
17767
19005
  exports?: _VueCommaDangleValueWithIgnore;
17768
19006
  functions?: _VueCommaDangleValueWithIgnore;
19007
+ importAttributes?: _VueCommaDangleValueWithIgnore;
19008
+ dynamicImports?: _VueCommaDangleValueWithIgnore;
19009
+ enums?: _VueCommaDangleValueWithIgnore;
19010
+ generics?: _VueCommaDangleValueWithIgnore;
19011
+ tuples?: _VueCommaDangleValueWithIgnore;
17769
19012
  })];
17770
19013
  type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
17771
- type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- vue/comma-spacing -----
19014
+ type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore"); // ----- vue/comma-spacing -----
17772
19015
  type VueCommaSpacing = [] | [{
17773
19016
  before?: boolean;
17774
19017
  after?: boolean;
@@ -17818,6 +19061,10 @@ type VueFirstAttributeLinebreak = [] | [{
17818
19061
  }]; // ----- vue/func-call-spacing -----
17819
19062
  type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
17820
19063
  allowNewlines?: boolean;
19064
+ optionalChain?: {
19065
+ before?: boolean;
19066
+ after?: boolean;
19067
+ };
17821
19068
  }]); // ----- vue/html-button-has-type -----
17822
19069
  type VueHtmlButtonHasType = [] | [{
17823
19070
  button?: boolean;
@@ -17889,6 +19136,7 @@ type VueKeySpacing = [] | [({
17889
19136
  mode?: ("strict" | "minimum");
17890
19137
  beforeColon?: boolean;
17891
19138
  afterColon?: boolean;
19139
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
17892
19140
  } | {
17893
19141
  singleLine?: {
17894
19142
  mode?: ("strict" | "minimum");
@@ -17932,18 +19180,6 @@ type VueKeywordSpacing = [] | [{
17932
19180
  before?: boolean;
17933
19181
  after?: boolean;
17934
19182
  };
17935
- as?: {
17936
- before?: boolean;
17937
- after?: boolean;
17938
- };
17939
- async?: {
17940
- before?: boolean;
17941
- after?: boolean;
17942
- };
17943
- await?: {
17944
- before?: boolean;
17945
- after?: boolean;
17946
- };
17947
19183
  boolean?: {
17948
19184
  before?: boolean;
17949
19185
  after?: boolean;
@@ -18036,18 +19272,10 @@ type VueKeywordSpacing = [] | [{
18036
19272
  before?: boolean;
18037
19273
  after?: boolean;
18038
19274
  };
18039
- from?: {
18040
- before?: boolean;
18041
- after?: boolean;
18042
- };
18043
19275
  function?: {
18044
19276
  before?: boolean;
18045
19277
  after?: boolean;
18046
19278
  };
18047
- get?: {
18048
- before?: boolean;
18049
- after?: boolean;
18050
- };
18051
19279
  goto?: {
18052
19280
  before?: boolean;
18053
19281
  after?: boolean;
@@ -18080,10 +19308,6 @@ type VueKeywordSpacing = [] | [{
18080
19308
  before?: boolean;
18081
19309
  after?: boolean;
18082
19310
  };
18083
- let?: {
18084
- before?: boolean;
18085
- after?: boolean;
18086
- };
18087
19311
  long?: {
18088
19312
  before?: boolean;
18089
19313
  after?: boolean;
@@ -18100,10 +19324,6 @@ type VueKeywordSpacing = [] | [{
18100
19324
  before?: boolean;
18101
19325
  after?: boolean;
18102
19326
  };
18103
- of?: {
18104
- before?: boolean;
18105
- after?: boolean;
18106
- };
18107
19327
  package?: {
18108
19328
  before?: boolean;
18109
19329
  after?: boolean;
@@ -18124,10 +19344,6 @@ type VueKeywordSpacing = [] | [{
18124
19344
  before?: boolean;
18125
19345
  after?: boolean;
18126
19346
  };
18127
- set?: {
18128
- before?: boolean;
18129
- after?: boolean;
18130
- };
18131
19347
  short?: {
18132
19348
  before?: boolean;
18133
19349
  after?: boolean;
@@ -18196,10 +19412,66 @@ type VueKeywordSpacing = [] | [{
18196
19412
  before?: boolean;
18197
19413
  after?: boolean;
18198
19414
  };
19415
+ arguments?: {
19416
+ before?: boolean;
19417
+ after?: boolean;
19418
+ };
19419
+ as?: {
19420
+ before?: boolean;
19421
+ after?: boolean;
19422
+ };
19423
+ async?: {
19424
+ before?: boolean;
19425
+ after?: boolean;
19426
+ };
19427
+ await?: {
19428
+ before?: boolean;
19429
+ after?: boolean;
19430
+ };
19431
+ eval?: {
19432
+ before?: boolean;
19433
+ after?: boolean;
19434
+ };
19435
+ from?: {
19436
+ before?: boolean;
19437
+ after?: boolean;
19438
+ };
19439
+ get?: {
19440
+ before?: boolean;
19441
+ after?: boolean;
19442
+ };
19443
+ let?: {
19444
+ before?: boolean;
19445
+ after?: boolean;
19446
+ };
19447
+ of?: {
19448
+ before?: boolean;
19449
+ after?: boolean;
19450
+ };
19451
+ set?: {
19452
+ before?: boolean;
19453
+ after?: boolean;
19454
+ };
19455
+ type?: {
19456
+ before?: boolean;
19457
+ after?: boolean;
19458
+ };
19459
+ using?: {
19460
+ before?: boolean;
19461
+ after?: boolean;
19462
+ };
18199
19463
  yield?: {
18200
19464
  before?: boolean;
18201
19465
  after?: boolean;
18202
19466
  };
19467
+ accessor?: {
19468
+ before?: boolean;
19469
+ after?: boolean;
19470
+ };
19471
+ satisfies?: {
19472
+ before?: boolean;
19473
+ after?: boolean;
19474
+ };
18203
19475
  };
18204
19476
  }]; // ----- vue/match-component-file-name -----
18205
19477
  type VueMatchComponentFileName = [] | [{
@@ -18319,7 +19591,9 @@ type VueMultilineHtmlElementContentNewline = [] | [{
18319
19591
  ignores?: string[];
18320
19592
  allowEmptyLines?: boolean;
18321
19593
  }]; // ----- vue/multiline-ternary -----
18322
- type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")]; // ----- vue/mustache-interpolation-spacing -----
19594
+ type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
19595
+ ignoreJSX?: boolean;
19596
+ }]; // ----- vue/mustache-interpolation-spacing -----
18323
19597
  type VueMustacheInterpolationSpacing = [] | [("always" | "never")]; // ----- vue/new-line-between-multi-line-property -----
18324
19598
  type VueNewLineBetweenMultiLineProperty = [] | [{
18325
19599
  minLineOfMultilineProperty?: number;
@@ -18379,6 +19653,13 @@ type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
18379
19653
  enforceForNewInMemberExpressions?: boolean;
18380
19654
  enforceForFunctionPrototypeMethods?: boolean;
18381
19655
  allowParensAfterCommentPattern?: string;
19656
+ nestedConditionalExpressions?: boolean;
19657
+ allowNodesInSpreadElement?: {
19658
+ ConditionalExpression?: boolean;
19659
+ LogicalExpression?: boolean;
19660
+ AwaitExpression?: boolean;
19661
+ };
19662
+ ignoredNodes?: string[];
18382
19663
  }]); // ----- vue/no-implicit-coercion -----
18383
19664
  type VueNoImplicitCoercion = [] | [{
18384
19665
  boolean?: boolean;
@@ -18602,14 +19883,41 @@ type VueObjectCurlyNewline = [] | [((("always" | "never") | {
18602
19883
  minProperties?: number;
18603
19884
  consistent?: boolean;
18604
19885
  });
19886
+ TSTypeLiteral?: (("always" | "never") | {
19887
+ multiline?: boolean;
19888
+ minProperties?: number;
19889
+ consistent?: boolean;
19890
+ });
19891
+ TSInterfaceBody?: (("always" | "never") | {
19892
+ multiline?: boolean;
19893
+ minProperties?: number;
19894
+ consistent?: boolean;
19895
+ });
19896
+ TSEnumBody?: (("always" | "never") | {
19897
+ multiline?: boolean;
19898
+ minProperties?: number;
19899
+ consistent?: boolean;
19900
+ });
18605
19901
  })]; // ----- vue/object-curly-spacing -----
18606
19902
  type VueObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
18607
19903
  arraysInObjects?: boolean;
18608
19904
  objectsInObjects?: boolean;
19905
+ overrides?: {
19906
+ ObjectPattern?: ("always" | "never");
19907
+ ObjectExpression?: ("always" | "never");
19908
+ ImportDeclaration?: ("always" | "never");
19909
+ ImportAttributes?: ("always" | "never");
19910
+ ExportNamedDeclaration?: ("always" | "never");
19911
+ ExportAllDeclaration?: ("always" | "never");
19912
+ TSMappedType?: ("always" | "never");
19913
+ TSTypeLiteral?: ("always" | "never");
19914
+ TSInterfaceBody?: ("always" | "never");
19915
+ TSEnumBody?: ("always" | "never");
19916
+ };
19917
+ emptyObjects?: ("ignore" | "always" | "never");
18609
19918
  }]; // ----- vue/object-property-newline -----
18610
19919
  type VueObjectPropertyNewline = [] | [{
18611
19920
  allowAllPropertiesOnSameLine?: boolean;
18612
- allowMultiplePropertiesPerLine?: boolean;
18613
19921
  }]; // ----- vue/object-shorthand -----
18614
19922
  type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [("always" | "methods" | "properties"), {
18615
19923
  avoidQuotes?: boolean;
@@ -18619,7 +19927,7 @@ type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never"
18619
19927
  avoidQuotes?: boolean;
18620
19928
  avoidExplicitReturnArrows?: boolean;
18621
19929
  }]); // ----- vue/operator-linebreak -----
18622
- type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [("after" | "before" | "none" | null), {
19930
+ type VueOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [(("after" | "before" | "none") | null), {
18623
19931
  overrides?: {
18624
19932
  [k: string]: ("after" | "before" | "none" | "ignore") | undefined;
18625
19933
  };
@@ -18707,6 +20015,7 @@ type VueSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
18707
20015
  }]; // ----- vue/space-infix-ops -----
18708
20016
  type VueSpaceInfixOps = [] | [{
18709
20017
  int32Hint?: boolean;
20018
+ ignoreTypes?: boolean;
18710
20019
  }]; // ----- vue/space-unary-ops -----
18711
20020
  type VueSpaceUnaryOps = [] | [{
18712
20021
  words?: boolean;
@@ -18854,6 +20163,10 @@ type YamlNoMultipleEmptyLines = [] | [{
18854
20163
  max: number;
18855
20164
  maxEOF?: number;
18856
20165
  maxBOF?: number;
20166
+ }]; // ----- yaml/no-trailing-spaces -----
20167
+ type YamlNoTrailingSpaces = [] | [{
20168
+ skipBlankLines?: boolean;
20169
+ ignoreComments?: boolean;
18857
20170
  }]; // ----- yaml/plain-scalar -----
18858
20171
  type YamlPlainScalar = [] | [("always" | "never")] | [("always" | "never"), {
18859
20172
  ignorePatterns?: string[];
@@ -18948,7 +20261,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
18948
20261
  exceptRange?: boolean;
18949
20262
  onlyEquality?: boolean;
18950
20263
  }]; // Names of all the configs
18951
- type ConfigNames = 'antfu/gitignore' | 'antfu/ignores' | 'antfu/javascript/setup' | 'antfu/javascript/rules' | 'antfu/eslint-comments/rules' | 'antfu/command/rules' | 'antfu/perfectionist/setup' | 'antfu/node/setup' | 'antfu/node/rules' | 'antfu/jsdoc/setup' | 'antfu/jsdoc/rules' | 'antfu/imports/rules' | 'antfu/e18e/rules' | 'antfu/unicorn/rules' | 'antfu/jsx/setup' | 'antfu/typescript/setup' | 'antfu/typescript/parser' | 'antfu/typescript/type-aware-parser' | 'antfu/typescript/rules' | 'antfu/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'antfu/stylistic/rules' | 'antfu/regexp/rules' | 'antfu/test/setup' | 'antfu/test/rules' | 'antfu/vue/setup' | 'antfu/vue/rules' | 'antfu/react/setup' | 'antfu/react/rules' | 'antfu/react/typescript' | 'antfu/react/type-aware-rules' | 'antfu/nextjs/setup' | 'antfu/nextjs/rules' | 'antfu/solid/setup' | 'antfu/solid/rules' | 'antfu/svelte/setup' | 'antfu/svelte/rules' | 'antfu/unocss' | 'antfu/astro/setup' | 'antfu/astro/rules' | 'antfu/angular/setup' | 'antfu/angular/rules/ts' | 'antfu/angular/rules/template' | 'antfu/jsonc/setup' | 'antfu/jsonc/rules' | 'antfu/sort/package-json' | 'antfu/sort/tsconfig-json' | 'antfu/pnpm/package-json' | 'antfu/pnpm/pnpm-workspace-yaml' | 'antfu/pnpm/pnpm-workspace-yaml-sort' | 'antfu/yaml/setup' | 'antfu/yaml/rules' | 'antfu/toml/setup' | 'antfu/toml/rules' | 'antfu/markdown/setup' | 'antfu/markdown/processor' | 'antfu/markdown/parser' | 'antfu/markdown/rules' | 'antfu/markdown/disables/code' | 'antfu/formatter/setup' | 'antfu/formatter/css' | 'antfu/formatter/scss' | 'antfu/formatter/less' | 'antfu/formatter/html' | 'antfu/formatter/xml' | 'antfu/formatter/svg' | 'antfu/formatter/markdown' | 'antfu/formatter/astro' | 'antfu/formatter/astro/disables' | 'antfu/formatter/graphql' | 'antfu/disables/scripts' | 'antfu/disables/cli' | 'antfu/disables/bin' | 'antfu/disables/dts' | 'antfu/disables/cjs' | 'antfu/disables/config-files';
20264
+ type ConfigNames = 'antfu/gitignore' | 'antfu/ignores' | 'antfu/javascript/setup' | 'antfu/javascript/rules' | 'antfu/eslint-comments/rules' | 'antfu/command/rules' | 'antfu/perfectionist/setup' | 'antfu/node/setup' | 'antfu/node/rules' | 'antfu/jsdoc/setup' | 'antfu/jsdoc/rules' | 'antfu/imports/rules' | 'antfu/e18e/rules' | 'antfu/unicorn/setup' | 'antfu/unicorn/rules' | 'antfu/jsx/setup' | 'antfu/typescript/setup' | 'antfu/typescript/parser' | 'antfu/typescript/type-aware-parser' | 'antfu/typescript/rules' | 'antfu/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'antfu/stylistic/rules' | 'antfu/regexp/rules' | 'antfu/test/setup' | 'antfu/test/rules' | 'antfu/vue/setup' | 'antfu/vue/rules' | 'antfu/react/setup' | 'antfu/react/rules' | 'antfu/react/typescript' | 'antfu/react/type-aware-rules' | 'antfu/nextjs/setup' | 'antfu/nextjs/rules' | 'antfu/solid/setup' | 'antfu/solid/rules' | 'antfu/svelte/setup' | 'antfu/svelte/rules' | 'antfu/unocss' | 'antfu/astro/setup' | 'antfu/astro/rules' | 'antfu/angular/setup' | 'antfu/angular/rules/ts' | 'antfu/angular/rules/template' | 'antfu/jsonc/setup' | 'antfu/jsonc/rules' | 'antfu/sort/package-json' | 'antfu/sort/tsconfig-json' | 'antfu/pnpm/package-json' | 'antfu/pnpm/pnpm-workspace-yaml' | 'antfu/pnpm/pnpm-workspace-yaml-sort' | 'antfu/yaml/setup' | 'antfu/yaml/rules' | 'antfu/toml/setup' | 'antfu/toml/rules' | 'antfu/markdown/setup' | 'antfu/markdown/processor' | 'antfu/markdown/parser' | 'antfu/markdown/rules' | 'antfu/markdown/disables/code' | 'antfu/formatter/setup' | 'antfu/formatter/css' | 'antfu/formatter/scss' | 'antfu/formatter/less' | 'antfu/formatter/html' | 'antfu/formatter/xml' | 'antfu/formatter/svg' | 'antfu/formatter/markdown' | 'antfu/formatter/astro' | 'antfu/formatter/astro/disables' | 'antfu/formatter/graphql' | 'antfu/disables/scripts' | 'antfu/disables/cli' | 'antfu/disables/bin' | 'antfu/disables/dts' | 'antfu/disables/cjs' | 'antfu/disables/config-files';
18952
20265
  //#endregion
18953
20266
  //#region src/vender/prettier-types.d.ts
18954
20267
  /**
@@ -19614,10 +20927,6 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
19614
20927
  //#region src/factory.d.ts
19615
20928
  declare const defaultPluginRenaming: {
19616
20929
  '@eslint-react': string;
19617
- '@eslint-react/dom': string;
19618
- '@eslint-react/naming-convention': string;
19619
- '@eslint-react/rsc': string;
19620
- '@eslint-react/web-api': string;
19621
20930
  '@next/next': string;
19622
20931
  '@stylistic': string;
19623
20932
  '@typescript-eslint': string;