@kazupon/eslint-config 0.35.0 → 0.36.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
@@ -208,6 +208,131 @@ type CssUseLayers = [] | [{
208
208
  layerNamePattern?: string;
209
209
  }];
210
210
  //#endregion
211
+ //#region src/types/gens/deps.d.ts
212
+ interface DepsRules {
213
+ /**
214
+ * avoid-barrel-files
215
+ * @see ../../docs/rules/avoid-barrel-files.md
216
+ */
217
+ "barrel-files/avoid-barrel-files"?: Linter.RuleEntry<BarrelFilesAvoidBarrelFiles>;
218
+ /**
219
+ * Avoid importing barrel files
220
+ * @see ../../docs/rules/avoid-importing-barrel-files.md
221
+ */
222
+ "barrel-files/avoid-importing-barrel-files"?: Linter.RuleEntry<BarrelFilesAvoidImportingBarrelFiles>;
223
+ /**
224
+ * avoid-namespace-import
225
+ * @see ../../docs/rules/avoid-namespace-import.md
226
+ */
227
+ "barrel-files/avoid-namespace-import"?: Linter.RuleEntry<BarrelFilesAvoidNamespaceImport>;
228
+ /**
229
+ * avoid-re-export-all
230
+ * @see ../../docs/rules/avoid-re-export-all.md
231
+ */
232
+ "barrel-files/avoid-re-export-all"?: Linter.RuleEntry<[]>;
233
+ }
234
+ /* ======= Declarations ======= */
235
+ // ----- barrel-files/avoid-barrel-files -----
236
+ type BarrelFilesAvoidBarrelFiles = [] | [{
237
+ [k: string]: unknown | undefined;
238
+ }];
239
+ // ----- barrel-files/avoid-importing-barrel-files -----
240
+ type BarrelFilesAvoidImportingBarrelFiles = [] | [{
241
+ [k: string]: unknown | undefined;
242
+ }] | [{
243
+ [k: string]: unknown | undefined;
244
+ }, {
245
+ [k: string]: unknown | undefined;
246
+ }] | [{
247
+ [k: string]: unknown | undefined;
248
+ }, {
249
+ [k: string]: unknown | undefined;
250
+ }, {
251
+ [k: string]: unknown | undefined;
252
+ }] | [{
253
+ [k: string]: unknown | undefined;
254
+ }, {
255
+ [k: string]: unknown | undefined;
256
+ }, {
257
+ [k: string]: unknown | undefined;
258
+ }, {
259
+ [k: string]: unknown | undefined;
260
+ }] | [{
261
+ [k: string]: unknown | undefined;
262
+ }, {
263
+ [k: string]: unknown | undefined;
264
+ }, {
265
+ [k: string]: unknown | undefined;
266
+ }, {
267
+ [k: string]: unknown | undefined;
268
+ }, {
269
+ [k: string]: unknown | undefined;
270
+ }] | [{
271
+ [k: string]: unknown | undefined;
272
+ }, {
273
+ [k: string]: unknown | undefined;
274
+ }, {
275
+ [k: string]: unknown | undefined;
276
+ }, {
277
+ [k: string]: unknown | undefined;
278
+ }, {
279
+ [k: string]: unknown | undefined;
280
+ }, {
281
+ [k: string]: unknown | undefined;
282
+ }] | [{
283
+ [k: string]: unknown | undefined;
284
+ }, {
285
+ [k: string]: unknown | undefined;
286
+ }, {
287
+ [k: string]: unknown | undefined;
288
+ }, {
289
+ [k: string]: unknown | undefined;
290
+ }, {
291
+ [k: string]: unknown | undefined;
292
+ }, {
293
+ [k: string]: unknown | undefined;
294
+ }, {
295
+ [k: string]: unknown | undefined;
296
+ }] | [{
297
+ [k: string]: unknown | undefined;
298
+ }, {
299
+ [k: string]: unknown | undefined;
300
+ }, {
301
+ [k: string]: unknown | undefined;
302
+ }, {
303
+ [k: string]: unknown | undefined;
304
+ }, {
305
+ [k: string]: unknown | undefined;
306
+ }, {
307
+ [k: string]: unknown | undefined;
308
+ }, {
309
+ [k: string]: unknown | undefined;
310
+ }, {
311
+ [k: string]: unknown | undefined;
312
+ }] | [{
313
+ [k: string]: unknown | undefined;
314
+ }, {
315
+ [k: string]: unknown | undefined;
316
+ }, {
317
+ [k: string]: unknown | undefined;
318
+ }, {
319
+ [k: string]: unknown | undefined;
320
+ }, {
321
+ [k: string]: unknown | undefined;
322
+ }, {
323
+ [k: string]: unknown | undefined;
324
+ }, {
325
+ [k: string]: unknown | undefined;
326
+ }, {
327
+ [k: string]: unknown | undefined;
328
+ }, {
329
+ [k: string]: unknown | undefined;
330
+ }];
331
+ // ----- barrel-files/avoid-namespace-import -----
332
+ type BarrelFilesAvoidNamespaceImport = [] | [{
333
+ [k: string]: unknown | undefined;
334
+ }];
335
+ //#endregion
211
336
  //#region src/types/gens/html.d.ts
212
337
  interface HtmlRules {
213
338
  /**
@@ -221,7 +346,7 @@ interface HtmlRules {
221
346
  */
222
347
  "@html-eslint/element-newline"?: Linter.RuleEntry<HtmlEslintElementNewline>;
223
348
  /**
224
- * Enforce consistent naming id attributes
349
+ * Enforce consistent naming of id attributes
225
350
  * @see https://html-eslint.org/docs/rules/id-naming-convention
226
351
  */
227
352
  "@html-eslint/id-naming-convention"?: Linter.RuleEntry<HtmlEslintIdNamingConvention>;
@@ -230,27 +355,27 @@ interface HtmlRules {
230
355
  */
231
356
  "@html-eslint/indent"?: Linter.RuleEntry<HtmlEslintIndent>;
232
357
  /**
233
- * Enforce to use lowercase for tag and attribute names.
358
+ * Enforce use of lowercase for tag and attribute names.
234
359
  * @see https://html-eslint.org/docs/rules/lowercase
235
360
  */
236
361
  "@html-eslint/lowercase"?: Linter.RuleEntry<[]>;
237
362
  /**
238
- * Enforce element maximum depth
363
+ * Enforce maximum element depth
239
364
  * @see https://html-eslint.org/docs/rules/max-element-depth
240
365
  */
241
366
  "@html-eslint/max-element-depth"?: Linter.RuleEntry<HtmlEslintMaxElementDepth>;
242
367
  /**
243
- * Disallow to use of abstract roles
368
+ * Disallow use of abstract roles
244
369
  * @see https://html-eslint.org/docs/rules/no-abstract-roles
245
370
  */
246
371
  "@html-eslint/no-abstract-roles"?: Linter.RuleEntry<[]>;
247
372
  /**
248
- * Disallow to use of accesskey attribute
373
+ * Disallow use of accesskey attribute
249
374
  * @see https://html-eslint.org/docs/rules/no-accesskey-attrs
250
375
  */
251
376
  "@html-eslint/no-accesskey-attrs"?: Linter.RuleEntry<[]>;
252
377
  /**
253
- * Disallow to use aria-hidden attributes on the `body` element.
378
+ * Disallow use of aria-hidden attributes on the `body` element.
254
379
  * @see https://html-eslint.org/docs/rules/no-aria-hidden-body
255
380
  */
256
381
  "@html-eslint/no-aria-hidden-body"?: Linter.RuleEntry<[]>;
@@ -260,17 +385,17 @@ interface HtmlRules {
260
385
  */
261
386
  "@html-eslint/no-aria-hidden-on-focusable"?: Linter.RuleEntry<[]>;
262
387
  /**
263
- * Disallow to use duplicate attributes
388
+ * Disallow duplicate attributes
264
389
  * @see https://html-eslint.org/docs/rules/no-duplicate-attrs
265
390
  */
266
391
  "@html-eslint/no-duplicate-attrs"?: Linter.RuleEntry<[]>;
267
392
  /**
268
- * Disallow to use duplicate class
393
+ * Disallow duplicate class names
269
394
  * @see https://html-eslint.org/docs/rules/no-duplicate-class
270
395
  */
271
396
  "@html-eslint/no-duplicate-class"?: Linter.RuleEntry<[]>;
272
397
  /**
273
- * Disallow to use duplicate id
398
+ * Disallow duplicate id attributes
274
399
  * @see https://html-eslint.org/docs/rules/no-duplicate-id
275
400
  */
276
401
  "@html-eslint/no-duplicate-id"?: Linter.RuleEntry<[]>;
@@ -285,7 +410,7 @@ interface HtmlRules {
285
410
  */
286
411
  "@html-eslint/no-empty-headings"?: Linter.RuleEntry<[]>;
287
412
  /**
288
- * Disallow an extra spacing around attributes
413
+ * Disallow extra spacing around attributes
289
414
  * @see https://html-eslint.org/docs/rules/no-extra-spacing-attrs
290
415
  */
291
416
  "@html-eslint/no-extra-spacing-attrs"?: Linter.RuleEntry<HtmlEslintNoExtraSpacingAttrs>;
@@ -300,6 +425,10 @@ interface HtmlRules {
300
425
  */
301
426
  "@html-eslint/no-heading-inside-button"?: Linter.RuleEntry<[]>;
302
427
  /**
428
+ * Disallow HTML attributes that have no effect in their context
429
+ */
430
+ "@html-eslint/no-ineffective-attrs"?: Linter.RuleEntry<[]>;
431
+ /**
303
432
  * Disallow using inline style
304
433
  * @see https://html-eslint.org/docs/rules/no-inline-styles
305
434
  */
@@ -335,7 +464,7 @@ interface HtmlRules {
335
464
  */
336
465
  "@html-eslint/no-non-scalable-viewport"?: Linter.RuleEntry<[]>;
337
466
  /**
338
- * Disallow to use obsolete elements in HTML5
467
+ * Disallow use of obsolete elements in HTML5
339
468
  * @see https://html-eslint.org/docs/rules/no-obsolete-tags
340
469
  */
341
470
  "@html-eslint/no-obsolete-tags"?: Linter.RuleEntry<[]>;
@@ -390,7 +519,7 @@ interface HtmlRules {
390
519
  */
391
520
  "@html-eslint/require-attrs"?: Linter.RuleEntry<HtmlEslintRequireAttrs>;
392
521
  /**
393
- * Require use of button element with a valid type attribute.
522
+ * Require use of the button element with a valid type attribute.
394
523
  * @see https://html-eslint.org/docs/rules/require-button-type
395
524
  */
396
525
  "@html-eslint/require-button-type"?: Linter.RuleEntry<[]>;
@@ -400,7 +529,7 @@ interface HtmlRules {
400
529
  */
401
530
  "@html-eslint/require-closing-tags"?: Linter.RuleEntry<HtmlEslintRequireClosingTags>;
402
531
  /**
403
- * Require `<!DOCTYPE HTML>` in html,
532
+ * Require `<!DOCTYPE HTML>` in HTML
404
533
  * @see https://html-eslint.org/docs/rules/require-doctype
405
534
  */
406
535
  "@html-eslint/require-doctype"?: Linter.RuleEntry<[]>;
@@ -420,7 +549,7 @@ interface HtmlRules {
420
549
  */
421
550
  "@html-eslint/require-frame-title"?: Linter.RuleEntry<[]>;
422
551
  /**
423
- * Require `alt` attribute at `<img>` tag
552
+ * Require `alt` attribute on `<img>` tag
424
553
  * @see https://html-eslint.org/docs/rules/require-img-alt
425
554
  */
426
555
  "@html-eslint/require-img-alt"?: Linter.RuleEntry<HtmlEslintRequireImgAlt>;
@@ -430,17 +559,17 @@ interface HtmlRules {
430
559
  */
431
560
  "@html-eslint/require-input-label"?: Linter.RuleEntry<[]>;
432
561
  /**
433
- * Require `lang` attribute at `<html>` tag
562
+ * Require `lang` attribute on `<html>` tag
434
563
  * @see https://html-eslint.org/docs/rules/require-lang
435
564
  */
436
565
  "@html-eslint/require-lang"?: Linter.RuleEntry<[]>;
437
566
  /**
438
- * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
567
+ * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
439
568
  * @see https://html-eslint.org/docs/rules/require-li-container
440
569
  */
441
570
  "@html-eslint/require-li-container"?: Linter.RuleEntry<[]>;
442
571
  /**
443
- * Enforce to use `<meta charset="...">` in `<head>`
572
+ * Enforce use of `<meta charset="...">` in `<head>`
444
573
  * @see https://html-eslint.org/docs/rules/require-meta-charset
445
574
  */
446
575
  "@html-eslint/require-meta-charset"?: Linter.RuleEntry<[]>;
@@ -450,17 +579,17 @@ interface HtmlRules {
450
579
  */
451
580
  "@html-eslint/require-meta-description"?: Linter.RuleEntry<[]>;
452
581
  /**
453
- * Enforce to use `<meta name="viewport">` in `<head>`
582
+ * Enforce use of `<meta name="viewport">` in `<head>`
454
583
  * @see https://html-eslint.org/docs/rules/require-meta-viewport
455
584
  */
456
585
  "@html-eslint/require-meta-viewport"?: Linter.RuleEntry<[]>;
457
586
  /**
458
- * Enforce to use specified meta tags for open graph protocol.
587
+ * Enforce use of specified meta tags for open graph protocol.
459
588
  * @see https://html-eslint.org/docs/rules/require-open-graph-protocol
460
589
  */
461
590
  "@html-eslint/require-open-graph-protocol"?: Linter.RuleEntry<HtmlEslintRequireOpenGraphProtocol>;
462
591
  /**
463
- * Require `<title><title/>` in the `<head><head/>`
592
+ * Require `<title>` in the `<head>`
464
593
  * @see https://html-eslint.org/docs/rules/require-title
465
594
  */
466
595
  "@html-eslint/require-title"?: Linter.RuleEntry<[]>;
@@ -538,6 +667,7 @@ type HtmlEslintRequireAttrs = {
538
667
  tag: string;
539
668
  attr: string;
540
669
  value?: string;
670
+ message?: string;
541
671
  }[];
542
672
  // ----- @html-eslint/require-closing-tags -----
543
673
  type HtmlEslintRequireClosingTags = [] | [{
@@ -557,7 +687,9 @@ type HtmlEslintRequireImgAlt = [] | [{
557
687
  type HtmlEslintRequireOpenGraphProtocol = [] | [string[]];
558
688
  // ----- @html-eslint/sort-attrs -----
559
689
  type HtmlEslintSortAttrs = [] | [{
560
- priority?: string[];
690
+ priority?: (string | {
691
+ pattern: string;
692
+ })[];
561
693
  }];
562
694
  // ----- @html-eslint/use-baseline -----
563
695
  type HtmlEslintUseBaseline = [] | [{
@@ -2456,6 +2588,11 @@ interface JavascriptRules {
2456
2588
  */
2457
2589
  "prefer-template"?: Linter.RuleEntry<[]>;
2458
2590
  /**
2591
+ * Disallow losing originally caught error when re-throwing custom errors
2592
+ * @see https://eslint.org/docs/latest/rules/preserve-caught-error
2593
+ */
2594
+ "preserve-caught-error"?: Linter.RuleEntry<PreserveCaughtError>;
2595
+ /**
2459
2596
  * Require quotes around object literal property names
2460
2597
  * @see https://eslint.org/docs/latest/rules/quote-props
2461
2598
  * @deprecated
@@ -3657,10 +3794,17 @@ type NoRestrictedExports = [] | [({
3657
3794
  };
3658
3795
  })];
3659
3796
  // ----- no-restricted-globals -----
3660
- type NoRestrictedGlobals = (string | {
3797
+ type NoRestrictedGlobals = ((string | {
3661
3798
  name: string;
3662
3799
  message?: string;
3663
- })[];
3800
+ })[] | [] | [{
3801
+ globals: (string | {
3802
+ name: string;
3803
+ message?: string;
3804
+ })[];
3805
+ checkGlobalObject?: boolean;
3806
+ globalObjects?: string[];
3807
+ }]);
3664
3808
  // ----- no-restricted-imports -----
3665
3809
  type NoRestrictedImports = ((string | {
3666
3810
  name: string;
@@ -3888,6 +4032,8 @@ type OneVar = [] | [(("always" | "never" | "consecutive") | {
3888
4032
  var?: ("always" | "never" | "consecutive");
3889
4033
  let?: ("always" | "never" | "consecutive");
3890
4034
  const?: ("always" | "never" | "consecutive");
4035
+ using?: ("always" | "never" | "consecutive");
4036
+ awaitUsing?: ("always" | "never" | "consecutive");
3891
4037
  } | {
3892
4038
  initialized?: ("always" | "never" | "consecutive");
3893
4039
  uninitialized?: ("always" | "never" | "consecutive");
@@ -3972,6 +4118,10 @@ type PreferReflect = [] | [{
3972
4118
  type PreferRegexLiterals = [] | [{
3973
4119
  disallowRedundantWrapping?: boolean;
3974
4120
  }];
4121
+ // ----- preserve-caught-error -----
4122
+ type PreserveCaughtError = [] | [{
4123
+ requireCatchParameter?: boolean;
4124
+ }];
3975
4125
  // ----- quote-props -----
3976
4126
  type QuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
3977
4127
  keywords?: boolean;
@@ -4119,7 +4269,7 @@ interface JsdocRules {
4119
4269
  * Reports invalid alignment of JSDoc block asterisks.
4120
4270
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
4121
4271
  */
4122
- "jsdoc/check-alignment"?: Linter.RuleEntry<[]>;
4272
+ "jsdoc/check-alignment"?: Linter.RuleEntry<JsdocCheckAlignment>;
4123
4273
  /**
4124
4274
  * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
4125
4275
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
@@ -4261,6 +4411,16 @@ interface JsdocRules {
4261
4411
  */
4262
4412
  "jsdoc/no-undefined-types"?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
4263
4413
  /**
4414
+ * Reports use of `any` or `*` type
4415
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
4416
+ */
4417
+ "jsdoc/reject-any-type"?: Linter.RuleEntry<[]>;
4418
+ /**
4419
+ * Reports use of `Function` type
4420
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
4421
+ */
4422
+ "jsdoc/reject-function-type"?: Linter.RuleEntry<[]>;
4423
+ /**
4264
4424
  * Requires that each JSDoc line starts with an `*`.
4265
4425
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
4266
4426
  */
@@ -4296,6 +4456,11 @@ interface JsdocRules {
4296
4456
  */
4297
4457
  "jsdoc/require-jsdoc"?: Linter.RuleEntry<JsdocRequireJsdoc>;
4298
4458
  /**
4459
+ * Requires a type for `@next` tags
4460
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
4461
+ */
4462
+ "jsdoc/require-next-type"?: Linter.RuleEntry<[]>;
4463
+ /**
4299
4464
  * Requires that all function parameters are documented.
4300
4465
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
4301
4466
  */
@@ -4366,6 +4531,11 @@ interface JsdocRules {
4366
4531
  */
4367
4532
  "jsdoc/require-throws"?: Linter.RuleEntry<JsdocRequireThrows>;
4368
4533
  /**
4534
+ * Requires a type for `@throws` tags
4535
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
4536
+ */
4537
+ "jsdoc/require-throws-type"?: Linter.RuleEntry<[]>;
4538
+ /**
4369
4539
  * Requires yields are documented.
4370
4540
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
4371
4541
  */
@@ -4376,6 +4546,11 @@ interface JsdocRules {
4376
4546
  */
4377
4547
  "jsdoc/require-yields-check"?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
4378
4548
  /**
4549
+ * Requires a type for `@yields` tags
4550
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
4551
+ */
4552
+ "jsdoc/require-yields-type"?: Linter.RuleEntry<[]>;
4553
+ /**
4379
4554
  * Sorts tags by a specified sequence according to tag name.
4380
4555
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
4381
4556
  */
@@ -4391,12 +4566,21 @@ interface JsdocRules {
4391
4566
  */
4392
4567
  "jsdoc/text-escaping"?: Linter.RuleEntry<JsdocTextEscaping>;
4393
4568
  /**
4569
+ * Formats JSDoc type values.
4570
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
4571
+ */
4572
+ "jsdoc/type-formatting"?: Linter.RuleEntry<JsdocTypeFormatting>;
4573
+ /**
4394
4574
  * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
4395
4575
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
4396
4576
  */
4397
4577
  "jsdoc/valid-types"?: Linter.RuleEntry<JsdocValidTypes>;
4398
4578
  }
4399
4579
  /* ======= Declarations ======= */
4580
+ // ----- jsdoc/check-alignment -----
4581
+ type JsdocCheckAlignment = [] | [{
4582
+ innerIndent?: number;
4583
+ }];
4400
4584
  // ----- jsdoc/check-examples -----
4401
4585
  type JsdocCheckExamples = [] | [{
4402
4586
  allowInlineConfig?: boolean;
@@ -4686,6 +4870,7 @@ type JsdocRequireJsdoc = [] | [{
4686
4870
  enableFixer?: boolean;
4687
4871
  exemptEmptyConstructors?: boolean;
4688
4872
  exemptEmptyFunctions?: boolean;
4873
+ exemptOverloadedImplementations?: boolean;
4689
4874
  fixerMessage?: string;
4690
4875
  minLineCount?: number;
4691
4876
  publicOnly?: (boolean | {
@@ -4702,6 +4887,7 @@ type JsdocRequireJsdoc = [] | [{
4702
4887
  FunctionExpression?: boolean;
4703
4888
  MethodDefinition?: boolean;
4704
4889
  };
4890
+ skipInterveningOverloadedDeclarations?: boolean;
4705
4891
  }];
4706
4892
  // ----- jsdoc/require-param -----
4707
4893
  type JsdocRequireParam = [] | [{
@@ -4722,6 +4908,7 @@ type JsdocRequireParam = [] | [{
4722
4908
  enableRootFixer?: boolean;
4723
4909
  exemptedBy?: string[];
4724
4910
  ignoreWhenAllParamsMissing?: boolean;
4911
+ interfaceExemptsParamsCheck?: boolean;
4725
4912
  unnamedRootBase?: string[];
4726
4913
  useDefaultObjectProperties?: boolean;
4727
4914
  }];
@@ -4792,6 +4979,7 @@ type JsdocRequireReturnsType = [] | [{
4792
4979
  }];
4793
4980
  // ----- jsdoc/require-template -----
4794
4981
  type JsdocRequireTemplate = [] | [{
4982
+ exemptedBy?: string[];
4795
4983
  requireSeparateTemplates?: boolean;
4796
4984
  }];
4797
4985
  // ----- jsdoc/require-throws -----
@@ -4853,6 +5041,21 @@ type JsdocTextEscaping = [] | [{
4853
5041
  escapeHTML?: boolean;
4854
5042
  escapeMarkdown?: boolean;
4855
5043
  }];
5044
+ // ----- jsdoc/type-formatting -----
5045
+ type JsdocTypeFormatting = [] | [{
5046
+ arrayBrackets?: ("angle" | "square");
5047
+ enableFixer?: boolean;
5048
+ genericDot?: boolean;
5049
+ objectFieldIndent?: string;
5050
+ objectFieldQuote?: ("double" | "single" | null);
5051
+ objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak");
5052
+ objectFieldSeparatorOptionalLinebreak?: boolean;
5053
+ objectFieldSeparatorTrailingPunctuation?: boolean;
5054
+ separatorForSingleObjectField?: boolean;
5055
+ stringQuotes?: ("double" | "single");
5056
+ typeBracketSpacing?: string;
5057
+ unionSpacing?: string;
5058
+ }];
4856
5059
  // ----- jsdoc/valid-types -----
4857
5060
  type JsdocValidTypes = [] | [{
4858
5061
  allowEmptyNamepaths?: boolean;
@@ -5350,12 +5553,37 @@ type JsoncSpaceUnaryOps = [] | [{
5350
5553
  //#endregion
5351
5554
  //#region src/types/gens/markdown.d.ts
5352
5555
  interface MarkdownRules {
5556
+ /**
5557
+ * enforce canonical language names in code blocks
5558
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/canonical-code-block-language.html
5559
+ */
5560
+ "markdown-preferences/canonical-code-block-language"?: Linter.RuleEntry<MarkdownPreferencesCanonicalCodeBlockLanguage>;
5561
+ /**
5562
+ * require link definitions and footnote definitions to be placed at the end of the document
5563
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/definitions-last.html
5564
+ */
5565
+ "markdown-preferences/definitions-last"?: Linter.RuleEntry<[]>;
5353
5566
  /**
5354
5567
  * enforce consistent hard linebreak style.
5355
5568
  * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/hard-linebreak-style.html
5356
5569
  */
5357
5570
  "markdown-preferences/hard-linebreak-style"?: Linter.RuleEntry<MarkdownPreferencesHardLinebreakStyle>;
5358
5571
  /**
5572
+ * enforce consistent casing in headings.
5573
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/heading-casing.html
5574
+ */
5575
+ "markdown-preferences/heading-casing"?: Linter.RuleEntry<MarkdownPreferencesHeadingCasing>;
5576
+ /**
5577
+ * disallow laziness in blockquotes
5578
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/no-laziness-blockquotes.html
5579
+ */
5580
+ "markdown-preferences/no-laziness-blockquotes"?: Linter.RuleEntry<[]>;
5581
+ /**
5582
+ * disallow multiple empty lines in Markdown files.
5583
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/no-multiple-empty-lines.html
5584
+ */
5585
+ "markdown-preferences/no-multiple-empty-lines"?: Linter.RuleEntry<MarkdownPreferencesNoMultipleEmptyLines>;
5586
+ /**
5359
5587
  * disallow text backslash at the end of a line.
5360
5588
  * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/no-text-backslash-linebreak.html
5361
5589
  */
@@ -5371,11 +5599,21 @@ interface MarkdownRules {
5371
5599
  */
5372
5600
  "markdown-preferences/prefer-inline-code-words"?: Linter.RuleEntry<MarkdownPreferencesPreferInlineCodeWords>;
5373
5601
  /**
5602
+ * enforce using link reference definitions instead of inline links
5603
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/prefer-link-reference-definitions.html
5604
+ */
5605
+ "markdown-preferences/prefer-link-reference-definitions"?: Linter.RuleEntry<MarkdownPreferencesPreferLinkReferenceDefinitions>;
5606
+ /**
5374
5607
  * enforce the specified word to be a link.
5375
5608
  * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/prefer-linked-words.html
5376
5609
  */
5377
5610
  "markdown-preferences/prefer-linked-words"?: Linter.RuleEntry<MarkdownPreferencesPreferLinkedWords>;
5378
5611
  /**
5612
+ * enforce a specific order for link definitions and footnote definitions
5613
+ * @see https://ota-meshi.github.io/eslint-plugin-markdown-preferences/rules/sort-definitions.html
5614
+ */
5615
+ "markdown-preferences/sort-definitions"?: Linter.RuleEntry<MarkdownPreferencesSortDefinitions>;
5616
+ /**
5379
5617
  * Require languages for fenced code blocks
5380
5618
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/fenced-code-language.md
5381
5619
  */
@@ -5384,7 +5622,7 @@ interface MarkdownRules {
5384
5622
  * Enforce heading levels increment by one
5385
5623
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
5386
5624
  */
5387
- "markdown/heading-increment"?: Linter.RuleEntry<[]>;
5625
+ "markdown/heading-increment"?: Linter.RuleEntry<MarkdownHeadingIncrement>;
5388
5626
  /**
5389
5627
  * Disallow bare URLs
5390
5628
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
@@ -5429,12 +5667,12 @@ interface MarkdownRules {
5429
5667
  * Disallow headings without a space after the hash characters
5430
5668
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
5431
5669
  */
5432
- "markdown/no-missing-atx-heading-space"?: Linter.RuleEntry<[]>;
5670
+ "markdown/no-missing-atx-heading-space"?: Linter.RuleEntry<MarkdownNoMissingAtxHeadingSpace>;
5433
5671
  /**
5434
5672
  * Disallow missing label references
5435
5673
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
5436
5674
  */
5437
- "markdown/no-missing-label-refs"?: Linter.RuleEntry<[]>;
5675
+ "markdown/no-missing-label-refs"?: Linter.RuleEntry<MarkdownNoMissingLabelRefs>;
5438
5676
  /**
5439
5677
  * Disallow link fragments that do not reference valid headings
5440
5678
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
@@ -5446,11 +5684,21 @@ interface MarkdownRules {
5446
5684
  */
5447
5685
  "markdown/no-multiple-h1"?: Linter.RuleEntry<MarkdownNoMultipleH1>;
5448
5686
  /**
5687
+ * Disallow URLs that match defined reference identifiers
5688
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reference-like-urls.md
5689
+ */
5690
+ "markdown/no-reference-like-urls"?: Linter.RuleEntry<[]>;
5691
+ /**
5449
5692
  * Disallow reversed link and image syntax
5450
5693
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
5451
5694
  */
5452
5695
  "markdown/no-reversed-media-syntax"?: Linter.RuleEntry<[]>;
5453
5696
  /**
5697
+ * Disallow spaces around emphasis markers
5698
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-space-in-emphasis.md
5699
+ */
5700
+ "markdown/no-space-in-emphasis"?: Linter.RuleEntry<MarkdownNoSpaceInEmphasis>;
5701
+ /**
5454
5702
  * Disallow unused definitions
5455
5703
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
5456
5704
  */
@@ -5467,10 +5715,29 @@ interface MarkdownRules {
5467
5715
  "markdown/table-column-count"?: Linter.RuleEntry<MarkdownTableColumnCount>;
5468
5716
  }
5469
5717
  /* ======= Declarations ======= */
5718
+ // ----- markdown-preferences/canonical-code-block-language -----
5719
+ type MarkdownPreferencesCanonicalCodeBlockLanguage = [] | [{
5720
+ languages?: {
5721
+ [k: string]: string;
5722
+ };
5723
+ }];
5470
5724
  // ----- markdown-preferences/hard-linebreak-style -----
5471
5725
  type MarkdownPreferencesHardLinebreakStyle = [] | [{
5472
5726
  style?: ("backslash" | "spaces");
5473
5727
  }];
5728
+ // ----- markdown-preferences/heading-casing -----
5729
+ type MarkdownPreferencesHeadingCasing = [] | [{
5730
+ style?: ("Title Case" | "Sentence case");
5731
+ preserveWords?: string[];
5732
+ ignorePatterns?: string[];
5733
+ minorWords?: string[];
5734
+ }];
5735
+ // ----- markdown-preferences/no-multiple-empty-lines -----
5736
+ type MarkdownPreferencesNoMultipleEmptyLines = [] | [{
5737
+ max?: number;
5738
+ maxEOF?: number;
5739
+ maxBOF?: number;
5740
+ }];
5474
5741
  // ----- markdown-preferences/no-trailing-spaces -----
5475
5742
  type MarkdownPreferencesNoTrailingSpaces = [] | [{
5476
5743
  skipBlankLines?: boolean;
@@ -5488,6 +5755,10 @@ type MarkdownPreferencesPreferInlineCodeWords = [] | [{
5488
5755
  }[];
5489
5756
  [k: string]: unknown | undefined;
5490
5757
  }];
5758
+ // ----- markdown-preferences/prefer-link-reference-definitions -----
5759
+ type MarkdownPreferencesPreferLinkReferenceDefinitions = [] | [{
5760
+ minLinks?: number;
5761
+ }];
5491
5762
  // ----- markdown-preferences/prefer-linked-words -----
5492
5763
  type MarkdownPreferencesPreferLinkedWords = [] | [{
5493
5764
  words: ({
@@ -5502,10 +5773,22 @@ type MarkdownPreferencesPreferLinkedWords = [] | [{
5502
5773
  }[];
5503
5774
  [k: string]: unknown | undefined;
5504
5775
  }];
5776
+ // ----- markdown-preferences/sort-definitions -----
5777
+ type MarkdownPreferencesSortDefinitions = [] | [{
5778
+ order?: (string | [string, ...(string)[]] | {
5779
+ match: (string | [string, ...(string)[]]);
5780
+ sort: ("alphabetical" | "ignore");
5781
+ })[];
5782
+ alphabetical?: boolean;
5783
+ }];
5505
5784
  // ----- markdown/fenced-code-language -----
5506
5785
  type MarkdownFencedCodeLanguage = [] | [{
5507
5786
  required?: string[];
5508
5787
  }];
5788
+ // ----- markdown/heading-increment -----
5789
+ type MarkdownHeadingIncrement = [] | [{
5790
+ frontmatterTitle?: string;
5791
+ }];
5509
5792
  // ----- markdown/no-duplicate-definitions -----
5510
5793
  type MarkdownNoDuplicateDefinitions = [] | [{
5511
5794
  allowDefinitions?: string[];
@@ -5524,6 +5807,15 @@ type MarkdownNoEmptyDefinitions = [] | [{
5524
5807
  // ----- markdown/no-html -----
5525
5808
  type MarkdownNoHtml = [] | [{
5526
5809
  allowed?: string[];
5810
+ allowedIgnoreCase?: boolean;
5811
+ }];
5812
+ // ----- markdown/no-missing-atx-heading-space -----
5813
+ type MarkdownNoMissingAtxHeadingSpace = [] | [{
5814
+ checkClosedHeadings?: boolean;
5815
+ }];
5816
+ // ----- markdown/no-missing-label-refs -----
5817
+ type MarkdownNoMissingLabelRefs = [] | [{
5818
+ allowLabels?: string[];
5527
5819
  }];
5528
5820
  // ----- markdown/no-missing-link-fragments -----
5529
5821
  type MarkdownNoMissingLinkFragments = [] | [{
@@ -5534,6 +5826,10 @@ type MarkdownNoMissingLinkFragments = [] | [{
5534
5826
  type MarkdownNoMultipleH1 = [] | [{
5535
5827
  frontmatterTitle?: string;
5536
5828
  }];
5829
+ // ----- markdown/no-space-in-emphasis -----
5830
+ type MarkdownNoSpaceInEmphasis = [] | [{
5831
+ checkStrikethrough?: boolean;
5832
+ }];
5537
5833
  // ----- markdown/no-unused-definitions -----
5538
5834
  type MarkdownNoUnusedDefinitions = [] | [{
5539
5835
  allowDefinitions?: string[];
@@ -11190,670 +11486,710 @@ type TypescriptEslintUnifiedSignatures = [] | [{
11190
11486
  interface UnicornRules {
11191
11487
  /**
11192
11488
  * Improve regexes by making them shorter, consistent, and safer.
11193
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/better-regex.md
11489
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/better-regex.md
11194
11490
  */
11195
11491
  "unicorn/better-regex"?: Linter.RuleEntry<UnicornBetterRegex>;
11196
11492
  /**
11197
11493
  * Enforce a specific parameter name in catch clauses.
11198
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/catch-error-name.md
11494
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/catch-error-name.md
11199
11495
  */
11200
11496
  "unicorn/catch-error-name"?: Linter.RuleEntry<UnicornCatchErrorName>;
11201
11497
  /**
11202
11498
  * Enforce consistent assertion style with `node:assert`.
11203
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-assert.md
11499
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-assert.md
11204
11500
  */
11205
11501
  "unicorn/consistent-assert"?: Linter.RuleEntry<[]>;
11206
11502
  /**
11207
11503
  * Prefer passing `Date` directly to the constructor when cloning.
11208
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-date-clone.md
11504
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-date-clone.md
11209
11505
  */
11210
11506
  "unicorn/consistent-date-clone"?: Linter.RuleEntry<[]>;
11211
11507
  /**
11212
11508
  * Use destructured variables over properties.
11213
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-destructuring.md
11509
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-destructuring.md
11214
11510
  */
11215
11511
  "unicorn/consistent-destructuring"?: Linter.RuleEntry<[]>;
11216
11512
  /**
11217
11513
  * Prefer consistent types when spreading a ternary in an array literal.
11218
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-empty-array-spread.md
11514
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-empty-array-spread.md
11219
11515
  */
11220
11516
  "unicorn/consistent-empty-array-spread"?: Linter.RuleEntry<[]>;
11221
11517
  /**
11222
11518
  * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
11223
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-existence-index-check.md
11519
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-existence-index-check.md
11224
11520
  */
11225
11521
  "unicorn/consistent-existence-index-check"?: Linter.RuleEntry<[]>;
11226
11522
  /**
11227
11523
  * Move function definitions to the highest possible scope.
11228
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/consistent-function-scoping.md
11524
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/consistent-function-scoping.md
11229
11525
  */
11230
11526
  "unicorn/consistent-function-scoping"?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
11231
11527
  /**
11232
11528
  * Enforce correct `Error` subclassing.
11233
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/custom-error-definition.md
11529
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/custom-error-definition.md
11234
11530
  */
11235
11531
  "unicorn/custom-error-definition"?: Linter.RuleEntry<[]>;
11236
11532
  /**
11237
11533
  * Enforce no spaces between braces.
11238
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/empty-brace-spaces.md
11534
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/empty-brace-spaces.md
11239
11535
  */
11240
11536
  "unicorn/empty-brace-spaces"?: Linter.RuleEntry<[]>;
11241
11537
  /**
11242
11538
  * Enforce passing a `message` value when creating a built-in error.
11243
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/error-message.md
11539
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/error-message.md
11244
11540
  */
11245
11541
  "unicorn/error-message"?: Linter.RuleEntry<[]>;
11246
11542
  /**
11247
11543
  * Require escape sequences to use uppercase or lowercase values.
11248
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/escape-case.md
11544
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/escape-case.md
11249
11545
  */
11250
11546
  "unicorn/escape-case"?: Linter.RuleEntry<UnicornEscapeCase>;
11251
11547
  /**
11252
11548
  * Add expiration conditions to TODO comments.
11253
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/expiring-todo-comments.md
11549
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/expiring-todo-comments.md
11254
11550
  */
11255
11551
  "unicorn/expiring-todo-comments"?: Linter.RuleEntry<UnicornExpiringTodoComments>;
11256
11552
  /**
11257
11553
  * Enforce explicitly comparing the `length` or `size` property of a value.
11258
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/explicit-length-check.md
11554
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/explicit-length-check.md
11259
11555
  */
11260
11556
  "unicorn/explicit-length-check"?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
11261
11557
  /**
11262
11558
  * Enforce a case style for filenames.
11263
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/filename-case.md
11559
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/filename-case.md
11264
11560
  */
11265
11561
  "unicorn/filename-case"?: Linter.RuleEntry<UnicornFilenameCase>;
11266
11562
  /**
11267
11563
  * Enforce specific import styles per module.
11268
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/import-style.md
11564
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/import-style.md
11269
11565
  */
11270
11566
  "unicorn/import-style"?: Linter.RuleEntry<UnicornImportStyle>;
11271
11567
  /**
11272
11568
  * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
11273
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/new-for-builtins.md
11569
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/new-for-builtins.md
11274
11570
  */
11275
11571
  "unicorn/new-for-builtins"?: Linter.RuleEntry<[]>;
11276
11572
  /**
11277
11573
  * Enforce specifying rules to disable in `eslint-disable` comments.
11278
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-abusive-eslint-disable.md
11574
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-abusive-eslint-disable.md
11279
11575
  */
11280
11576
  "unicorn/no-abusive-eslint-disable"?: Linter.RuleEntry<[]>;
11281
11577
  /**
11282
11578
  * Disallow recursive access to `this` within getters and setters.
11283
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-accessor-recursion.md
11579
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-accessor-recursion.md
11284
11580
  */
11285
11581
  "unicorn/no-accessor-recursion"?: Linter.RuleEntry<[]>;
11286
11582
  /**
11287
11583
  * Disallow anonymous functions and classes as the default export.
11288
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-anonymous-default-export.md
11584
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-anonymous-default-export.md
11289
11585
  */
11290
11586
  "unicorn/no-anonymous-default-export"?: Linter.RuleEntry<[]>;
11291
11587
  /**
11292
11588
  * Prevent passing a function reference directly to iterator methods.
11293
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-callback-reference.md
11589
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-callback-reference.md
11294
11590
  */
11295
11591
  "unicorn/no-array-callback-reference"?: Linter.RuleEntry<[]>;
11296
11592
  /**
11297
11593
  * Prefer `for…of` over the `forEach` method.
11298
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-for-each.md
11594
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-for-each.md
11299
11595
  */
11300
11596
  "unicorn/no-array-for-each"?: Linter.RuleEntry<[]>;
11301
11597
  /**
11302
11598
  * Disallow using the `this` argument in array methods.
11303
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-method-this-argument.md
11599
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-method-this-argument.md
11304
11600
  */
11305
11601
  "unicorn/no-array-method-this-argument"?: Linter.RuleEntry<[]>;
11306
11602
  /**
11307
11603
  * Replaced by `unicorn/prefer-single-call` which covers more cases.
11308
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-array-push-push
11604
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-array-push-push
11309
11605
  * @deprecated
11310
11606
  */
11311
11607
  "unicorn/no-array-push-push"?: Linter.RuleEntry<[]>;
11312
11608
  /**
11313
11609
  * Disallow `Array#reduce()` and `Array#reduceRight()`.
11314
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-array-reduce.md
11610
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reduce.md
11315
11611
  */
11316
11612
  "unicorn/no-array-reduce"?: Linter.RuleEntry<UnicornNoArrayReduce>;
11317
11613
  /**
11614
+ * Prefer `Array#toReversed()` over `Array#reverse()`.
11615
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-reverse.md
11616
+ */
11617
+ "unicorn/no-array-reverse"?: Linter.RuleEntry<UnicornNoArrayReverse>;
11618
+ /**
11619
+ * Prefer `Array#toSorted()` over `Array#sort()`.
11620
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-array-sort.md
11621
+ */
11622
+ "unicorn/no-array-sort"?: Linter.RuleEntry<UnicornNoArraySort>;
11623
+ /**
11318
11624
  * Disallow member access from await expression.
11319
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-expression-member.md
11625
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-expression-member.md
11320
11626
  */
11321
11627
  "unicorn/no-await-expression-member"?: Linter.RuleEntry<[]>;
11322
11628
  /**
11323
11629
  * Disallow using `await` in `Promise` method parameters.
11324
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-await-in-promise-methods.md
11630
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-await-in-promise-methods.md
11325
11631
  */
11326
11632
  "unicorn/no-await-in-promise-methods"?: Linter.RuleEntry<[]>;
11327
11633
  /**
11328
11634
  * Do not use leading/trailing space between `console.log` parameters.
11329
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-console-spaces.md
11635
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-console-spaces.md
11330
11636
  */
11331
11637
  "unicorn/no-console-spaces"?: Linter.RuleEntry<[]>;
11332
11638
  /**
11333
11639
  * Do not use `document.cookie` directly.
11334
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-document-cookie.md
11640
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-document-cookie.md
11335
11641
  */
11336
11642
  "unicorn/no-document-cookie"?: Linter.RuleEntry<[]>;
11337
11643
  /**
11338
11644
  * Disallow empty files.
11339
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-empty-file.md
11645
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-empty-file.md
11340
11646
  */
11341
11647
  "unicorn/no-empty-file"?: Linter.RuleEntry<[]>;
11342
11648
  /**
11343
11649
  * Do not use a `for` loop that can be replaced with a `for-of` loop.
11344
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-for-loop.md
11650
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-for-loop.md
11345
11651
  */
11346
11652
  "unicorn/no-for-loop"?: Linter.RuleEntry<[]>;
11347
11653
  /**
11348
11654
  * Enforce the use of Unicode escapes instead of hexadecimal escapes.
11349
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-hex-escape.md
11655
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-hex-escape.md
11350
11656
  */
11351
11657
  "unicorn/no-hex-escape"?: Linter.RuleEntry<[]>;
11352
11658
  /**
11353
11659
  * Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
11354
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-instanceof-array
11660
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-instanceof-array
11355
11661
  * @deprecated
11356
11662
  */
11357
11663
  "unicorn/no-instanceof-array"?: Linter.RuleEntry<[]>;
11358
11664
  /**
11359
11665
  * Disallow `instanceof` with built-in objects
11360
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-instanceof-builtins.md
11666
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-instanceof-builtins.md
11361
11667
  */
11362
11668
  "unicorn/no-instanceof-builtins"?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
11363
11669
  /**
11364
11670
  * Disallow invalid options in `fetch()` and `new Request()`.
11365
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-fetch-options.md
11671
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-fetch-options.md
11366
11672
  */
11367
11673
  "unicorn/no-invalid-fetch-options"?: Linter.RuleEntry<[]>;
11368
11674
  /**
11369
11675
  * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
11370
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-invalid-remove-event-listener.md
11676
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-invalid-remove-event-listener.md
11371
11677
  */
11372
11678
  "unicorn/no-invalid-remove-event-listener"?: Linter.RuleEntry<[]>;
11373
11679
  /**
11374
11680
  * Disallow identifiers starting with `new` or `class`.
11375
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-keyword-prefix.md
11681
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-keyword-prefix.md
11376
11682
  */
11377
11683
  "unicorn/no-keyword-prefix"?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
11378
11684
  /**
11379
11685
  * Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
11380
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/deprecated-rules.md#no-length-as-slice-end
11686
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/deprecated-rules.md#no-length-as-slice-end
11381
11687
  * @deprecated
11382
11688
  */
11383
11689
  "unicorn/no-length-as-slice-end"?: Linter.RuleEntry<[]>;
11384
11690
  /**
11385
11691
  * Disallow `if` statements as the only statement in `if` blocks without `else`.
11386
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-lonely-if.md
11692
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-lonely-if.md
11387
11693
  */
11388
11694
  "unicorn/no-lonely-if"?: Linter.RuleEntry<[]>;
11389
11695
  /**
11390
11696
  * Disallow a magic number as the `depth` argument in `Array#flat(…).`
11391
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-magic-array-flat-depth.md
11697
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-magic-array-flat-depth.md
11392
11698
  */
11393
11699
  "unicorn/no-magic-array-flat-depth"?: Linter.RuleEntry<[]>;
11394
11700
  /**
11395
11701
  * Disallow named usage of default import and export.
11396
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-named-default.md
11702
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-named-default.md
11397
11703
  */
11398
11704
  "unicorn/no-named-default"?: Linter.RuleEntry<[]>;
11399
11705
  /**
11400
11706
  * Disallow negated conditions.
11401
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negated-condition.md
11707
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negated-condition.md
11402
11708
  */
11403
11709
  "unicorn/no-negated-condition"?: Linter.RuleEntry<[]>;
11404
11710
  /**
11405
11711
  * Disallow negated expression in equality check.
11406
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-negation-in-equality-check.md
11712
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-negation-in-equality-check.md
11407
11713
  */
11408
11714
  "unicorn/no-negation-in-equality-check"?: Linter.RuleEntry<[]>;
11409
11715
  /**
11410
11716
  * Disallow nested ternary expressions.
11411
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-nested-ternary.md
11717
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-nested-ternary.md
11412
11718
  */
11413
11719
  "unicorn/no-nested-ternary"?: Linter.RuleEntry<[]>;
11414
11720
  /**
11415
11721
  * Disallow `new Array()`.
11416
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-array.md
11722
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-array.md
11417
11723
  */
11418
11724
  "unicorn/no-new-array"?: Linter.RuleEntry<[]>;
11419
11725
  /**
11420
11726
  * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
11421
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-new-buffer.md
11727
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-new-buffer.md
11422
11728
  */
11423
11729
  "unicorn/no-new-buffer"?: Linter.RuleEntry<[]>;
11424
11730
  /**
11425
11731
  * Disallow the use of the `null` literal.
11426
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-null.md
11732
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-null.md
11427
11733
  */
11428
11734
  "unicorn/no-null"?: Linter.RuleEntry<UnicornNoNull>;
11429
11735
  /**
11430
11736
  * Disallow the use of objects as default parameters.
11431
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-object-as-default-parameter.md
11737
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-object-as-default-parameter.md
11432
11738
  */
11433
11739
  "unicorn/no-object-as-default-parameter"?: Linter.RuleEntry<[]>;
11434
11740
  /**
11435
11741
  * Disallow `process.exit()`.
11436
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-process-exit.md
11742
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-process-exit.md
11437
11743
  */
11438
11744
  "unicorn/no-process-exit"?: Linter.RuleEntry<[]>;
11439
11745
  /**
11440
11746
  * Disallow passing single-element arrays to `Promise` methods.
11441
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-single-promise-in-promise-methods.md
11747
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-single-promise-in-promise-methods.md
11442
11748
  */
11443
11749
  "unicorn/no-single-promise-in-promise-methods"?: Linter.RuleEntry<[]>;
11444
11750
  /**
11445
11751
  * Disallow classes that only have static members.
11446
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-static-only-class.md
11752
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-static-only-class.md
11447
11753
  */
11448
11754
  "unicorn/no-static-only-class"?: Linter.RuleEntry<[]>;
11449
11755
  /**
11450
11756
  * Disallow `then` property.
11451
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-thenable.md
11757
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-thenable.md
11452
11758
  */
11453
11759
  "unicorn/no-thenable"?: Linter.RuleEntry<[]>;
11454
11760
  /**
11455
11761
  * Disallow assigning `this` to a variable.
11456
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-this-assignment.md
11762
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-this-assignment.md
11457
11763
  */
11458
11764
  "unicorn/no-this-assignment"?: Linter.RuleEntry<[]>;
11459
11765
  /**
11460
11766
  * Disallow comparing `undefined` using `typeof`.
11461
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-typeof-undefined.md
11767
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-typeof-undefined.md
11462
11768
  */
11463
11769
  "unicorn/no-typeof-undefined"?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
11464
11770
  /**
11465
11771
  * Disallow using `1` as the `depth` argument of `Array#flat()`.
11466
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-flat-depth.md
11772
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-flat-depth.md
11467
11773
  */
11468
11774
  "unicorn/no-unnecessary-array-flat-depth"?: Linter.RuleEntry<[]>;
11469
11775
  /**
11470
11776
  * Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
11471
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-array-splice-count.md
11777
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-array-splice-count.md
11472
11778
  */
11473
11779
  "unicorn/no-unnecessary-array-splice-count"?: Linter.RuleEntry<[]>;
11474
11780
  /**
11475
11781
  * Disallow awaiting non-promise values.
11476
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-await.md
11782
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-await.md
11477
11783
  */
11478
11784
  "unicorn/no-unnecessary-await"?: Linter.RuleEntry<[]>;
11479
11785
  /**
11480
11786
  * Enforce the use of built-in methods instead of unnecessary polyfills.
11481
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-polyfills.md
11787
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-polyfills.md
11482
11788
  */
11483
11789
  "unicorn/no-unnecessary-polyfills"?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
11484
11790
  /**
11485
11791
  * Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
11486
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unnecessary-slice-end.md
11792
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unnecessary-slice-end.md
11487
11793
  */
11488
11794
  "unicorn/no-unnecessary-slice-end"?: Linter.RuleEntry<[]>;
11489
11795
  /**
11490
11796
  * Disallow unreadable array destructuring.
11491
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-array-destructuring.md
11797
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-array-destructuring.md
11492
11798
  */
11493
11799
  "unicorn/no-unreadable-array-destructuring"?: Linter.RuleEntry<[]>;
11494
11800
  /**
11495
11801
  * Disallow unreadable IIFEs.
11496
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unreadable-iife.md
11802
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unreadable-iife.md
11497
11803
  */
11498
11804
  "unicorn/no-unreadable-iife"?: Linter.RuleEntry<[]>;
11499
11805
  /**
11500
11806
  * Disallow unused object properties.
11501
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-unused-properties.md
11807
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-unused-properties.md
11502
11808
  */
11503
11809
  "unicorn/no-unused-properties"?: Linter.RuleEntry<[]>;
11504
11810
  /**
11811
+ * Disallow unnecessary `Error.captureStackTrace(…)`.
11812
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-error-capture-stack-trace.md
11813
+ */
11814
+ "unicorn/no-useless-error-capture-stack-trace"?: Linter.RuleEntry<[]>;
11815
+ /**
11505
11816
  * Disallow useless fallback when spreading in object literals.
11506
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-fallback-in-spread.md
11817
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-fallback-in-spread.md
11507
11818
  */
11508
11819
  "unicorn/no-useless-fallback-in-spread"?: Linter.RuleEntry<[]>;
11509
11820
  /**
11510
11821
  * Disallow useless array length check.
11511
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-length-check.md
11822
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-length-check.md
11512
11823
  */
11513
11824
  "unicorn/no-useless-length-check"?: Linter.RuleEntry<[]>;
11514
11825
  /**
11515
11826
  * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
11516
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-promise-resolve-reject.md
11827
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-promise-resolve-reject.md
11517
11828
  */
11518
11829
  "unicorn/no-useless-promise-resolve-reject"?: Linter.RuleEntry<[]>;
11519
11830
  /**
11520
11831
  * Disallow unnecessary spread.
11521
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-spread.md
11832
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-spread.md
11522
11833
  */
11523
11834
  "unicorn/no-useless-spread"?: Linter.RuleEntry<[]>;
11524
11835
  /**
11525
11836
  * Disallow useless case in switch statements.
11526
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-switch-case.md
11837
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-switch-case.md
11527
11838
  */
11528
11839
  "unicorn/no-useless-switch-case"?: Linter.RuleEntry<[]>;
11529
11840
  /**
11530
11841
  * Disallow useless `undefined`.
11531
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-useless-undefined.md
11842
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-useless-undefined.md
11532
11843
  */
11533
11844
  "unicorn/no-useless-undefined"?: Linter.RuleEntry<UnicornNoUselessUndefined>;
11534
11845
  /**
11535
11846
  * Disallow number literals with zero fractions or dangling dots.
11536
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/no-zero-fractions.md
11847
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/no-zero-fractions.md
11537
11848
  */
11538
11849
  "unicorn/no-zero-fractions"?: Linter.RuleEntry<[]>;
11539
11850
  /**
11540
11851
  * Enforce proper case for numeric literals.
11541
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/number-literal-case.md
11852
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/number-literal-case.md
11542
11853
  */
11543
11854
  "unicorn/number-literal-case"?: Linter.RuleEntry<UnicornNumberLiteralCase>;
11544
11855
  /**
11545
11856
  * Enforce the style of numeric separators by correctly grouping digits.
11546
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/numeric-separators-style.md
11857
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/numeric-separators-style.md
11547
11858
  */
11548
11859
  "unicorn/numeric-separators-style"?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
11549
11860
  /**
11550
11861
  * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
11551
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-add-event-listener.md
11862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-add-event-listener.md
11552
11863
  */
11553
11864
  "unicorn/prefer-add-event-listener"?: Linter.RuleEntry<UnicornPreferAddEventListener>;
11554
11865
  /**
11555
11866
  * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
11556
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-find.md
11867
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-find.md
11557
11868
  */
11558
11869
  "unicorn/prefer-array-find"?: Linter.RuleEntry<UnicornPreferArrayFind>;
11559
11870
  /**
11560
11871
  * Prefer `Array#flat()` over legacy techniques to flatten arrays.
11561
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat.md
11872
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat.md
11562
11873
  */
11563
11874
  "unicorn/prefer-array-flat"?: Linter.RuleEntry<UnicornPreferArrayFlat>;
11564
11875
  /**
11565
11876
  * Prefer `.flatMap(…)` over `.map(…).flat()`.
11566
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-flat-map.md
11877
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-flat-map.md
11567
11878
  */
11568
11879
  "unicorn/prefer-array-flat-map"?: Linter.RuleEntry<[]>;
11569
11880
  /**
11570
11881
  * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
11571
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-index-of.md
11882
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-index-of.md
11572
11883
  */
11573
11884
  "unicorn/prefer-array-index-of"?: Linter.RuleEntry<[]>;
11574
11885
  /**
11575
11886
  * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
11576
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-array-some.md
11887
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-array-some.md
11577
11888
  */
11578
11889
  "unicorn/prefer-array-some"?: Linter.RuleEntry<[]>;
11579
11890
  /**
11580
11891
  * Prefer `.at()` method for index access and `String#charAt()`.
11581
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-at.md
11892
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-at.md
11582
11893
  */
11583
11894
  "unicorn/prefer-at"?: Linter.RuleEntry<UnicornPreferAt>;
11584
11895
  /**
11896
+ * Prefer `BigInt` literals over the constructor.
11897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-bigint-literals.md
11898
+ */
11899
+ "unicorn/prefer-bigint-literals"?: Linter.RuleEntry<[]>;
11900
+ /**
11585
11901
  * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
11586
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-blob-reading-methods.md
11902
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-blob-reading-methods.md
11587
11903
  */
11588
11904
  "unicorn/prefer-blob-reading-methods"?: Linter.RuleEntry<[]>;
11589
11905
  /**
11906
+ * Prefer class field declarations over `this` assignments in constructors.
11907
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-class-fields.md
11908
+ */
11909
+ "unicorn/prefer-class-fields"?: Linter.RuleEntry<[]>;
11910
+ /**
11911
+ * Prefer using `Element#classList.toggle()` to toggle class names.
11912
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-classlist-toggle.md
11913
+ */
11914
+ "unicorn/prefer-classlist-toggle"?: Linter.RuleEntry<[]>;
11915
+ /**
11590
11916
  * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
11591
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-code-point.md
11917
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-code-point.md
11592
11918
  */
11593
11919
  "unicorn/prefer-code-point"?: Linter.RuleEntry<[]>;
11594
11920
  /**
11595
11921
  * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
11596
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-date-now.md
11922
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-date-now.md
11597
11923
  */
11598
11924
  "unicorn/prefer-date-now"?: Linter.RuleEntry<[]>;
11599
11925
  /**
11600
11926
  * Prefer default parameters over reassignment.
11601
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-default-parameters.md
11927
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-default-parameters.md
11602
11928
  */
11603
11929
  "unicorn/prefer-default-parameters"?: Linter.RuleEntry<[]>;
11604
11930
  /**
11605
11931
  * Prefer `Node#append()` over `Node#appendChild()`.
11606
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-append.md
11932
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-append.md
11607
11933
  */
11608
11934
  "unicorn/prefer-dom-node-append"?: Linter.RuleEntry<[]>;
11609
11935
  /**
11610
11936
  * Prefer using `.dataset` on DOM elements over calling attribute methods.
11611
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-dataset.md
11937
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-dataset.md
11612
11938
  */
11613
11939
  "unicorn/prefer-dom-node-dataset"?: Linter.RuleEntry<[]>;
11614
11940
  /**
11615
11941
  * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
11616
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-remove.md
11942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-remove.md
11617
11943
  */
11618
11944
  "unicorn/prefer-dom-node-remove"?: Linter.RuleEntry<[]>;
11619
11945
  /**
11620
11946
  * Prefer `.textContent` over `.innerText`.
11621
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-dom-node-text-content.md
11947
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-dom-node-text-content.md
11622
11948
  */
11623
11949
  "unicorn/prefer-dom-node-text-content"?: Linter.RuleEntry<[]>;
11624
11950
  /**
11625
11951
  * Prefer `EventTarget` over `EventEmitter`.
11626
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-event-target.md
11952
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-event-target.md
11627
11953
  */
11628
11954
  "unicorn/prefer-event-target"?: Linter.RuleEntry<[]>;
11629
11955
  /**
11630
11956
  * Prefer `export…from` when re-exporting.
11631
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-export-from.md
11957
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-export-from.md
11632
11958
  */
11633
11959
  "unicorn/prefer-export-from"?: Linter.RuleEntry<UnicornPreferExportFrom>;
11634
11960
  /**
11635
11961
  * Prefer `globalThis` over `window`, `self`, and `global`.
11636
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-global-this.md
11962
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-global-this.md
11637
11963
  */
11638
11964
  "unicorn/prefer-global-this"?: Linter.RuleEntry<[]>;
11639
11965
  /**
11640
11966
  * Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
11641
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-import-meta-properties.md
11967
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-import-meta-properties.md
11642
11968
  */
11643
11969
  "unicorn/prefer-import-meta-properties"?: Linter.RuleEntry<[]>;
11644
11970
  /**
11645
11971
  * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
11646
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-includes.md
11972
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-includes.md
11647
11973
  */
11648
11974
  "unicorn/prefer-includes"?: Linter.RuleEntry<[]>;
11649
11975
  /**
11650
11976
  * Prefer reading a JSON file as a buffer.
11651
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-json-parse-buffer.md
11977
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-json-parse-buffer.md
11652
11978
  */
11653
11979
  "unicorn/prefer-json-parse-buffer"?: Linter.RuleEntry<[]>;
11654
11980
  /**
11655
11981
  * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
11656
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-keyboard-event-key.md
11982
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-keyboard-event-key.md
11657
11983
  */
11658
11984
  "unicorn/prefer-keyboard-event-key"?: Linter.RuleEntry<[]>;
11659
11985
  /**
11660
11986
  * Prefer using a logical operator over a ternary.
11661
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-logical-operator-over-ternary.md
11987
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-logical-operator-over-ternary.md
11662
11988
  */
11663
11989
  "unicorn/prefer-logical-operator-over-ternary"?: Linter.RuleEntry<[]>;
11664
11990
  /**
11665
11991
  * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
11666
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-min-max.md
11992
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-min-max.md
11667
11993
  */
11668
11994
  "unicorn/prefer-math-min-max"?: Linter.RuleEntry<[]>;
11669
11995
  /**
11670
11996
  * Enforce the use of `Math.trunc` instead of bitwise operators.
11671
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-math-trunc.md
11997
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-math-trunc.md
11672
11998
  */
11673
11999
  "unicorn/prefer-math-trunc"?: Linter.RuleEntry<[]>;
11674
12000
  /**
11675
12001
  * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
11676
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-dom-apis.md
12002
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-dom-apis.md
11677
12003
  */
11678
12004
  "unicorn/prefer-modern-dom-apis"?: Linter.RuleEntry<[]>;
11679
12005
  /**
11680
12006
  * Prefer modern `Math` APIs over legacy patterns.
11681
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-modern-math-apis.md
12007
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-modern-math-apis.md
11682
12008
  */
11683
12009
  "unicorn/prefer-modern-math-apis"?: Linter.RuleEntry<[]>;
11684
12010
  /**
11685
12011
  * Prefer JavaScript modules (ESM) over CommonJS.
11686
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-module.md
12012
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-module.md
11687
12013
  */
11688
12014
  "unicorn/prefer-module"?: Linter.RuleEntry<[]>;
11689
12015
  /**
11690
12016
  * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
11691
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-native-coercion-functions.md
12017
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-native-coercion-functions.md
11692
12018
  */
11693
12019
  "unicorn/prefer-native-coercion-functions"?: Linter.RuleEntry<[]>;
11694
12020
  /**
11695
12021
  * Prefer negative index over `.length - index` when possible.
11696
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-negative-index.md
12022
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-negative-index.md
11697
12023
  */
11698
12024
  "unicorn/prefer-negative-index"?: Linter.RuleEntry<[]>;
11699
12025
  /**
11700
12026
  * Prefer using the `node:` protocol when importing Node.js builtin modules.
11701
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-node-protocol.md
12027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-node-protocol.md
11702
12028
  */
11703
12029
  "unicorn/prefer-node-protocol"?: Linter.RuleEntry<[]>;
11704
12030
  /**
11705
12031
  * Prefer `Number` static properties over global ones.
11706
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-number-properties.md
12032
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-number-properties.md
11707
12033
  */
11708
12034
  "unicorn/prefer-number-properties"?: Linter.RuleEntry<UnicornPreferNumberProperties>;
11709
12035
  /**
11710
12036
  * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
11711
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-object-from-entries.md
12037
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-object-from-entries.md
11712
12038
  */
11713
12039
  "unicorn/prefer-object-from-entries"?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
11714
12040
  /**
11715
12041
  * Prefer omitting the `catch` binding parameter.
11716
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-optional-catch-binding.md
12042
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-optional-catch-binding.md
11717
12043
  */
11718
12044
  "unicorn/prefer-optional-catch-binding"?: Linter.RuleEntry<[]>;
11719
12045
  /**
11720
12046
  * Prefer borrowing methods from the prototype instead of the instance.
11721
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-prototype-methods.md
12047
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-prototype-methods.md
11722
12048
  */
11723
12049
  "unicorn/prefer-prototype-methods"?: Linter.RuleEntry<[]>;
11724
12050
  /**
11725
12051
  * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
11726
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-query-selector.md
12052
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-query-selector.md
11727
12053
  */
11728
12054
  "unicorn/prefer-query-selector"?: Linter.RuleEntry<[]>;
11729
12055
  /**
11730
12056
  * Prefer `Reflect.apply()` over `Function#apply()`.
11731
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-reflect-apply.md
12057
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-reflect-apply.md
11732
12058
  */
11733
12059
  "unicorn/prefer-reflect-apply"?: Linter.RuleEntry<[]>;
11734
12060
  /**
11735
12061
  * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
11736
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-regexp-test.md
12062
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-regexp-test.md
11737
12063
  */
11738
12064
  "unicorn/prefer-regexp-test"?: Linter.RuleEntry<[]>;
11739
12065
  /**
11740
12066
  * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
11741
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-has.md
12067
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-has.md
11742
12068
  */
11743
12069
  "unicorn/prefer-set-has"?: Linter.RuleEntry<[]>;
11744
12070
  /**
11745
12071
  * Prefer using `Set#size` instead of `Array#length`.
11746
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-set-size.md
12072
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-set-size.md
11747
12073
  */
11748
12074
  "unicorn/prefer-set-size"?: Linter.RuleEntry<[]>;
11749
12075
  /**
11750
12076
  * Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
11751
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-single-call.md
12077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-single-call.md
11752
12078
  */
11753
12079
  "unicorn/prefer-single-call"?: Linter.RuleEntry<UnicornPreferSingleCall>;
11754
12080
  /**
11755
12081
  * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
11756
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-spread.md
12082
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-spread.md
11757
12083
  */
11758
12084
  "unicorn/prefer-spread"?: Linter.RuleEntry<[]>;
11759
12085
  /**
11760
12086
  * Prefer using the `String.raw` tag to avoid escaping `\`.
11761
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-raw.md
12087
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-raw.md
11762
12088
  */
11763
12089
  "unicorn/prefer-string-raw"?: Linter.RuleEntry<[]>;
11764
12090
  /**
11765
12091
  * Prefer `String#replaceAll()` over regex searches with the global flag.
11766
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-replace-all.md
12092
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-replace-all.md
11767
12093
  */
11768
12094
  "unicorn/prefer-string-replace-all"?: Linter.RuleEntry<[]>;
11769
12095
  /**
11770
12096
  * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
11771
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-slice.md
12097
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-slice.md
11772
12098
  */
11773
12099
  "unicorn/prefer-string-slice"?: Linter.RuleEntry<[]>;
11774
12100
  /**
11775
12101
  * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
11776
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-starts-ends-with.md
12102
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-starts-ends-with.md
11777
12103
  */
11778
12104
  "unicorn/prefer-string-starts-ends-with"?: Linter.RuleEntry<[]>;
11779
12105
  /**
11780
12106
  * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
11781
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-string-trim-start-end.md
12107
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-string-trim-start-end.md
11782
12108
  */
11783
12109
  "unicorn/prefer-string-trim-start-end"?: Linter.RuleEntry<[]>;
11784
12110
  /**
11785
12111
  * Prefer using `structuredClone` to create a deep clone.
11786
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-structured-clone.md
12112
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-structured-clone.md
11787
12113
  */
11788
12114
  "unicorn/prefer-structured-clone"?: Linter.RuleEntry<UnicornPreferStructuredClone>;
11789
12115
  /**
11790
12116
  * Prefer `switch` over multiple `else-if`.
11791
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-switch.md
12117
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-switch.md
11792
12118
  */
11793
12119
  "unicorn/prefer-switch"?: Linter.RuleEntry<UnicornPreferSwitch>;
11794
12120
  /**
11795
12121
  * Prefer ternary expressions over simple `if-else` statements.
11796
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-ternary.md
12122
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-ternary.md
11797
12123
  */
11798
12124
  "unicorn/prefer-ternary"?: Linter.RuleEntry<UnicornPreferTernary>;
11799
12125
  /**
11800
12126
  * Prefer top-level await over top-level promises and async function calls.
11801
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-top-level-await.md
12127
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-top-level-await.md
11802
12128
  */
11803
12129
  "unicorn/prefer-top-level-await"?: Linter.RuleEntry<[]>;
11804
12130
  /**
11805
12131
  * Enforce throwing `TypeError` in type checking conditions.
11806
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prefer-type-error.md
12132
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prefer-type-error.md
11807
12133
  */
11808
12134
  "unicorn/prefer-type-error"?: Linter.RuleEntry<[]>;
11809
12135
  /**
11810
12136
  * Prevent abbreviations.
11811
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/prevent-abbreviations.md
12137
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/prevent-abbreviations.md
11812
12138
  */
11813
12139
  "unicorn/prevent-abbreviations"?: Linter.RuleEntry<UnicornPreventAbbreviations>;
11814
12140
  /**
11815
12141
  * Enforce consistent relative URL style.
11816
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/relative-url-style.md
12142
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/relative-url-style.md
11817
12143
  */
11818
12144
  "unicorn/relative-url-style"?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
11819
12145
  /**
11820
12146
  * Enforce using the separator argument with `Array#join()`.
11821
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-array-join-separator.md
12147
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-array-join-separator.md
11822
12148
  */
11823
12149
  "unicorn/require-array-join-separator"?: Linter.RuleEntry<[]>;
11824
12150
  /**
12151
+ * Require non-empty module attributes for imports and exports
12152
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-attributes.md
12153
+ */
12154
+ "unicorn/require-module-attributes"?: Linter.RuleEntry<[]>;
12155
+ /**
12156
+ * Require non-empty specifier list in import and export statements.
12157
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-module-specifiers.md
12158
+ */
12159
+ "unicorn/require-module-specifiers"?: Linter.RuleEntry<[]>;
12160
+ /**
11825
12161
  * Enforce using the digits argument with `Number#toFixed()`.
11826
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-number-to-fixed-digits-argument.md
12162
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-number-to-fixed-digits-argument.md
11827
12163
  */
11828
12164
  "unicorn/require-number-to-fixed-digits-argument"?: Linter.RuleEntry<[]>;
11829
12165
  /**
11830
12166
  * Enforce using the `targetOrigin` argument with `window.postMessage()`.
11831
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/require-post-message-target-origin.md
12167
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/require-post-message-target-origin.md
11832
12168
  */
11833
12169
  "unicorn/require-post-message-target-origin"?: Linter.RuleEntry<[]>;
11834
12170
  /**
11835
12171
  * Enforce better string content.
11836
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/string-content.md
12172
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/string-content.md
11837
12173
  */
11838
12174
  "unicorn/string-content"?: Linter.RuleEntry<UnicornStringContent>;
11839
12175
  /**
11840
12176
  * Enforce consistent brace style for `case` clauses.
11841
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/switch-case-braces.md
12177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/switch-case-braces.md
11842
12178
  */
11843
12179
  "unicorn/switch-case-braces"?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
11844
12180
  /**
11845
12181
  * Fix whitespace-insensitive template indentation.
11846
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/template-indent.md
12182
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/template-indent.md
11847
12183
  */
11848
12184
  "unicorn/template-indent"?: Linter.RuleEntry<UnicornTemplateIndent>;
11849
12185
  /**
11850
12186
  * Enforce consistent case for text encoding identifiers.
11851
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/text-encoding-identifier-case.md
12187
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/text-encoding-identifier-case.md
11852
12188
  */
11853
12189
  "unicorn/text-encoding-identifier-case"?: Linter.RuleEntry<[]>;
11854
12190
  /**
11855
12191
  * Require `new` when creating an error.
11856
- * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v59.0.1/docs/rules/throw-new-error.md
12192
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/throw-new-error.md
11857
12193
  */
11858
12194
  "unicorn/throw-new-error"?: Linter.RuleEntry<[]>;
11859
12195
  }
@@ -11920,6 +12256,14 @@ interface _UnicornImportStyle_BooleanObject {
11920
12256
  type UnicornNoArrayReduce = [] | [{
11921
12257
  allowSimpleOperations?: boolean;
11922
12258
  }];
12259
+ // ----- unicorn/no-array-reverse -----
12260
+ type UnicornNoArrayReverse = [] | [{
12261
+ allowExpressionStatement?: boolean;
12262
+ }];
12263
+ // ----- unicorn/no-array-sort -----
12264
+ type UnicornNoArraySort = [] | [{
12265
+ allowExpressionStatement?: boolean;
12266
+ }];
11923
12267
  // ----- unicorn/no-instanceof-builtins -----
11924
12268
  type UnicornNoInstanceofBuiltins = [] | [{
11925
12269
  useErrorIsError?: boolean;
@@ -12092,6 +12436,11 @@ interface VitestRules {
12092
12436
  */
12093
12437
  "vitest/expect-expect"?: Linter.RuleEntry<VitestExpectExpect>;
12094
12438
  /**
12439
+ * enforce hoisted APIs to be on top of the file
12440
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
12441
+ */
12442
+ "vitest/hoisted-apis-on-top"?: Linter.RuleEntry<[]>;
12443
+ /**
12095
12444
  * enforce a maximum number of expect per test
12096
12445
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
12097
12446
  */
@@ -12293,6 +12642,11 @@ interface VitestRules {
12293
12642
  */
12294
12643
  "vitest/prefer-expect-resolves"?: Linter.RuleEntry<[]>;
12295
12644
  /**
12645
+ * enforce using `expectTypeOf` instead of `expect(typeof ...)`
12646
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
12647
+ */
12648
+ "vitest/prefer-expect-type-of"?: Linter.RuleEntry<[]>;
12649
+ /**
12296
12650
  * enforce having hooks in consistent order
12297
12651
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
12298
12652
  */
@@ -13007,7 +13361,7 @@ interface VueRules {
13007
13361
  * disallow asynchronous actions in computed properties
13008
13362
  * @see https://eslint.vuejs.org/rules/no-async-in-computed-properties.html
13009
13363
  */
13010
- "vue/no-async-in-computed-properties"?: Linter.RuleEntry<[]>;
13364
+ "vue/no-async-in-computed-properties"?: Linter.RuleEntry<VueNoAsyncInComputedProperties>;
13011
13365
  /**
13012
13366
  * disallow the use of bare strings in `<template>`
13013
13367
  * @see https://eslint.vuejs.org/rules/no-bare-strings-in-template.html
@@ -13249,6 +13603,16 @@ interface VueRules {
13249
13603
  */
13250
13604
  "vue/no-mutating-props"?: Linter.RuleEntry<VueNoMutatingProps>;
13251
13605
  /**
13606
+ * Disallow negated conditions in `<template>`
13607
+ * @see https://eslint.vuejs.org/rules/no-negated-condition.html
13608
+ */
13609
+ "vue/no-negated-condition"?: Linter.RuleEntry<[]>;
13610
+ /**
13611
+ * disallow negated conditions in v-if/v-else
13612
+ * @see https://eslint.vuejs.org/rules/no-negated-v-if-condition.html
13613
+ */
13614
+ "vue/no-negated-v-if-condition"?: Linter.RuleEntry<[]>;
13615
+ /**
13252
13616
  * disallow parsing errors in `<template>`
13253
13617
  * @see https://eslint.vuejs.org/rules/no-parsing-error.html
13254
13618
  */
@@ -13498,7 +13862,7 @@ interface VueRules {
13498
13862
  * disallow use of v-html to prevent XSS attack
13499
13863
  * @see https://eslint.vuejs.org/rules/no-v-html.html
13500
13864
  */
13501
- "vue/no-v-html"?: Linter.RuleEntry<[]>;
13865
+ "vue/no-v-html"?: Linter.RuleEntry<VueNoVHtml>;
13502
13866
  /**
13503
13867
  * disallow adding an argument to `v-model` used in custom component
13504
13868
  * @see https://eslint.vuejs.org/rules/no-v-model-argument.html
@@ -14058,7 +14422,6 @@ type IntlifyVueI18NNoRawText = [] | [{
14058
14422
  ignoreNodes?: unknown[];
14059
14423
  ignorePattern?: string;
14060
14424
  ignoreText?: unknown[];
14061
- [k: string]: unknown | undefined;
14062
14425
  }];
14063
14426
  // ----- @intlify/vue-i18n/no-unknown-locale -----
14064
14427
  type IntlifyVueI18NNoUnknownLocale = [] | [{
@@ -14091,6 +14454,7 @@ type VueScopedCssNoUnusedSelector = [] | [{
14091
14454
  ignoreBEMModifier?: boolean;
14092
14455
  captureClassesFromDoc?: [] | [string];
14093
14456
  checkUnscoped?: boolean;
14457
+ extraClassAttributes?: string[];
14094
14458
  }];
14095
14459
  // ----- vue-scoped-css/require-scoped -----
14096
14460
  type VueScopedCssRequireScoped = [] | [("always" | "never")];
@@ -14145,6 +14509,7 @@ type VueAttributeHyphenation = [] | [("always" | "never")] | [("always" | "never
14145
14509
  type VueAttributesOrder = [] | [{
14146
14510
  order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
14147
14511
  alphabetical?: boolean;
14512
+ sortLineLength?: boolean;
14148
14513
  }];
14149
14514
  // ----- vue/block-lang -----
14150
14515
  type VueBlockLang = [] | [{
@@ -14812,6 +15177,10 @@ type VueNewLineBetweenMultiLineProperty = [] | [{
14812
15177
  }];
14813
15178
  // ----- vue/next-tick-style -----
14814
15179
  type VueNextTickStyle = [] | [("promise" | "callback")];
15180
+ // ----- vue/no-async-in-computed-properties -----
15181
+ type VueNoAsyncInComputedProperties = [] | [{
15182
+ ignoredObjectNames?: string[];
15183
+ }];
14815
15184
  // ----- vue/no-bare-strings-in-template -----
14816
15185
  type VueNoBareStringsInTemplate = [] | [{
14817
15186
  allowlist?: string[];
@@ -14845,6 +15214,7 @@ type VueNoDeprecatedRouterLinkTagProp = [] | [{
14845
15214
  // ----- vue/no-deprecated-slot-attribute -----
14846
15215
  type VueNoDeprecatedSlotAttribute = [] | [{
14847
15216
  ignore?: string[];
15217
+ ignoreParents?: string[];
14848
15218
  }];
14849
15219
  // ----- vue/no-dupe-keys -----
14850
15220
  type VueNoDupeKeys = [] | [{
@@ -15096,6 +15466,10 @@ type VueNoUselessVBind = [] | [{
15096
15466
  ignoreIncludesComment?: boolean;
15097
15467
  ignoreStringEscape?: boolean;
15098
15468
  }];
15469
+ // ----- vue/no-v-html -----
15470
+ type VueNoVHtml = [] | [{
15471
+ ignorePattern?: string;
15472
+ }];
15099
15473
  // ----- vue/no-v-text-v-html-on-component -----
15100
15474
  type VueNoVTextVHtmlOnComponent = [] | [{
15101
15475
  allow?: string[];
@@ -15807,6 +16181,26 @@ interface CssOptions {
15807
16181
  */
15808
16182
  declare function css(options?: CssOptions & OverridesOptions<CssRules>): Promise<Linter.Config[]>;
15809
16183
  //#endregion
16184
+ //#region src/configs/deps.d.ts
16185
+ /**
16186
+ * Deps configuration options
16187
+ */
16188
+ interface DepsOptions {
16189
+ /**
16190
+ * use `eslint-pluing-barrel-files`
16191
+ *
16192
+ * @default false
16193
+ */
16194
+ barrel?: boolean;
16195
+ }
16196
+ /**
16197
+ * `eslint-plugin-barrel-files` and overrides configuration options
16198
+ *
16199
+ * @param {DepsOptions & OverridesOptions} options - deps configuration options
16200
+ * @returns {Promise<Linter.Config[]>} eslint flat configurations with `eslint-plugin-barrel-files` and overrides
16201
+ */
16202
+ declare function deps(options?: DepsOptions & OverridesOptions<DepsRules>): Promise<Linter.Config[]>;
16203
+ //#endregion
15810
16204
  //#region src/configs/html.d.ts
15811
16205
  /**
15812
16206
  * html configuration options
@@ -16377,4 +16771,4 @@ declare function yml(options?: YmlOptions & OverridesOptions<YmlRules>): Promise
16377
16771
  // alias
16378
16772
  declare const yaml: typeof yml;
16379
16773
  //#endregion
16380
- export { CommentsOptions, CommentsRules, CssOptions, CssRules, HtmlOptions, HtmlRules, ImportsOptions, ImportsRules, JavaScriptOptions, JavascriptRules, JsDocumentOptions, JsdocRules, JsoncOptions, JsoncRules, MarkdownOptions, MarkdownRules, OverridesOptions, PrettierOptions, PrettierRules, PromiseOptions, PromiseRules, ReactOptions, ReactRules, RegexpOptions, RegexpRules, StylisticOptions, StylisticRules, SvelteRules, SvelteScriptOptions, TomlOptions, TomlRules, TypeScriptOptions, TypeScriptParserOptions, TypeScriptProjectServiceOptions, TypescriptRules, UnicornOptions, UnicornRules, VitestOptions, VitestRules, VueI18nOptions, VueRules, VueScriptOptions, YmlOptions, YmlRules, comments, css, defineConfig, html, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };
16774
+ export { CommentsOptions, CommentsRules, CssOptions, CssRules, DepsOptions, DepsRules, HtmlOptions, HtmlRules, ImportsOptions, ImportsRules, JavaScriptOptions, JavascriptRules, JsDocumentOptions, JsdocRules, JsoncOptions, JsoncRules, MarkdownOptions, MarkdownRules, OverridesOptions, PrettierOptions, PrettierRules, PromiseOptions, PromiseRules, ReactOptions, ReactRules, RegexpOptions, RegexpRules, StylisticOptions, StylisticRules, SvelteRules, SvelteScriptOptions, TomlOptions, TomlRules, TypeScriptOptions, TypeScriptParserOptions, TypeScriptProjectServiceOptions, TypescriptRules, UnicornOptions, UnicornRules, VitestOptions, VitestRules, VueI18nOptions, VueRules, VueScriptOptions, YmlOptions, YmlRules, comments, css, defineConfig, deps, html, imports, javascript, jsdoc, jsonc, markdown, md, prettier, promise, react, regexp, stylistic, svelte, toml, typescript, unicorn, vitest, vue, yaml, yml };