@w5s/eslint-config 3.7.2 → 3.8.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.ts CHANGED
@@ -58,10 +58,10 @@ interface PluginOptionsBase<Rules> {
58
58
  //#region src/typegen/e18e.d.ts
59
59
  declare module 'eslint' {
60
60
  namespace Linter {
61
- interface RulesRecord extends RuleOptions$11 {}
61
+ interface RulesRecord extends RuleOptions$12 {}
62
62
  }
63
63
  }
64
- interface RuleOptions$11 {
64
+ interface RuleOptions$12 {
65
65
  /**
66
66
  * Disallow dependencies in favor of more performant or secure alternatives
67
67
  */
@@ -114,6 +114,14 @@ interface RuleOptions$11 {
114
114
  * Prefer the exponentiation operator ** over Math.pow()
115
115
  */
116
116
  'e18e/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
117
+ /**
118
+ * Prefer Array.prototype.flatMap() over .map(fn).flat() to avoid the intermediate array
119
+ */
120
+ 'e18e/prefer-flatmap-over-map-flat'?: Linter.RuleEntry<[]>;
121
+ /**
122
+ * Prefer `Map.prototype.getOrInsert()` over reading an entry with a default and writing it back
123
+ */
124
+ 'e18e/prefer-get-or-insert'?: Linter.RuleEntry<[]>;
117
125
  /**
118
126
  * Prefer .includes() over indexOf() comparisons for arrays and strings
119
127
  */
@@ -178,7 +186,7 @@ type E18EBanDependencies = [] | [{
178
186
  */
179
187
  declare function e18e(options?: e18e.Options): Promise<[Config, Config]>;
180
188
  declare namespace e18e {
181
- type Rules = RuleOptions$11;
189
+ type Rules = RuleOptions$12;
182
190
  interface Options extends PluginOptionsBase<Rules> {
183
191
  /**
184
192
  * Include modernization default configuration
@@ -204,10 +212,10 @@ declare namespace e18e {
204
212
  //#region src/typegen/jsonc.d.ts
205
213
  declare module 'eslint' {
206
214
  namespace Linter {
207
- interface RulesRecord extends RuleOptions$10 {}
215
+ interface RulesRecord extends RuleOptions$11 {}
208
216
  }
209
217
  }
210
- interface RuleOptions$10 {
218
+ interface RuleOptions$11 {
211
219
  /**
212
220
  * enforce line breaks after opening and before closing array brackets
213
221
  * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
@@ -1019,7 +1027,7 @@ declare namespace es {
1019
1027
  };
1020
1028
  }
1021
1029
  declare namespace es {
1022
- type Rules = RuleOptions$10;
1030
+ type Rules = RuleOptions$11;
1023
1031
  interface Options extends PluginOptionsBase<Rules> {}
1024
1032
  }
1025
1033
  //#endregion
@@ -1032,10 +1040,10 @@ declare namespace ignores {
1032
1040
  //#region src/typegen/jsdoc.d.ts
1033
1041
  declare module 'eslint' {
1034
1042
  namespace Linter {
1035
- interface RulesRecord extends RuleOptions$9 {}
1043
+ interface RulesRecord extends RuleOptions$10 {}
1036
1044
  }
1037
1045
  }
1038
- interface RuleOptions$9 {
1046
+ interface RuleOptions$10 {
1039
1047
  /**
1040
1048
  * Checks that `@access` tags have a valid value.
1041
1049
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
@@ -1912,24 +1920,24 @@ type JsdocValidTypes = [] | [{
1912
1920
  //#region src/config/jsdoc.d.ts
1913
1921
  declare function jsdoc(options?: jsdoc.Options): Promise<readonly Config[]>;
1914
1922
  declare namespace jsdoc {
1915
- type Rules = RuleOptions$9;
1923
+ type Rules = RuleOptions$10;
1916
1924
  interface Options extends PluginOptionsBase<Rules> {}
1917
1925
  }
1918
1926
  //#endregion
1919
1927
  //#region src/config/jsonc.d.ts
1920
1928
  declare function jsonc(options?: jsonc.Options): Promise<readonly Config[]>;
1921
1929
  declare namespace jsonc {
1922
- type Rules = RuleOptions$10;
1930
+ type Rules = RuleOptions$11;
1923
1931
  interface Options extends PluginOptionsBase<Rules> {}
1924
1932
  }
1925
1933
  //#endregion
1926
1934
  //#region src/typegen/import.d.ts
1927
1935
  declare module 'eslint' {
1928
1936
  namespace Linter {
1929
- interface RulesRecord extends RuleOptions$8 {}
1937
+ interface RulesRecord extends RuleOptions$9 {}
1930
1938
  }
1931
1939
  }
1932
- interface RuleOptions$8 {
1940
+ interface RuleOptions$9 {
1933
1941
  /**
1934
1942
  * Enforce or ban the use of inline type-only markers for named imports.
1935
1943
  * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
@@ -2388,17 +2396,17 @@ declare namespace imports {
2388
2396
  };
2389
2397
  }
2390
2398
  declare namespace imports {
2391
- type Rules = RuleOptions$8;
2399
+ type Rules = RuleOptions$9;
2392
2400
  interface Options extends PluginOptionsBase<Rules> {}
2393
2401
  }
2394
2402
  //#endregion
2395
2403
  //#region src/typegen/markdown.d.ts
2396
2404
  declare module 'eslint' {
2397
2405
  namespace Linter {
2398
- interface RulesRecord extends RuleOptions$7 {}
2406
+ interface RulesRecord extends RuleOptions$8 {}
2399
2407
  }
2400
2408
  }
2401
- interface RuleOptions$7 {
2409
+ interface RuleOptions$8 {
2402
2410
  /**
2403
2411
  * Require languages for fenced code blocks
2404
2412
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
@@ -2559,7 +2567,7 @@ type MarkdownTableColumnCount = [] | [{
2559
2567
  //#region src/config/markdown.d.ts
2560
2568
  declare function markdown(options?: markdown.Options): Promise<[Config, Config]>;
2561
2569
  declare namespace markdown {
2562
- type Rules = RuleOptions$7;
2570
+ type Rules = RuleOptions$8;
2563
2571
  interface Options extends PluginOptionsBase<Rules> {
2564
2572
  /**
2565
2573
  * Default to 'markdown/gfm' (Github Flavored Markdown)
@@ -2571,10 +2579,10 @@ declare namespace markdown {
2571
2579
  //#region src/typegen/next.d.ts
2572
2580
  declare module 'eslint' {
2573
2581
  namespace Linter {
2574
- interface RulesRecord extends RuleOptions$6 {}
2582
+ interface RulesRecord extends RuleOptions$7 {}
2575
2583
  }
2576
2584
  }
2577
- interface RuleOptions$6 {
2585
+ interface RuleOptions$7 {
2578
2586
  /**
2579
2587
  * Enforce font-display behavior with Google Fonts.
2580
2588
  * @see https://nextjs.org/docs/messages/google-font-display
@@ -2687,17 +2695,17 @@ type NextNoHtmlLinkForPages = [] | [(string | string[])];
2687
2695
  //#region src/config/next.d.ts
2688
2696
  declare function next(options?: next.Options): Promise<[Config, Config]>;
2689
2697
  declare namespace next {
2690
- type Rules = RuleOptions$6;
2698
+ type Rules = RuleOptions$7;
2691
2699
  interface Options extends Omit<PluginOptionsBase<Rules>, 'stylistic'> {}
2692
2700
  }
2693
2701
  //#endregion
2694
2702
  //#region src/typegen/node.d.ts
2695
2703
  declare module 'eslint' {
2696
2704
  namespace Linter {
2697
- interface RulesRecord extends RuleOptions$5 {}
2705
+ interface RulesRecord extends RuleOptions$6 {}
2698
2706
  }
2699
2707
  }
2700
- interface RuleOptions$5 {
2708
+ interface RuleOptions$6 {
2701
2709
  /**
2702
2710
  * require `return` statements after callbacks
2703
2711
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/callback-return.md
@@ -3158,10 +3166,770 @@ type NodeShebang = [] | [{
3158
3166
  //#region src/config/node.d.ts
3159
3167
  declare function node(options?: node.Options): Promise<[Config, Config]>;
3160
3168
  declare namespace node {
3161
- type Rules = RuleOptions$5;
3169
+ type Rules = RuleOptions$6;
3162
3170
  interface Options extends Omit<PluginOptionsBase<Rules>, 'files' | 'stylistic'> {}
3163
3171
  }
3164
3172
  //#endregion
3173
+ //#region src/typegen/react.d.ts
3174
+ declare module 'eslint' {
3175
+ namespace Linter {
3176
+ interface RulesRecord extends RuleOptions$5 {}
3177
+ }
3178
+ }
3179
+ interface RuleOptions$5 {
3180
+ /**
3181
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
3182
+ * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
3183
+ */
3184
+ 'react/dom-no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
3185
+ /**
3186
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
3187
+ * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
3188
+ */
3189
+ 'react/dom-no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
3190
+ /**
3191
+ * Disallows 'findDOMNode'.
3192
+ * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
3193
+ */
3194
+ 'react/dom-no-find-dom-node'?: Linter.RuleEntry<[]>;
3195
+ /**
3196
+ * Disallows 'flushSync'.
3197
+ * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
3198
+ */
3199
+ 'react/dom-no-flush-sync'?: Linter.RuleEntry<[]>;
3200
+ /**
3201
+ * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
3202
+ * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
3203
+ */
3204
+ 'react/dom-no-hydrate'?: Linter.RuleEntry<[]>;
3205
+ /**
3206
+ * Enforces an explicit 'type' attribute for 'button' elements.
3207
+ * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
3208
+ */
3209
+ 'react/dom-no-missing-button-type'?: Linter.RuleEntry<[]>;
3210
+ /**
3211
+ * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
3212
+ * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
3213
+ */
3214
+ 'react/dom-no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
3215
+ /**
3216
+ * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
3217
+ * @see https://eslint-react.xyz/docs/rules/dom-no-render
3218
+ */
3219
+ 'react/dom-no-render'?: Linter.RuleEntry<[]>;
3220
+ /**
3221
+ * Disallows the return value of 'ReactDOM.render'.
3222
+ * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
3223
+ */
3224
+ 'react/dom-no-render-return-value'?: Linter.RuleEntry<[]>;
3225
+ /**
3226
+ * Disallows 'javascript:' URLs as attribute values.
3227
+ * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
3228
+ */
3229
+ 'react/dom-no-script-url'?: Linter.RuleEntry<[]>;
3230
+ /**
3231
+ * Disallows the use of string style prop in JSX. Use an object instead.
3232
+ * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
3233
+ */
3234
+ 'react/dom-no-string-style-prop'?: Linter.RuleEntry<[]>;
3235
+ /**
3236
+ * Disallows unknown 'DOM' properties.
3237
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
3238
+ */
3239
+ 'react/dom-no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
3240
+ /**
3241
+ * Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
3242
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
3243
+ */
3244
+ 'react/dom-no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
3245
+ /**
3246
+ * Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
3247
+ * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
3248
+ */
3249
+ 'react/dom-no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
3250
+ /**
3251
+ * Replaces usage of 'useFormState' with 'useActionState'.
3252
+ * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
3253
+ */
3254
+ 'react/dom-no-use-form-state'?: Linter.RuleEntry<[]>;
3255
+ /**
3256
+ * Disallows 'children' in void DOM elements.
3257
+ * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
3258
+ */
3259
+ 'react/dom-no-void-elements-with-children'?: Linter.RuleEntry<[]>;
3260
+ /**
3261
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3262
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
3263
+ */
3264
+ 'react/error-boundaries'?: Linter.RuleEntry<[]>;
3265
+ /**
3266
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3267
+ * @see https://github.com/facebook/react/issues/14920
3268
+ */
3269
+ 'react/exhaustive-deps'?: Linter.RuleEntry<ReactExhaustiveDeps>;
3270
+ /**
3271
+ * Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render.
3272
+ * @see https://eslint-react.xyz/docs/rules/globals
3273
+ */
3274
+ 'react/globals'?: Linter.RuleEntry<[]>;
3275
+ /**
3276
+ * Validates against mutating props, state, and other values that are immutable.
3277
+ * @see https://eslint-react.xyz/docs/rules/immutability
3278
+ */
3279
+ 'react/immutability'?: Linter.RuleEntry<[]>;
3280
+ /**
3281
+ * Disallows passing 'children' as a prop.
3282
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop
3283
+ */
3284
+ 'react/jsx-no-children-prop'?: Linter.RuleEntry<[]>;
3285
+ /**
3286
+ * Disallows passing 'children' as a prop when children are also passed as nested content.
3287
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-children-prop-with-children
3288
+ */
3289
+ 'react/jsx-no-children-prop-with-children'?: Linter.RuleEntry<[]>;
3290
+ /**
3291
+ * Prevents comment strings from being accidentally inserted into a JSX element's text nodes.
3292
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
3293
+ */
3294
+ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
3295
+ /**
3296
+ * Prevent patterns that cause deoptimization when using the automatic JSX runtime.
3297
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-key-after-spread
3298
+ */
3299
+ 'react/jsx-no-key-after-spread'?: Linter.RuleEntry<[]>;
3300
+ /**
3301
+ * Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.
3302
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-dollar
3303
+ */
3304
+ 'react/jsx-no-leaked-dollar'?: Linter.RuleEntry<[]>;
3305
+ /**
3306
+ * Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.
3307
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-leaked-semicolon
3308
+ */
3309
+ 'react/jsx-no-leaked-semicolon'?: Linter.RuleEntry<[]>;
3310
+ /**
3311
+ * Disallow JSX namespace syntax, as React does not support them.
3312
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-namespace
3313
+ */
3314
+ 'react/jsx-no-namespace'?: Linter.RuleEntry<[]>;
3315
+ /**
3316
+ * Disallows useless fragment elements.
3317
+ * @see https://eslint-react.xyz/docs/rules/jsx-no-useless-fragment
3318
+ */
3319
+ 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>;
3320
+ /**
3321
+ * Enforces identifier names assigned from `createContext` calls to be a valid component name with the suffix `Context`.
3322
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
3323
+ */
3324
+ 'react/naming-convention-context-name'?: Linter.RuleEntry<[]>;
3325
+ /**
3326
+ * Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
3327
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
3328
+ */
3329
+ 'react/naming-convention-id-name'?: Linter.RuleEntry<[]>;
3330
+ /**
3331
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
3332
+ * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
3333
+ */
3334
+ 'react/naming-convention-ref-name'?: Linter.RuleEntry<[]>;
3335
+ /**
3336
+ * Disallows accessing 'this.state' inside 'setState' calls.
3337
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3338
+ */
3339
+ 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
3340
+ /**
3341
+ * Disallows using an item's index in the array as its key.
3342
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3343
+ */
3344
+ 'react/no-array-index-key'?: Linter.RuleEntry<[]>;
3345
+ /**
3346
+ * Disallows the use of 'Children.count' from the 'react' package.
3347
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
3348
+ */
3349
+ 'react/no-children-count'?: Linter.RuleEntry<[]>;
3350
+ /**
3351
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3352
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3353
+ */
3354
+ 'react/no-children-for-each'?: Linter.RuleEntry<[]>;
3355
+ /**
3356
+ * Disallows the use of 'Children.map' from the 'react' package.
3357
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
3358
+ */
3359
+ 'react/no-children-map'?: Linter.RuleEntry<[]>;
3360
+ /**
3361
+ * Disallows the use of 'Children.only' from the 'react' package.
3362
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
3363
+ */
3364
+ 'react/no-children-only'?: Linter.RuleEntry<[]>;
3365
+ /**
3366
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3367
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3368
+ */
3369
+ 'react/no-children-to-array'?: Linter.RuleEntry<[]>;
3370
+ /**
3371
+ * Disallows class components except for error boundaries.
3372
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
3373
+ */
3374
+ 'react/no-class-component'?: Linter.RuleEntry<[]>;
3375
+ /**
3376
+ * Disallows 'cloneElement'.
3377
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
3378
+ */
3379
+ 'react/no-clone-element'?: Linter.RuleEntry<[]>;
3380
+ /**
3381
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3382
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3383
+ */
3384
+ 'react/no-component-will-mount'?: Linter.RuleEntry<[]>;
3385
+ /**
3386
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3387
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3388
+ */
3389
+ 'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>;
3390
+ /**
3391
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3392
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3393
+ */
3394
+ 'react/no-component-will-update'?: Linter.RuleEntry<[]>;
3395
+ /**
3396
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3397
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
3398
+ */
3399
+ 'react/no-context-provider'?: Linter.RuleEntry<[]>;
3400
+ /**
3401
+ * Disallows 'createRef' in function components and Hooks.
3402
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
3403
+ */
3404
+ 'react/no-create-ref'?: Linter.RuleEntry<[]>;
3405
+ /**
3406
+ * Disallows direct mutation of 'this.state'.
3407
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3408
+ */
3409
+ 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>;
3410
+ /**
3411
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
3412
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3413
+ */
3414
+ 'react/no-duplicate-key'?: Linter.RuleEntry<[]>;
3415
+ /**
3416
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3417
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3418
+ */
3419
+ 'react/no-forward-ref'?: Linter.RuleEntry<[]>;
3420
+ /**
3421
+ * Prevents implicitly passing the 'children' prop to components.
3422
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
3423
+ */
3424
+ 'react/no-implicit-children'?: Linter.RuleEntry<[]>;
3425
+ /**
3426
+ * Prevents implicitly passing the 'key' prop to components.
3427
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3428
+ */
3429
+ 'react/no-implicit-key'?: Linter.RuleEntry<[]>;
3430
+ /**
3431
+ * Prevents implicitly passing the 'ref' prop to components.
3432
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
3433
+ */
3434
+ 'react/no-implicit-ref'?: Linter.RuleEntry<[]>;
3435
+ /**
3436
+ * Prevents problematic leaked values from being rendered.
3437
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3438
+ */
3439
+ 'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
3440
+ /**
3441
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
3442
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3443
+ */
3444
+ 'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>;
3445
+ /**
3446
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
3447
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3448
+ */
3449
+ 'react/no-missing-context-display-name'?: Linter.RuleEntry<[]>;
3450
+ /**
3451
+ * Disallows missing 'key' on items in list rendering.
3452
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
3453
+ */
3454
+ 'react/no-missing-key'?: Linter.RuleEntry<[]>;
3455
+ /**
3456
+ * Prevents incorrect usage of 'captureOwnerStack'.
3457
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3458
+ */
3459
+ 'react/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
3460
+ /**
3461
+ * Disallows nesting component definitions inside other components.
3462
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3463
+ */
3464
+ 'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3465
+ /**
3466
+ * Disallows nesting lazy component declarations inside other components or hooks.
3467
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3468
+ */
3469
+ 'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3470
+ /**
3471
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3472
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3473
+ */
3474
+ 'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
3475
+ /**
3476
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3477
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3478
+ */
3479
+ 'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
3480
+ /**
3481
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3482
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3483
+ */
3484
+ 'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
3485
+ /**
3486
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3487
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3488
+ */
3489
+ 'react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
3490
+ /**
3491
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3492
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3493
+ */
3494
+ 'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
3495
+ /**
3496
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3497
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3498
+ */
3499
+ 'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
3500
+ /**
3501
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3502
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3503
+ */
3504
+ 'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
3505
+ /**
3506
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3507
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3508
+ */
3509
+ 'react/no-unstable-context-value'?: Linter.RuleEntry<[]>;
3510
+ /**
3511
+ * Prevents using referential-type values as default props in object destructuring.
3512
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3513
+ */
3514
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>;
3515
+ /**
3516
+ * Warns about unused class component methods and properties.
3517
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3518
+ */
3519
+ 'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3520
+ /**
3521
+ * Warns about component props that are defined but never used.
3522
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3523
+ */
3524
+ 'react/no-unused-props'?: Linter.RuleEntry<[]>;
3525
+ /**
3526
+ * Warns about state variables that are defined but never used.
3527
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
3528
+ */
3529
+ 'react/no-unused-state'?: Linter.RuleEntry<[]>;
3530
+ /**
3531
+ * Replaces usage of 'useContext' with 'use'.
3532
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
3533
+ */
3534
+ 'react/no-use-context'?: Linter.RuleEntry<[]>;
3535
+ /**
3536
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
3537
+ * @see https://eslint-react.xyz/docs/rules/purity
3538
+ */
3539
+ 'react/purity'?: Linter.RuleEntry<[]>;
3540
+ /**
3541
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
3542
+ * @see https://eslint-react.xyz/docs/rules/refs
3543
+ */
3544
+ 'react/refs'?: Linter.RuleEntry<[]>;
3545
+ /**
3546
+ * Validates and transforms React Client/Server Function definitions.
3547
+ * @see https://eslint-react.xyz/docs/rules/rsc-function-definition
3548
+ */
3549
+ 'react/rsc-function-definition'?: Linter.RuleEntry<[]>;
3550
+ /**
3551
+ * Enforces the Rules of Hooks.
3552
+ * @see https://react.dev/reference/rules/rules-of-hooks
3553
+ */
3554
+ 'react/rules-of-hooks'?: Linter.RuleEntry<ReactRulesOfHooks>;
3555
+ /**
3556
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
3557
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
3558
+ */
3559
+ 'react/set-state-in-effect'?: Linter.RuleEntry<[]>;
3560
+ /**
3561
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
3562
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
3563
+ */
3564
+ 'react/set-state-in-render'?: Linter.RuleEntry<[]>;
3565
+ /**
3566
+ * Validates that components are static, not recreated every render.
3567
+ * @see https://eslint-react.xyz/docs/rules/static-components
3568
+ */
3569
+ 'react/static-components'?: Linter.RuleEntry<[]>;
3570
+ /**
3571
+ * Validates against syntax that React Compiler does not support.
3572
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
3573
+ */
3574
+ 'react/unsupported-syntax'?: Linter.RuleEntry<[]>;
3575
+ /**
3576
+ * Validates that 'useMemo' is called with a callback that returns a value.
3577
+ * @see https://eslint-react.xyz/docs/rules/use-memo
3578
+ */
3579
+ 'react/use-memo'?: Linter.RuleEntry<[]>;
3580
+ /**
3581
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
3582
+ * @see https://eslint-react.xyz/docs/rules/use-state
3583
+ */
3584
+ 'react/use-state'?: Linter.RuleEntry<ReactUseState>;
3585
+ /**
3586
+ * Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
3587
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
3588
+ */
3589
+ 'react/web-api-no-leaked-event-listener'?: Linter.RuleEntry<[]>;
3590
+ /**
3591
+ * Enforces that every 'fetch' in a component or custom hook has a corresponding 'AbortController' abort in the cleanup function.
3592
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-fetch
3593
+ */
3594
+ 'react/web-api-no-leaked-fetch'?: Linter.RuleEntry<[]>;
3595
+ /**
3596
+ * Enforces that every 'IntersectionObserver' created in a component or custom hook has a corresponding 'IntersectionObserver.disconnect()'.
3597
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-intersection-observer
3598
+ */
3599
+ 'react/web-api-no-leaked-intersection-observer'?: Linter.RuleEntry<[]>;
3600
+ /**
3601
+ * Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
3602
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
3603
+ */
3604
+ 'react/web-api-no-leaked-interval'?: Linter.RuleEntry<[]>;
3605
+ /**
3606
+ * Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
3607
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
3608
+ */
3609
+ 'react/web-api-no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
3610
+ /**
3611
+ * Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
3612
+ * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
3613
+ */
3614
+ 'react/web-api-no-leaked-timeout'?: Linter.RuleEntry<[]>;
3615
+ /**
3616
+ * Validates usage of Error Boundaries instead of try/catch for errors in child components.
3617
+ * @see https://eslint-react.xyz/docs/rules/error-boundaries
3618
+ */
3619
+ 'react/x-error-boundaries'?: Linter.RuleEntry<[]>;
3620
+ /**
3621
+ * Verifies the list of dependencies for Hooks like 'useEffect' and similar.
3622
+ * @see https://github.com/facebook/react/issues/14920
3623
+ */
3624
+ 'react/x-exhaustive-deps'?: Linter.RuleEntry<ReactXExhaustiveDeps>;
3625
+ /**
3626
+ * Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render.
3627
+ * @see https://eslint-react.xyz/docs/rules/globals
3628
+ */
3629
+ 'react/x-globals'?: Linter.RuleEntry<[]>;
3630
+ /**
3631
+ * Validates against mutating props, state, and other values that are immutable.
3632
+ * @see https://eslint-react.xyz/docs/rules/immutability
3633
+ */
3634
+ 'react/x-immutability'?: Linter.RuleEntry<[]>;
3635
+ /**
3636
+ * Disallows accessing 'this.state' inside 'setState' calls.
3637
+ * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
3638
+ */
3639
+ 'react/x-no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
3640
+ /**
3641
+ * Disallows using an item's index in the array as its key.
3642
+ * @see https://eslint-react.xyz/docs/rules/no-array-index-key
3643
+ */
3644
+ 'react/x-no-array-index-key'?: Linter.RuleEntry<[]>;
3645
+ /**
3646
+ * Disallows the use of 'Children.count' from the 'react' package.
3647
+ * @see https://eslint-react.xyz/docs/rules/no-children-count
3648
+ */
3649
+ 'react/x-no-children-count'?: Linter.RuleEntry<[]>;
3650
+ /**
3651
+ * Disallows the use of 'Children.forEach' from the 'react' package.
3652
+ * @see https://eslint-react.xyz/docs/rules/no-children-for-each
3653
+ */
3654
+ 'react/x-no-children-for-each'?: Linter.RuleEntry<[]>;
3655
+ /**
3656
+ * Disallows the use of 'Children.map' from the 'react' package.
3657
+ * @see https://eslint-react.xyz/docs/rules/no-children-map
3658
+ */
3659
+ 'react/x-no-children-map'?: Linter.RuleEntry<[]>;
3660
+ /**
3661
+ * Disallows the use of 'Children.only' from the 'react' package.
3662
+ * @see https://eslint-react.xyz/docs/rules/no-children-only
3663
+ */
3664
+ 'react/x-no-children-only'?: Linter.RuleEntry<[]>;
3665
+ /**
3666
+ * Disallows the use of 'Children.toArray' from the 'react' package.
3667
+ * @see https://eslint-react.xyz/docs/rules/no-children-to-array
3668
+ */
3669
+ 'react/x-no-children-to-array'?: Linter.RuleEntry<[]>;
3670
+ /**
3671
+ * Disallows class components except for error boundaries.
3672
+ * @see https://eslint-react.xyz/docs/rules/no-class-component
3673
+ */
3674
+ 'react/x-no-class-component'?: Linter.RuleEntry<[]>;
3675
+ /**
3676
+ * Disallows 'cloneElement'.
3677
+ * @see https://eslint-react.xyz/docs/rules/no-clone-element
3678
+ */
3679
+ 'react/x-no-clone-element'?: Linter.RuleEntry<[]>;
3680
+ /**
3681
+ * Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
3682
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
3683
+ */
3684
+ 'react/x-no-component-will-mount'?: Linter.RuleEntry<[]>;
3685
+ /**
3686
+ * Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
3687
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
3688
+ */
3689
+ 'react/x-no-component-will-receive-props'?: Linter.RuleEntry<[]>;
3690
+ /**
3691
+ * Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
3692
+ * @see https://eslint-react.xyz/docs/rules/no-component-will-update
3693
+ */
3694
+ 'react/x-no-component-will-update'?: Linter.RuleEntry<[]>;
3695
+ /**
3696
+ * Replaces usage of '<Context.Provider>' with '<Context>'.
3697
+ * @see https://eslint-react.xyz/docs/rules/no-context-provider
3698
+ */
3699
+ 'react/x-no-context-provider'?: Linter.RuleEntry<[]>;
3700
+ /**
3701
+ * Disallows 'createRef' in function components and Hooks.
3702
+ * @see https://eslint-react.xyz/docs/rules/no-create-ref
3703
+ */
3704
+ 'react/x-no-create-ref'?: Linter.RuleEntry<[]>;
3705
+ /**
3706
+ * Disallows direct mutation of 'this.state'.
3707
+ * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
3708
+ */
3709
+ 'react/x-no-direct-mutation-state'?: Linter.RuleEntry<[]>;
3710
+ /**
3711
+ * Prevents duplicate 'key' props on sibling elements when rendering lists.
3712
+ * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
3713
+ */
3714
+ 'react/x-no-duplicate-key'?: Linter.RuleEntry<[]>;
3715
+ /**
3716
+ * Replaces usage of 'forwardRef' with passing 'ref' as a prop.
3717
+ * @see https://eslint-react.xyz/docs/rules/no-forward-ref
3718
+ */
3719
+ 'react/x-no-forward-ref'?: Linter.RuleEntry<[]>;
3720
+ /**
3721
+ * Prevents implicitly passing the 'children' prop to components.
3722
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-children
3723
+ */
3724
+ 'react/x-no-implicit-children'?: Linter.RuleEntry<[]>;
3725
+ /**
3726
+ * Prevents implicitly passing the 'key' prop to components.
3727
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-key
3728
+ */
3729
+ 'react/x-no-implicit-key'?: Linter.RuleEntry<[]>;
3730
+ /**
3731
+ * Prevents implicitly passing the 'ref' prop to components.
3732
+ * @see https://eslint-react.xyz/docs/rules/no-implicit-ref
3733
+ */
3734
+ 'react/x-no-implicit-ref'?: Linter.RuleEntry<[]>;
3735
+ /**
3736
+ * Prevents problematic leaked values from being rendered.
3737
+ * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
3738
+ */
3739
+ 'react/x-no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
3740
+ /**
3741
+ * Enforces that all components have a 'displayName' that can be used in DevTools.
3742
+ * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
3743
+ */
3744
+ 'react/x-no-missing-component-display-name'?: Linter.RuleEntry<[]>;
3745
+ /**
3746
+ * Enforces that all contexts have a 'displayName' that can be used in DevTools.
3747
+ * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
3748
+ */
3749
+ 'react/x-no-missing-context-display-name'?: Linter.RuleEntry<[]>;
3750
+ /**
3751
+ * Disallows missing 'key' on items in list rendering.
3752
+ * @see https://eslint-react.xyz/docs/rules/no-missing-key
3753
+ */
3754
+ 'react/x-no-missing-key'?: Linter.RuleEntry<[]>;
3755
+ /**
3756
+ * Prevents incorrect usage of 'captureOwnerStack'.
3757
+ * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
3758
+ */
3759
+ 'react/x-no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
3760
+ /**
3761
+ * Disallows nesting component definitions inside other components.
3762
+ * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3763
+ */
3764
+ 'react/x-no-nested-component-definitions'?: Linter.RuleEntry<[]>;
3765
+ /**
3766
+ * Disallows nesting lazy component declarations inside other components or hooks.
3767
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3768
+ */
3769
+ 'react/x-no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3770
+ /**
3771
+ * Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
3772
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
3773
+ */
3774
+ 'react/x-no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
3775
+ /**
3776
+ * Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
3777
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
3778
+ */
3779
+ 'react/x-no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
3780
+ /**
3781
+ * Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
3782
+ * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
3783
+ */
3784
+ 'react/x-no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
3785
+ /**
3786
+ * Enforces that a function with the 'use' prefix uses at least one Hook inside it.
3787
+ * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
3788
+ */
3789
+ 'react/x-no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
3790
+ /**
3791
+ * Warns about the use of 'UNSAFE_componentWillMount' in class components.
3792
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
3793
+ */
3794
+ 'react/x-no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
3795
+ /**
3796
+ * Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
3797
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
3798
+ */
3799
+ 'react/x-no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
3800
+ /**
3801
+ * Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
3802
+ * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
3803
+ */
3804
+ 'react/x-no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
3805
+ /**
3806
+ * Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
3807
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
3808
+ */
3809
+ 'react/x-no-unstable-context-value'?: Linter.RuleEntry<[]>;
3810
+ /**
3811
+ * Prevents using referential-type values as default props in object destructuring.
3812
+ * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
3813
+ */
3814
+ 'react/x-no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>;
3815
+ /**
3816
+ * Warns about unused class component methods and properties.
3817
+ * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
3818
+ */
3819
+ 'react/x-no-unused-class-component-members'?: Linter.RuleEntry<[]>;
3820
+ /**
3821
+ * Warns about component props that are defined but never used.
3822
+ * @see https://eslint-react.xyz/docs/rules/no-unused-props
3823
+ */
3824
+ 'react/x-no-unused-props'?: Linter.RuleEntry<[]>;
3825
+ /**
3826
+ * Warns about state variables that are defined but never used.
3827
+ * @see https://eslint-react.xyz/docs/rules/no-unused-state
3828
+ */
3829
+ 'react/x-no-unused-state'?: Linter.RuleEntry<[]>;
3830
+ /**
3831
+ * Replaces usage of 'useContext' with 'use'.
3832
+ * @see https://eslint-react.xyz/docs/rules/no-use-context
3833
+ */
3834
+ 'react/x-no-use-context'?: Linter.RuleEntry<[]>;
3835
+ /**
3836
+ * Validates that components and hooks are pure by checking that they do not call known-impure functions during render.
3837
+ * @see https://eslint-react.xyz/docs/rules/purity
3838
+ */
3839
+ 'react/x-purity'?: Linter.RuleEntry<[]>;
3840
+ /**
3841
+ * Validates correct usage of refs by checking that 'ref.current' is not read or written during render.
3842
+ * @see https://eslint-react.xyz/docs/rules/refs
3843
+ */
3844
+ 'react/x-refs'?: Linter.RuleEntry<[]>;
3845
+ /**
3846
+ * Enforces the Rules of Hooks.
3847
+ * @see https://react.dev/reference/rules/rules-of-hooks
3848
+ */
3849
+ 'react/x-rules-of-hooks'?: Linter.RuleEntry<ReactXRulesOfHooks>;
3850
+ /**
3851
+ * Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance.
3852
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-effect
3853
+ */
3854
+ 'react/x-set-state-in-effect'?: Linter.RuleEntry<[]>;
3855
+ /**
3856
+ * Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops.
3857
+ * @see https://eslint-react.xyz/docs/rules/set-state-in-render
3858
+ */
3859
+ 'react/x-set-state-in-render'?: Linter.RuleEntry<[]>;
3860
+ /**
3861
+ * Validates that components are static, not recreated every render.
3862
+ * @see https://eslint-react.xyz/docs/rules/static-components
3863
+ */
3864
+ 'react/x-static-components'?: Linter.RuleEntry<[]>;
3865
+ /**
3866
+ * Validates against syntax that React Compiler does not support.
3867
+ * @see https://eslint-react.xyz/docs/rules/unsupported-syntax
3868
+ */
3869
+ 'react/x-unsupported-syntax'?: Linter.RuleEntry<[]>;
3870
+ /**
3871
+ * Validates that 'useMemo' is called with a callback that returns a value.
3872
+ * @see https://eslint-react.xyz/docs/rules/use-memo
3873
+ */
3874
+ 'react/x-use-memo'?: Linter.RuleEntry<[]>;
3875
+ /**
3876
+ * Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function.
3877
+ * @see https://eslint-react.xyz/docs/rules/use-state
3878
+ */
3879
+ 'react/x-use-state'?: Linter.RuleEntry<ReactXUseState>;
3880
+ }
3881
+ /* ======= Declarations ======= */
3882
+ // ----- react/dom-no-unknown-property -----
3883
+ type ReactDomNoUnknownProperty = [] | [{
3884
+ ignore?: string[];
3885
+ requireDataLowercase?: boolean;
3886
+ }]; // ----- react/exhaustive-deps -----
3887
+ type ReactExhaustiveDeps = [] | [{
3888
+ additionalHooks?: string;
3889
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
3890
+ experimental_autoDependenciesHooks?: string[];
3891
+ requireExplicitEffectDeps?: boolean;
3892
+ }]; // ----- react/jsx-no-useless-fragment -----
3893
+ type ReactJsxNoUselessFragment = [] | [{
3894
+ allowEmptyFragment?: boolean;
3895
+ allowExpressions?: boolean;
3896
+ }]; // ----- react/no-unstable-default-props -----
3897
+ type ReactNoUnstableDefaultProps = [] | [{
3898
+ safeDefaultProps?: string[];
3899
+ }]; // ----- react/rules-of-hooks -----
3900
+ type ReactRulesOfHooks = [] | [{
3901
+ additionalHooks?: string;
3902
+ }]; // ----- react/use-state -----
3903
+ type ReactUseState = [] | [{
3904
+ enforceAssignment?: boolean;
3905
+ enforceLazyInitialization?: boolean;
3906
+ enforceSetterName?: boolean;
3907
+ }]; // ----- react/x-exhaustive-deps -----
3908
+ type ReactXExhaustiveDeps = [] | [{
3909
+ additionalHooks?: string;
3910
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
3911
+ experimental_autoDependenciesHooks?: string[];
3912
+ requireExplicitEffectDeps?: boolean;
3913
+ }]; // ----- react/x-no-unstable-default-props -----
3914
+ type ReactXNoUnstableDefaultProps = [] | [{
3915
+ safeDefaultProps?: string[];
3916
+ }]; // ----- react/x-rules-of-hooks -----
3917
+ type ReactXRulesOfHooks = [] | [{
3918
+ additionalHooks?: string;
3919
+ }]; // ----- react/x-use-state -----
3920
+ type ReactXUseState = [] | [{
3921
+ enforceAssignment?: boolean;
3922
+ enforceLazyInitialization?: boolean;
3923
+ enforceSetterName?: boolean;
3924
+ }];
3925
+ //#endregion
3926
+ //#region src/config/react.d.ts
3927
+ declare function react(options?: react.Options): Promise<[Config, Config]>;
3928
+ declare namespace react {
3929
+ type Rules = RuleOptions$5;
3930
+ interface Options extends Omit<PluginOptionsBase<Rules>, 'stylistic'> {}
3931
+ }
3932
+ //#endregion
3165
3933
  //#region src/typegen/style.d.ts
3166
3934
  declare module 'eslint' {
3167
3935
  namespace Linter {
@@ -6959,772 +7727,957 @@ declare module 'eslint' {
6959
7727
  }
6960
7728
  interface RuleOptions$1 {
6961
7729
  /**
6962
- * Improve regexes by making them shorter, consistent, and safer.
6963
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
7730
+ * Prefer better DOM traversal APIs.
7731
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/better-dom-traversing.md
6964
7732
  */
6965
- 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
7733
+ 'unicorn/better-dom-traversing'?: Linter.RuleEntry<[]>;
7734
+ /**
7735
+ * Removed. Prefer `eslint-plugin-regexp`
7736
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#better-regex
7737
+ * @deprecated
7738
+ */
7739
+ 'unicorn/better-regex'?: Linter.RuleEntry<[]>;
6966
7740
  /**
6967
7741
  * Enforce a specific parameter name in catch clauses.
6968
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
7742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/catch-error-name.md
6969
7743
  */
6970
7744
  'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
6971
7745
  /**
6972
7746
  * Enforce consistent assertion style with `node:assert`.
6973
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
7747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-assert.md
6974
7748
  */
6975
7749
  'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
7750
+ /**
7751
+ * Enforce consistent spelling of compound words in identifiers.
7752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-compound-words.md
7753
+ */
7754
+ 'unicorn/consistent-compound-words'?: Linter.RuleEntry<UnicornConsistentCompoundWords>;
6976
7755
  /**
6977
7756
  * Prefer passing `Date` directly to the constructor when cloning.
6978
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
7757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-date-clone.md
6979
7758
  */
6980
7759
  'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
6981
7760
  /**
6982
7761
  * Use destructured variables over properties.
6983
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
7762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-destructuring.md
6984
7763
  */
6985
7764
  'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
6986
7765
  /**
6987
7766
  * Prefer consistent types when spreading a ternary in an array literal.
6988
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
7767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-empty-array-spread.md
6989
7768
  */
6990
7769
  'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
6991
7770
  /**
6992
7771
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
6993
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
7772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-existence-index-check.md
6994
7773
  */
6995
7774
  'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
6996
7775
  /**
6997
7776
  * Move function definitions to the highest possible scope.
6998
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
7777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-function-scoping.md
6999
7778
  */
7000
7779
  'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
7780
+ /**
7781
+ * Enforce consistent JSON file reads before `JSON.parse()`.
7782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-json-file-read.md
7783
+ */
7784
+ 'unicorn/consistent-json-file-read'?: Linter.RuleEntry<UnicornConsistentJsonFileRead>;
7001
7785
  /**
7002
7786
  * Enforce consistent style for escaping `${` in template literals.
7003
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
7787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/consistent-template-literal-escape.md
7004
7788
  */
7005
7789
  'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
7006
7790
  /**
7007
7791
  * Enforce correct `Error` subclassing.
7008
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
7792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/custom-error-definition.md
7009
7793
  */
7010
7794
  'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
7795
+ /**
7796
+ * Enforce consistent style for DOM element dataset access.
7797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/dom-node-dataset.md
7798
+ */
7799
+ 'unicorn/dom-node-dataset'?: Linter.RuleEntry<UnicornDomNodeDataset>;
7011
7800
  /**
7012
7801
  * Enforce no spaces between braces.
7013
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
7802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/empty-brace-spaces.md
7014
7803
  */
7015
7804
  'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
7016
7805
  /**
7017
7806
  * Enforce passing a `message` value when creating a built-in error.
7018
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
7807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/error-message.md
7019
7808
  */
7020
7809
  'unicorn/error-message'?: Linter.RuleEntry<[]>;
7021
7810
  /**
7022
7811
  * Require escape sequences to use uppercase or lowercase values.
7023
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
7812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/escape-case.md
7024
7813
  */
7025
7814
  'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
7026
7815
  /**
7027
7816
  * Add expiration conditions to TODO comments.
7028
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
7817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/expiring-todo-comments.md
7029
7818
  */
7030
7819
  'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
7031
7820
  /**
7032
7821
  * Enforce explicitly comparing the `length` or `size` property of a value.
7033
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
7822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/explicit-length-check.md
7034
7823
  */
7035
7824
  'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
7036
7825
  /**
7037
- * Enforce a case style for filenames.
7038
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
7826
+ * Enforce a case style for filenames and directory names.
7827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/filename-case.md
7039
7828
  */
7040
7829
  'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
7041
7830
  /**
7042
7831
  * Enforce specific import styles per module.
7043
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
7832
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/import-style.md
7044
7833
  */
7045
7834
  'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
7046
7835
  /**
7047
7836
  * Prevent usage of variables from outside the scope of isolated functions.
7048
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
7837
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/isolated-functions.md
7049
7838
  */
7050
7839
  'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
7051
7840
  /**
7052
7841
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
7053
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
7842
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/new-for-builtins.md
7054
7843
  */
7055
7844
  'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
7056
7845
  /**
7057
7846
  * Enforce specifying rules to disable in `eslint-disable` comments.
7058
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
7847
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-abusive-eslint-disable.md
7059
7848
  */
7060
7849
  'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
7061
7850
  /**
7062
7851
  * Disallow recursive access to `this` within getters and setters.
7063
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
7852
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-accessor-recursion.md
7064
7853
  */
7065
7854
  'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
7066
7855
  /**
7067
7856
  * Disallow anonymous functions and classes as the default export.
7068
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
7857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-anonymous-default-export.md
7069
7858
  */
7070
7859
  'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
7071
7860
  /**
7072
7861
  * Prevent passing a function reference directly to iterator methods.
7073
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
7862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-callback-reference.md
7074
7863
  */
7075
- 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
7864
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<UnicornNoArrayCallbackReference>;
7865
+ /**
7866
+ * Disallow using reference values as `Array#fill()` values.
7867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-fill-with-reference-type.md
7868
+ */
7869
+ 'unicorn/no-array-fill-with-reference-type'?: Linter.RuleEntry<[]>;
7076
7870
  /**
7077
7871
  * Prefer `for…of` over the `forEach` method.
7078
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
7872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-for-each.md
7079
7873
  */
7080
7874
  'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
7875
+ /**
7876
+ * Disallow `.fill()` after `Array.from({length: …})`.
7877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-from-fill.md
7878
+ */
7879
+ 'unicorn/no-array-from-fill'?: Linter.RuleEntry<[]>;
7081
7880
  /**
7082
7881
  * Disallow using the `this` argument in array methods.
7083
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
7882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-method-this-argument.md
7084
7883
  */
7085
7884
  'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
7086
7885
  /**
7087
7886
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
7088
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
7887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-array-push-push
7089
7888
  * @deprecated
7090
7889
  */
7091
7890
  'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
7092
7891
  /**
7093
7892
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
7094
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
7893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-reduce.md
7095
7894
  */
7096
7895
  'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
7097
7896
  /**
7098
7897
  * Prefer `Array#toReversed()` over `Array#reverse()`.
7099
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
7898
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-reverse.md
7100
7899
  */
7101
7900
  'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
7102
7901
  /**
7103
7902
  * Prefer `Array#toSorted()` over `Array#sort()`.
7104
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
7903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-array-sort.md
7105
7904
  */
7106
7905
  'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
7107
7906
  /**
7108
7907
  * Disallow member access from await expression.
7109
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
7908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-await-expression-member.md
7110
7909
  */
7111
7910
  'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
7112
7911
  /**
7113
7912
  * Disallow using `await` in `Promise` method parameters.
7114
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
7913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-await-in-promise-methods.md
7115
7914
  */
7116
7915
  'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
7916
+ /**
7917
+ * Disallow unnecessary `Blob` to `File` conversion.
7918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-blob-to-file.md
7919
+ */
7920
+ 'unicorn/no-blob-to-file'?: Linter.RuleEntry<[]>;
7921
+ /**
7922
+ * Prefer drawing canvases directly instead of converting them to images.
7923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-canvas-to-image.md
7924
+ */
7925
+ 'unicorn/no-canvas-to-image'?: Linter.RuleEntry<[]>;
7926
+ /**
7927
+ * Disallow confusing uses of `Array#{splice,toSpliced}()`.
7928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-confusing-array-splice.md
7929
+ */
7930
+ 'unicorn/no-confusing-array-splice'?: Linter.RuleEntry<[]>;
7117
7931
  /**
7118
7932
  * Do not use leading/trailing space between `console.log` parameters.
7119
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
7933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-console-spaces.md
7120
7934
  */
7121
7935
  'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
7122
7936
  /**
7123
7937
  * Do not use `document.cookie` directly.
7124
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
7938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-document-cookie.md
7125
7939
  */
7126
7940
  'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
7941
+ /**
7942
+ * Disallow duplicate values in `Set` constructor array literals.
7943
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-duplicate-set-values.md
7944
+ */
7945
+ 'unicorn/no-duplicate-set-values'?: Linter.RuleEntry<[]>;
7127
7946
  /**
7128
7947
  * Disallow empty files.
7129
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
7948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-empty-file.md
7130
7949
  */
7131
- 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
7950
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<UnicornNoEmptyFile>;
7951
+ /**
7952
+ * Disallow exports in scripts.
7953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-exports-in-scripts.md
7954
+ */
7955
+ 'unicorn/no-exports-in-scripts'?: Linter.RuleEntry<[]>;
7132
7956
  /**
7133
7957
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
7134
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
7958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-for-loop.md
7135
7959
  */
7136
7960
  'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
7137
7961
  /**
7138
7962
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
7139
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
7963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-hex-escape.md
7140
7964
  */
7141
7965
  'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
7142
7966
  /**
7143
7967
  * Disallow immediate mutation after variable assignment.
7144
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
7968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-immediate-mutation.md
7145
7969
  */
7146
7970
  'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
7971
+ /**
7972
+ * Disallow incorrect `querySelector()` and `querySelectorAll()` usage.
7973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-incorrect-query-selector.md
7974
+ */
7975
+ 'unicorn/no-incorrect-query-selector'?: Linter.RuleEntry<[]>;
7147
7976
  /**
7148
7977
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
7149
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-instanceof-array
7150
7979
  * @deprecated
7151
7980
  */
7152
7981
  'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
7153
7982
  /**
7154
7983
  * Disallow `instanceof` with built-in objects
7155
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
7984
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-instanceof-builtins.md
7156
7985
  */
7157
7986
  'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
7158
7987
  /**
7159
7988
  * Disallow invalid options in `fetch()` and `new Request()`.
7160
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
7989
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-fetch-options.md
7161
7990
  */
7162
7991
  'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
7992
+ /**
7993
+ * Disallow invalid `accept` values on file inputs.
7994
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-file-input-accept.md
7995
+ */
7996
+ 'unicorn/no-invalid-file-input-accept'?: Linter.RuleEntry<[]>;
7163
7997
  /**
7164
7998
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
7165
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
7999
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-invalid-remove-event-listener.md
7166
8000
  */
7167
8001
  'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
7168
8002
  /**
7169
8003
  * Disallow identifiers starting with `new` or `class`.
7170
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
8004
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-keyword-prefix.md
7171
8005
  */
7172
8006
  'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
8007
+ /**
8008
+ * Disallow accessing `event.currentTarget` after the synchronous event dispatch has finished.
8009
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-late-current-target-access.md
8010
+ */
8011
+ 'unicorn/no-late-current-target-access'?: Linter.RuleEntry<[]>;
7173
8012
  /**
7174
8013
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
7175
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
8014
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
7176
8015
  * @deprecated
7177
8016
  */
7178
8017
  'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
7179
8018
  /**
7180
8019
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
7181
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
8020
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-lonely-if.md
7182
8021
  */
7183
8022
  'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
7184
8023
  /**
7185
8024
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
7186
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
8025
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-magic-array-flat-depth.md
7187
8026
  */
7188
8027
  'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
8028
+ /**
8029
+ * Disallow manually wrapped comments.
8030
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-manually-wrapped-comments.md
8031
+ */
8032
+ 'unicorn/no-manually-wrapped-comments'?: Linter.RuleEntry<[]>;
7189
8033
  /**
7190
8034
  * Disallow named usage of default import and export.
7191
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
8035
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-named-default.md
7192
8036
  */
7193
8037
  'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
7194
8038
  /**
7195
8039
  * Disallow negated conditions.
7196
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
8040
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-negated-condition.md
7197
8041
  */
7198
8042
  'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
7199
8043
  /**
7200
8044
  * Disallow negated expression in equality check.
7201
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
8045
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-negation-in-equality-check.md
7202
8046
  */
7203
8047
  'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
7204
8048
  /**
7205
8049
  * Disallow nested ternary expressions.
7206
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
8050
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-nested-ternary.md
7207
8051
  */
7208
8052
  'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
7209
8053
  /**
7210
8054
  * Disallow `new Array()`.
7211
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
8055
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-new-array.md
7212
8056
  */
7213
8057
  'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
7214
8058
  /**
7215
8059
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
7216
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
8060
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-new-buffer.md
7217
8061
  */
7218
8062
  'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
7219
8063
  /**
7220
8064
  * Disallow the use of the `null` literal.
7221
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
8065
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-null.md
7222
8066
  */
7223
8067
  'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
7224
8068
  /**
7225
8069
  * Disallow the use of objects as default parameters.
7226
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
8070
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-object-as-default-parameter.md
7227
8071
  */
7228
8072
  'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
7229
8073
  /**
7230
8074
  * Disallow `process.exit()`.
7231
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
8075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-process-exit.md
7232
8076
  */
7233
8077
  'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
7234
8078
  /**
7235
8079
  * Disallow passing single-element arrays to `Promise` methods.
7236
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
8080
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-single-promise-in-promise-methods.md
7237
8081
  */
7238
8082
  'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
7239
8083
  /**
7240
8084
  * Disallow classes that only have static members.
7241
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
8085
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-static-only-class.md
7242
8086
  */
7243
8087
  'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
7244
8088
  /**
7245
8089
  * Disallow `then` property.
7246
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
8090
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-thenable.md
7247
8091
  */
7248
8092
  'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
7249
8093
  /**
7250
8094
  * Disallow assigning `this` to a variable.
7251
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
8095
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-this-assignment.md
7252
8096
  */
7253
8097
  'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
8098
+ /**
8099
+ * Disallow `this` outside of classes.
8100
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-this-outside-of-class.md
8101
+ */
8102
+ 'unicorn/no-this-outside-of-class'?: Linter.RuleEntry<[]>;
7254
8103
  /**
7255
8104
  * Disallow comparing `undefined` using `typeof`.
7256
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
8105
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-typeof-undefined.md
7257
8106
  */
7258
8107
  'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
7259
8108
  /**
7260
8109
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
7261
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
8110
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-array-flat-depth.md
7262
8111
  */
7263
8112
  'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
7264
8113
  /**
7265
8114
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
7266
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
8115
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-array-splice-count.md
7267
8116
  */
7268
8117
  'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
7269
8118
  /**
7270
8119
  * Disallow awaiting non-promise values.
7271
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
8120
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-await.md
7272
8121
  */
7273
8122
  'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
8123
+ /**
8124
+ * Disallow unnecessary nested ternary expressions.
8125
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-nested-ternary.md
8126
+ */
8127
+ 'unicorn/no-unnecessary-nested-ternary'?: Linter.RuleEntry<[]>;
7274
8128
  /**
7275
8129
  * Enforce the use of built-in methods instead of unnecessary polyfills.
7276
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
8130
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-polyfills.md
7277
8131
  */
7278
8132
  'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
7279
8133
  /**
7280
8134
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
7281
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
8135
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unnecessary-slice-end.md
7282
8136
  */
7283
8137
  'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
7284
8138
  /**
7285
8139
  * Disallow unreadable array destructuring.
7286
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
8140
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unreadable-array-destructuring.md
7287
8141
  */
7288
8142
  'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
7289
8143
  /**
7290
8144
  * Disallow unreadable IIFEs.
7291
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
8145
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unreadable-iife.md
7292
8146
  */
7293
8147
  'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
8148
+ /**
8149
+ * Disallow ignoring the return value of selected array methods.
8150
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unused-array-method-return.md
8151
+ */
8152
+ 'unicorn/no-unused-array-method-return'?: Linter.RuleEntry<[]>;
7294
8153
  /**
7295
8154
  * Disallow unused object properties.
7296
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
8155
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-unused-properties.md
7297
8156
  */
7298
8157
  'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
7299
8158
  /**
7300
8159
  * Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
7301
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
8160
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-collection-argument.md
7302
8161
  */
7303
8162
  'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
7304
8163
  /**
7305
8164
  * Disallow unnecessary `Error.captureStackTrace(…)`.
7306
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
8165
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-error-capture-stack-trace.md
7307
8166
  */
7308
8167
  'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
7309
8168
  /**
7310
8169
  * Disallow useless fallback when spreading in object literals.
7311
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
8170
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-fallback-in-spread.md
7312
8171
  */
7313
8172
  'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
7314
8173
  /**
7315
8174
  * Disallow unnecessary `.toArray()` on iterators.
7316
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
8175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-iterator-to-array.md
7317
8176
  */
7318
8177
  'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
7319
8178
  /**
7320
8179
  * Disallow useless array length check.
7321
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
8180
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-length-check.md
7322
8181
  */
7323
8182
  'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
7324
8183
  /**
7325
8184
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
7326
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
8185
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-promise-resolve-reject.md
7327
8186
  */
7328
8187
  'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
7329
8188
  /**
7330
8189
  * Disallow unnecessary spread.
7331
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
8190
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-spread.md
7332
8191
  */
7333
8192
  'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
7334
8193
  /**
7335
8194
  * Disallow useless case in switch statements.
7336
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
8195
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-switch-case.md
7337
8196
  */
7338
8197
  'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
7339
8198
  /**
7340
8199
  * Disallow useless `undefined`.
7341
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
8200
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-useless-undefined.md
7342
8201
  */
7343
8202
  'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
7344
8203
  /**
7345
8204
  * Disallow number literals with zero fractions or dangling dots.
7346
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
8205
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/no-zero-fractions.md
7347
8206
  */
7348
8207
  'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
7349
8208
  /**
7350
8209
  * Enforce proper case for numeric literals.
7351
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
8210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/number-literal-case.md
7352
8211
  */
7353
8212
  'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
7354
8213
  /**
7355
8214
  * Enforce the style of numeric separators by correctly grouping digits.
7356
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
8215
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/numeric-separators-style.md
7357
8216
  */
7358
8217
  'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
7359
8218
  /**
7360
8219
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
7361
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
8220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-add-event-listener.md
7362
8221
  */
7363
8222
  'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
7364
8223
  /**
7365
8224
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
7366
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
8225
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-find.md
7367
8226
  */
7368
8227
  'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
7369
8228
  /**
7370
8229
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
7371
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
8230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-flat.md
7372
8231
  */
7373
8232
  'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
7374
8233
  /**
7375
8234
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
7376
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
8235
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-flat-map.md
7377
8236
  */
7378
8237
  'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
7379
8238
  /**
7380
8239
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
7381
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
8240
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-index-of.md
7382
8241
  */
7383
8242
  'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
8243
+ /**
8244
+ * Prefer last-oriented array methods over `Array#reverse()` or `Array#toReversed()` followed by a method.
8245
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-last-methods.md
8246
+ */
8247
+ 'unicorn/prefer-array-last-methods'?: Linter.RuleEntry<[]>;
7384
8248
  /**
7385
8249
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
7386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
8250
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-array-some.md
7387
8251
  */
7388
8252
  'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
7389
8253
  /**
7390
8254
  * Prefer `.at()` method for index access and `String#charAt()`.
7391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
8255
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-at.md
7392
8256
  */
7393
8257
  'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
7394
8258
  /**
7395
8259
  * Prefer `BigInt` literals over the constructor.
7396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
8260
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-bigint-literals.md
7397
8261
  */
7398
8262
  'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
7399
8263
  /**
7400
8264
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
7401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
8265
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-blob-reading-methods.md
7402
8266
  */
7403
8267
  'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
7404
8268
  /**
7405
8269
  * Prefer class field declarations over `this` assignments in constructors.
7406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
8270
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-class-fields.md
7407
8271
  */
7408
8272
  'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
7409
8273
  /**
7410
8274
  * Prefer using `Element#classList.toggle()` to toggle class names.
7411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
8275
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-classlist-toggle.md
7412
8276
  */
7413
8277
  'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
7414
8278
  /**
7415
8279
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
7416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
8280
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-code-point.md
7417
8281
  */
7418
8282
  'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
7419
8283
  /**
7420
8284
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
7421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
8285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-date-now.md
7422
8286
  */
7423
8287
  'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
7424
8288
  /**
7425
8289
  * Prefer default parameters over reassignment.
7426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
8290
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-default-parameters.md
7427
8291
  */
7428
8292
  'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
7429
8293
  /**
7430
- * Prefer `Node#append()` over `Node#appendChild()`.
7431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
8294
+ * Prefer `Element#append()` over `Node#appendChild()`.
8295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-append.md
7432
8296
  */
7433
8297
  'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
7434
8298
  /**
7435
- * Prefer using `.dataset` on DOM elements over calling attribute methods.
7436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
8299
+ * Renamed to `unicorn/dom-node-dataset`.
8300
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#prefer-dom-node-dataset
8301
+ * @deprecated
7437
8302
  */
7438
8303
  'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
7439
8304
  /**
7440
8305
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
7441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
8306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-remove.md
7442
8307
  */
7443
8308
  'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
7444
8309
  /**
7445
8310
  * Prefer `.textContent` over `.innerText`.
7446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
8311
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-dom-node-text-content.md
7447
8312
  */
7448
8313
  'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
7449
8314
  /**
7450
8315
  * Prefer `EventTarget` over `EventEmitter`.
7451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
8316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-event-target.md
7452
8317
  */
7453
8318
  'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
7454
8319
  /**
7455
8320
  * Prefer `export…from` when re-exporting.
7456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
8321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-export-from.md
7457
8322
  */
7458
8323
  'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
8324
+ /**
8325
+ * Prefer `.getOrInsertComputed()` when the default value has side effects.
8326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-get-or-insert-computed.md
8327
+ */
8328
+ 'unicorn/prefer-get-or-insert-computed'?: Linter.RuleEntry<[]>;
7459
8329
  /**
7460
8330
  * Prefer `globalThis` over `window`, `self`, and `global`.
7461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
8331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-global-this.md
7462
8332
  */
7463
8333
  'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
8334
+ /**
8335
+ * Prefer HTTPS over HTTP.
8336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-https.md
8337
+ */
8338
+ 'unicorn/prefer-https'?: Linter.RuleEntry<[]>;
7464
8339
  /**
7465
8340
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
7466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
8341
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-import-meta-properties.md
7467
8342
  */
7468
8343
  'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
7469
8344
  /**
7470
8345
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
7471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
8346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-includes.md
7472
8347
  */
7473
8348
  'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
7474
8349
  /**
7475
- * Prefer reading a JSON file as a buffer.
7476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
8350
+ * Prefer `.includes()` over repeated equality comparisons.
8351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-includes-over-repeated-comparisons.md
8352
+ */
8353
+ 'unicorn/prefer-includes-over-repeated-comparisons'?: Linter.RuleEntry<UnicornPreferIncludesOverRepeatedComparisons>;
8354
+ /**
8355
+ * Prefer `Iterator.concat(…)` over temporary spread arrays.
8356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-iterator-concat.md
8357
+ */
8358
+ 'unicorn/prefer-iterator-concat'?: Linter.RuleEntry<[]>;
8359
+ /**
8360
+ * Prefer moving `.toArray()` to the end of iterator helper chains.
8361
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-iterator-to-array-at-end.md
8362
+ */
8363
+ 'unicorn/prefer-iterator-to-array-at-end'?: Linter.RuleEntry<[]>;
8364
+ /**
8365
+ * Renamed to `unicorn/consistent-json-file-read`.
8366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/deleted-and-deprecated-rules.md#prefer-json-parse-buffer
8367
+ * @deprecated
7477
8368
  */
7478
8369
  'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
7479
8370
  /**
7480
- * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
7481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
8371
+ * Prefer `KeyboardEvent#key` over deprecated keyboard event properties.
8372
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-keyboard-event-key.md
7482
8373
  */
7483
8374
  'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
7484
8375
  /**
7485
8376
  * Prefer using a logical operator over a ternary.
7486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
8377
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-logical-operator-over-ternary.md
7487
8378
  */
7488
8379
  'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
8380
+ /**
8381
+ * Prefer `Math.abs()` over manual absolute value expressions and symmetric range checks.
8382
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-math-abs.md
8383
+ */
8384
+ 'unicorn/prefer-math-abs'?: Linter.RuleEntry<[]>;
7489
8385
  /**
7490
8386
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
7491
- * @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/v65.0.1/docs/rules/prefer-math-min-max.md
7492
8388
  */
7493
8389
  'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
7494
8390
  /**
7495
8391
  * Enforce the use of `Math.trunc` instead of bitwise operators.
7496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
8392
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-math-trunc.md
7497
8393
  */
7498
8394
  'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
7499
8395
  /**
7500
8396
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
7501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
8397
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-modern-dom-apis.md
7502
8398
  */
7503
8399
  'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
7504
8400
  /**
7505
8401
  * Prefer modern `Math` APIs over legacy patterns.
7506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
8402
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-modern-math-apis.md
7507
8403
  */
7508
8404
  'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
7509
8405
  /**
7510
8406
  * Prefer JavaScript modules (ESM) over CommonJS.
7511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
8407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-module.md
7512
8408
  */
7513
8409
  'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
7514
8410
  /**
7515
8411
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
7516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
8412
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-native-coercion-functions.md
7517
8413
  */
7518
8414
  'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
7519
8415
  /**
7520
8416
  * Prefer negative index over `.length - index` when possible.
7521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
8417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-negative-index.md
7522
8418
  */
7523
8419
  'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
7524
8420
  /**
7525
8421
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
7526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
8422
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-node-protocol.md
7527
8423
  */
7528
8424
  'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
7529
8425
  /**
7530
8426
  * Prefer `Number` static properties over global ones.
7531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
8427
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-number-properties.md
7532
8428
  */
7533
8429
  'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
7534
8430
  /**
7535
8431
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
7536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
8432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-object-from-entries.md
7537
8433
  */
7538
8434
  'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
7539
8435
  /**
7540
8436
  * Prefer omitting the `catch` binding parameter.
7541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
8437
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-optional-catch-binding.md
7542
8438
  */
7543
8439
  'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
7544
8440
  /**
7545
8441
  * Prefer borrowing methods from the prototype instead of the instance.
7546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
8442
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-prototype-methods.md
7547
8443
  */
7548
8444
  'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
7549
8445
  /**
7550
- * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
7551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
8446
+ * Prefer `.querySelector()` and `.querySelectorAll()` over older DOM query methods.
8447
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-query-selector.md
8448
+ */
8449
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<UnicornPreferQuerySelector>;
8450
+ /**
8451
+ * Prefer `queueMicrotask()` over `process.nextTick()`, `setImmediate()`, and `setTimeout(…, 0)`.
8452
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-queue-microtask.md
7552
8453
  */
7553
- 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
8454
+ 'unicorn/prefer-queue-microtask'?: Linter.RuleEntry<UnicornPreferQueueMicrotask>;
7554
8455
  /**
7555
8456
  * Prefer `Reflect.apply()` over `Function#apply()`.
7556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
8457
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-reflect-apply.md
7557
8458
  */
7558
8459
  'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
7559
8460
  /**
7560
8461
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
7561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
8462
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-regexp-test.md
7562
8463
  */
7563
8464
  'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
7564
8465
  /**
7565
8466
  * Prefer `Response.json()` over `new Response(JSON.stringify())`.
7566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
8467
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-response-static-json.md
7567
8468
  */
7568
8469
  'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
7569
8470
  /**
7570
8471
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
7571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
8472
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-set-has.md
7572
8473
  */
7573
- 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
8474
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<UnicornPreferSetHas>;
7574
8475
  /**
7575
8476
  * Prefer using `Set#size` instead of `Array#length`.
7576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
8477
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-set-size.md
7577
8478
  */
7578
8479
  'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
7579
8480
  /**
7580
8481
  * Prefer simple conditions first in logical expressions.
7581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
8482
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-simple-condition-first.md
7582
8483
  */
7583
8484
  'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
7584
8485
  /**
7585
- * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
7586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
8486
+ * Enforce combining multiple `Array#{push,unshift}()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
8487
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-single-call.md
7587
8488
  */
7588
8489
  'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
8490
+ /**
8491
+ * Prefer `String#split()` with a limit.
8492
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-split-limit.md
8493
+ */
8494
+ 'unicorn/prefer-split-limit'?: Linter.RuleEntry<[]>;
7589
8495
  /**
7590
8496
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
7591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
8497
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-spread.md
7592
8498
  */
7593
8499
  'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
8500
+ /**
8501
+ * Prefer `String#matchAll()` over `RegExp#exec()` loops.
8502
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-match-all.md
8503
+ */
8504
+ 'unicorn/prefer-string-match-all'?: Linter.RuleEntry<[]>;
8505
+ /**
8506
+ * Prefer `String#padStart()` and `String#padEnd()` over manual string padding.
8507
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-pad-start-end.md
8508
+ */
8509
+ 'unicorn/prefer-string-pad-start-end'?: Linter.RuleEntry<[]>;
7594
8510
  /**
7595
8511
  * Prefer using the `String.raw` tag to avoid escaping `\`.
7596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
8512
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-raw.md
7597
8513
  */
7598
8514
  'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
7599
8515
  /**
7600
- * Prefer `String#replaceAll()` over regex searches with the global flag.
7601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
8516
+ * Prefer `String#repeat()` for repeated whitespace.
8517
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-repeat.md
8518
+ */
8519
+ 'unicorn/prefer-string-repeat'?: Linter.RuleEntry<UnicornPreferStringRepeat>;
8520
+ /**
8521
+ * Prefer `String#replaceAll()` over regex searches with the global flag and `String#split().join()`.
8522
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-replace-all.md
7602
8523
  */
7603
8524
  'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
7604
8525
  /**
7605
8526
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
7606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
8527
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-slice.md
7607
8528
  */
7608
8529
  'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
7609
8530
  /**
7610
8531
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
7611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
8532
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-starts-ends-with.md
7612
8533
  */
7613
8534
  'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
7614
8535
  /**
7615
8536
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
7616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
8537
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-string-trim-start-end.md
7617
8538
  */
7618
8539
  'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
7619
8540
  /**
7620
8541
  * Prefer using `structuredClone` to create a deep clone.
7621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
8542
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-structured-clone.md
7622
8543
  */
7623
8544
  'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
7624
8545
  /**
7625
8546
  * Prefer `switch` over multiple `else-if`.
7626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
8547
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-switch.md
7627
8548
  */
7628
8549
  'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
7629
8550
  /**
7630
8551
  * Prefer ternary expressions over simple `if-else` statements.
7631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
8552
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-ternary.md
7632
8553
  */
7633
8554
  'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
7634
8555
  /**
7635
8556
  * Prefer top-level await over top-level promises and async function calls.
7636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
8557
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-top-level-await.md
7637
8558
  */
7638
8559
  'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
7639
8560
  /**
7640
8561
  * Enforce throwing `TypeError` in type checking conditions.
7641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
8562
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prefer-type-error.md
7642
8563
  */
7643
8564
  'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
7644
8565
  /**
7645
8566
  * Prevent abbreviations.
7646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
8567
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/prevent-abbreviations.md
7647
8568
  */
7648
8569
  'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
7649
8570
  /**
7650
8571
  * Enforce consistent relative URL style.
7651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
8572
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/relative-url-style.md
7652
8573
  */
7653
8574
  'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
7654
8575
  /**
7655
8576
  * Enforce using the separator argument with `Array#join()`.
7656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
8577
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-array-join-separator.md
7657
8578
  */
7658
8579
  'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
8580
+ /**
8581
+ * Require `CSS.escape()` for interpolated values in CSS selectors.
8582
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-css-escape.md
8583
+ */
8584
+ 'unicorn/require-css-escape'?: Linter.RuleEntry<UnicornRequireCssEscape>;
7659
8585
  /**
7660
8586
  * Require non-empty module attributes for imports and exports
7661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
8587
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-module-attributes.md
7662
8588
  */
7663
8589
  'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
7664
8590
  /**
7665
8591
  * Require non-empty specifier list in import and export statements.
7666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
8592
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-module-specifiers.md
7667
8593
  */
7668
8594
  'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
7669
8595
  /**
7670
8596
  * Enforce using the digits argument with `Number#toFixed()`.
7671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
8597
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-number-to-fixed-digits-argument.md
7672
8598
  */
7673
8599
  'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
8600
+ /**
8601
+ * Require passive event listeners for high-frequency events.
8602
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-passive-events.md
8603
+ */
8604
+ 'unicorn/require-passive-events'?: Linter.RuleEntry<[]>;
7674
8605
  /**
7675
8606
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
7676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
8607
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/require-post-message-target-origin.md
7677
8608
  */
7678
8609
  'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
7679
8610
  /**
7680
8611
  * Enforce better string content.
7681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
8612
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/string-content.md
7682
8613
  */
7683
8614
  'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
7684
8615
  /**
7685
8616
  * Enforce consistent brace style for `case` clauses.
7686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
8617
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/switch-case-braces.md
7687
8618
  */
7688
8619
  'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
7689
8620
  /**
7690
8621
  * Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
7691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
8622
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/switch-case-break-position.md
7692
8623
  */
7693
8624
  'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
7694
8625
  /**
7695
8626
  * Fix whitespace-insensitive template indentation.
7696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
8627
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/template-indent.md
7697
8628
  */
7698
8629
  'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
7699
8630
  /**
7700
8631
  * Enforce consistent case for text encoding identifiers.
7701
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
8632
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/text-encoding-identifier-case.md
7702
8633
  */
7703
8634
  'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
7704
8635
  /**
7705
8636
  * Require `new` when creating an error.
7706
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
8637
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/throw-new-error.md
7707
8638
  */
7708
8639
  'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
8640
+ /**
8641
+ * Limit the complexity of `try` blocks.
8642
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v65.0.1/docs/rules/try-complexity.md
8643
+ */
8644
+ 'unicorn/try-complexity'?: Linter.RuleEntry<UnicornTryComplexity>;
7709
8645
  }
7710
8646
  /* ======= Declarations ======= */
7711
- // ----- unicorn/better-regex -----
7712
- type UnicornBetterRegex = [] | [{
7713
- sortCharacterClasses?: boolean;
7714
- }]; // ----- unicorn/catch-error-name -----
8647
+ // ----- unicorn/catch-error-name -----
7715
8648
  type UnicornCatchErrorName = [] | [{
7716
8649
  name?: string;
7717
8650
  ignore?: unknown[];
7718
- }]; // ----- unicorn/consistent-function-scoping -----
8651
+ }]; // ----- unicorn/consistent-compound-words -----
8652
+ type UnicornConsistentCompoundWords = [] | [{
8653
+ checkProperties?: boolean;
8654
+ checkVariables?: boolean;
8655
+ checkDefaultAndNamespaceImports?: (boolean | "internal");
8656
+ checkShorthandImports?: (boolean | "internal");
8657
+ checkShorthandProperties?: boolean;
8658
+ extendDefaultReplacements?: boolean;
8659
+ replacements?: _UnicornConsistentCompoundWords_Replacements;
8660
+ allowList?: _UnicornConsistentCompoundWords_TrueObject;
8661
+ }];
8662
+ interface _UnicornConsistentCompoundWords_Replacements {
8663
+ [k: string]: (false | string) | undefined;
8664
+ }
8665
+ interface _UnicornConsistentCompoundWords_TrueObject {
8666
+ [k: string]: true | undefined;
8667
+ } // ----- unicorn/consistent-function-scoping -----
7719
8668
  type UnicornConsistentFunctionScoping = [] | [{
7720
8669
  checkArrowFunctions?: boolean;
8670
+ }]; // ----- unicorn/consistent-json-file-read -----
8671
+ type UnicornConsistentJsonFileRead = [] | [("string" | "buffer")]; // ----- unicorn/dom-node-dataset -----
8672
+ type UnicornDomNodeDataset = [] | [{
8673
+ preferAttributes?: boolean;
7721
8674
  }]; // ----- unicorn/escape-case -----
7722
8675
  type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
7723
8676
  type UnicornExpiringTodoComments = [] | [{
7724
8677
  terms?: string[];
7725
8678
  ignore?: unknown[];
7726
- ignoreDates?: boolean;
7727
- ignoreDatesOnPullRequests?: boolean;
8679
+ checkDates?: boolean;
8680
+ checkDatesOnPullRequests?: boolean;
7728
8681
  allowWarningComments?: boolean;
7729
8682
  date?: string;
7730
8683
  }]; // ----- unicorn/explicit-length-check -----
@@ -7735,6 +8688,7 @@ type UnicornFilenameCase = [] | [({
7735
8688
  case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
7736
8689
  ignore?: unknown[];
7737
8690
  multipleFileExtensions?: boolean;
8691
+ checkDirectories?: boolean;
7738
8692
  } | {
7739
8693
  cases?: {
7740
8694
  camelCase?: boolean;
@@ -7744,6 +8698,7 @@ type UnicornFilenameCase = [] | [({
7744
8698
  };
7745
8699
  ignore?: unknown[];
7746
8700
  multipleFileExtensions?: boolean;
8701
+ checkDirectories?: boolean;
7747
8702
  })]; // ----- unicorn/import-style -----
7748
8703
  type UnicornImportStyle = [] | [{
7749
8704
  checkImport?: boolean;
@@ -7767,6 +8722,9 @@ type UnicornIsolatedFunctions = [] | [{
7767
8722
  functions?: string[];
7768
8723
  selectors?: string[];
7769
8724
  comments?: string[];
8725
+ }]; // ----- unicorn/no-array-callback-reference -----
8726
+ type UnicornNoArrayCallbackReference = [] | [{
8727
+ ignore?: string[];
7770
8728
  }]; // ----- unicorn/no-array-reduce -----
7771
8729
  type UnicornNoArrayReduce = [] | [{
7772
8730
  allowSimpleOperations?: boolean;
@@ -7776,6 +8734,9 @@ type UnicornNoArrayReverse = [] | [{
7776
8734
  }]; // ----- unicorn/no-array-sort -----
7777
8735
  type UnicornNoArraySort = [] | [{
7778
8736
  allowExpressionStatement?: boolean;
8737
+ }]; // ----- unicorn/no-empty-file -----
8738
+ type UnicornNoEmptyFile = [] | [{
8739
+ allowComments?: boolean;
7779
8740
  }]; // ----- unicorn/no-instanceof-builtins -----
7780
8741
  type UnicornNoInstanceofBuiltins = [] | [{
7781
8742
  useErrorIsError?: boolean;
@@ -7789,13 +8750,14 @@ type UnicornNoKeywordPrefix = [] | [{
7789
8750
  onlyCamelCase?: boolean;
7790
8751
  }]; // ----- unicorn/no-null -----
7791
8752
  type UnicornNoNull = [] | [{
8753
+ checkArguments?: boolean;
7792
8754
  checkStrictEquality?: boolean;
7793
8755
  }]; // ----- unicorn/no-typeof-undefined -----
7794
8756
  type UnicornNoTypeofUndefined = [] | [{
7795
8757
  checkGlobalVariables?: boolean;
7796
8758
  }]; // ----- unicorn/no-unnecessary-polyfills -----
7797
8759
  type UnicornNoUnnecessaryPolyfills = [] | [{
7798
- targets: (string | unknown[] | {
8760
+ targets?: (string | unknown[] | {
7799
8761
  [k: string]: unknown | undefined;
7800
8762
  });
7801
8763
  }]; // ----- unicorn/no-useless-undefined -----
@@ -7826,6 +8788,7 @@ type UnicornNumericSeparatorsStyle = [] | [{
7826
8788
  onlyIfContainsSeparator?: boolean;
7827
8789
  minimumDigits?: number;
7828
8790
  groupLength?: number;
8791
+ fractionGroupLength?: number;
7829
8792
  };
7830
8793
  onlyIfContainsSeparator?: boolean;
7831
8794
  }]; // ----- unicorn/prefer-add-event-listener -----
@@ -7843,7 +8806,10 @@ type UnicornPreferAt = [] | [{
7843
8806
  checkAllIndexAccess?: boolean;
7844
8807
  }]; // ----- unicorn/prefer-export-from -----
7845
8808
  type UnicornPreferExportFrom = [] | [{
7846
- ignoreUsedVariables?: boolean;
8809
+ checkUsedVariables?: boolean;
8810
+ }]; // ----- unicorn/prefer-includes-over-repeated-comparisons -----
8811
+ type UnicornPreferIncludesOverRepeatedComparisons = [] | [{
8812
+ minimumComparisons?: number;
7847
8813
  }]; // ----- unicorn/prefer-number-properties -----
7848
8814
  type UnicornPreferNumberProperties = [] | [{
7849
8815
  checkInfinity?: boolean;
@@ -7851,9 +8817,22 @@ type UnicornPreferNumberProperties = [] | [{
7851
8817
  }]; // ----- unicorn/prefer-object-from-entries -----
7852
8818
  type UnicornPreferObjectFromEntries = [] | [{
7853
8819
  functions?: unknown[];
8820
+ }]; // ----- unicorn/prefer-query-selector -----
8821
+ type UnicornPreferQuerySelector = [] | [{
8822
+ allowWithVariables?: boolean;
8823
+ }]; // ----- unicorn/prefer-queue-microtask -----
8824
+ type UnicornPreferQueueMicrotask = [] | [{
8825
+ checkSetImmediate?: boolean;
8826
+ checkSetTimeout?: boolean;
8827
+ }]; // ----- unicorn/prefer-set-has -----
8828
+ type UnicornPreferSetHas = [] | [{
8829
+ minimumItems?: number;
7854
8830
  }]; // ----- unicorn/prefer-single-call -----
7855
8831
  type UnicornPreferSingleCall = [] | [{
7856
8832
  ignore?: unknown[];
8833
+ }]; // ----- unicorn/prefer-string-repeat -----
8834
+ type UnicornPreferStringRepeat = [] | [{
8835
+ minimumRepetitions?: number;
7857
8836
  }]; // ----- unicorn/prefer-structured-clone -----
7858
8837
  type UnicornPreferStructuredClone = [] | [{
7859
8838
  functions?: unknown[];
@@ -7886,15 +8865,20 @@ interface _UnicornPreventAbbreviations_BooleanObject {
7886
8865
  interface _UnicornPreventAbbreviations_BooleanObject {
7887
8866
  [k: string]: boolean | undefined;
7888
8867
  } // ----- unicorn/relative-url-style -----
7889
- type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
8868
+ type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/require-css-escape -----
8869
+ type UnicornRequireCssEscape = [] | [{
8870
+ checkAllSelectors?: boolean;
8871
+ }]; // ----- unicorn/string-content -----
7890
8872
  type UnicornStringContent = [] | [{
7891
8873
  patterns?: {
7892
8874
  [k: string]: (string | {
7893
8875
  suggest: string;
7894
8876
  fix?: boolean;
8877
+ caseSensitive?: boolean;
7895
8878
  message?: string;
7896
8879
  }) | undefined;
7897
8880
  };
8881
+ selectors?: string[];
7898
8882
  }]; // ----- unicorn/switch-case-braces -----
7899
8883
  type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
7900
8884
  type UnicornTemplateIndent = [] | [{
@@ -7906,6 +8890,9 @@ type UnicornTemplateIndent = [] | [{
7906
8890
  }]; // ----- unicorn/text-encoding-identifier-case -----
7907
8891
  type UnicornTextEncodingIdentifierCase = [] | [{
7908
8892
  withDash?: boolean;
8893
+ }]; // ----- unicorn/try-complexity -----
8894
+ type UnicornTryComplexity = [] | [{
8895
+ max?: number;
7909
8896
  }];
7910
8897
  //#endregion
7911
8898
  //#region src/config/unicorn.d.ts
@@ -8272,6 +9259,7 @@ interface DefineConfigOptions extends ignores.Options {
8272
9259
  jsonc?: boolean | jsonc.Options;
8273
9260
  next?: boolean | next.Options;
8274
9261
  node?: boolean | node.Options;
9262
+ react?: boolean | react.Options;
8275
9263
  stylistic?: boolean | stylistic.Options;
8276
9264
  test?: boolean | test.Options;
8277
9265
  ts?: boolean | ts.Options;
@@ -8287,5 +9275,5 @@ declare const meta: Readonly<{
8287
9275
  buildNumber: number;
8288
9276
  }>;
8289
9277
  //#endregion
8290
- export { Config, DefineConfigOptions, PluginOptionsBase, StylisticConfig, StylisticParameters, defineConfig as default, defineConfig, e18e, es, ignores, imports, jsdoc, jsonc, markdown, meta, next, node, stylistic, test, ts, unicorn, yml };
9278
+ export { Config, DefineConfigOptions, PluginOptionsBase, StylisticConfig, StylisticParameters, defineConfig as default, defineConfig, e18e, es, ignores, imports, jsdoc, jsonc, markdown, meta, next, node, react, stylistic, test, ts, unicorn, yml };
8291
9279
  //# sourceMappingURL=index.d.ts.map