@favorodera/eslint-config 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -335,6 +335,601 @@ interface RuleOptions {
335
335
  * @see https://eslint.org/docs/latest/rules/init-declarations
336
336
  */
337
337
  'init-declarations'?: Linter.RuleEntry<InitDeclarations>;
338
+ /**
339
+ * Checks that `@access` tags have a valid value.
340
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
341
+ */
342
+ 'jsdoc/check-access'?: Linter.RuleEntry<[]>;
343
+ /**
344
+ * Reports invalid alignment of JSDoc block asterisks.
345
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
346
+ */
347
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>;
348
+ /**
349
+ * @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
350
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
351
+ */
352
+ 'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>;
353
+ /**
354
+ * Reports invalid padding inside JSDoc blocks.
355
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
356
+ */
357
+ 'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>;
358
+ /**
359
+ * Reports invalid alignment of JSDoc block lines.
360
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
361
+ */
362
+ 'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>;
363
+ /**
364
+ * Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
365
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
366
+ */
367
+ 'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>;
368
+ /**
369
+ * Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
370
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
371
+ */
372
+ 'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>;
373
+ /**
374
+ * Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
375
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
376
+ */
377
+ 'jsdoc/check-syntax'?: Linter.RuleEntry<[]>;
378
+ /**
379
+ * Reports invalid block tag names.
380
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
381
+ */
382
+ 'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>;
383
+ /**
384
+ * Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
385
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
386
+ */
387
+ 'jsdoc/check-template-names'?: Linter.RuleEntry<[]>;
388
+ /**
389
+ * Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
390
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
391
+ */
392
+ 'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>;
393
+ /**
394
+ * This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
395
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
396
+ */
397
+ 'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>;
398
+ /**
399
+ * Converts non-JSDoc comments preceding or following nodes into JSDoc ones
400
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
401
+ */
402
+ 'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>;
403
+ /**
404
+ * Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
405
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
406
+ */
407
+ 'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>;
408
+ /**
409
+ * Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
410
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
411
+ */
412
+ 'jsdoc/escape-inline-tags'?: Linter.RuleEntry<JsdocEscapeInlineTags>;
413
+ /**
414
+ * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
415
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
416
+ */
417
+ 'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>;
418
+ /**
419
+ * Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
420
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
421
+ */
422
+ 'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>;
423
+ /**
424
+ * This rule reports doc comments that only restate their attached name.
425
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
426
+ */
427
+ 'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>;
428
+ /**
429
+ * Enforces minimum number of newlines before JSDoc comment blocks
430
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
431
+ */
432
+ 'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>;
433
+ /**
434
+ * Enforces a regular expression pattern on descriptions.
435
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
436
+ */
437
+ 'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>;
438
+ /**
439
+ * Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
440
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
441
+ */
442
+ 'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>;
443
+ /**
444
+ * Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
445
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
446
+ */
447
+ 'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>;
448
+ /**
449
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
450
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
451
+ */
452
+ 'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>;
453
+ /**
454
+ * If tags are present, this rule will prevent empty lines in the block description. If no tags are present, this rule will prevent extra empty lines in the block description.
455
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
456
+ */
457
+ 'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>;
458
+ /**
459
+ * Removes empty blocks with nothing but possibly line breaks
460
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
461
+ */
462
+ 'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>;
463
+ /**
464
+ * This rule reports defaults being used on the relevant portion of `@param` or `@default`.
465
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
466
+ */
467
+ 'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>;
468
+ /**
469
+ * Reports when certain comment structures are always expected.
470
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
471
+ */
472
+ 'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>;
473
+ /**
474
+ * Prevents use of multiple asterisks at the beginning of lines.
475
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
476
+ */
477
+ 'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>;
478
+ /**
479
+ * Reports when certain comment structures are present.
480
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
481
+ */
482
+ 'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
483
+ /**
484
+ * This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
485
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
486
+ */
487
+ 'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>;
488
+ /**
489
+ * Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
490
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
491
+ */
492
+ 'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
493
+ /**
494
+ * Prefer `@import` tags to inline `import()` statements.
495
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
496
+ */
497
+ 'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>;
498
+ /**
499
+ * Reports use of `any` or `*` type
500
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
501
+ */
502
+ 'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>;
503
+ /**
504
+ * Reports use of `Function` type
505
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
506
+ */
507
+ 'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>;
508
+ /**
509
+ * Requires that each JSDoc line starts with an `*`.
510
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
511
+ */
512
+ 'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
513
+ /**
514
+ * Requires that all functions (and potentially other contexts) have a description.
515
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
516
+ */
517
+ 'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>;
518
+ /**
519
+ * Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
520
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
521
+ */
522
+ 'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
523
+ /**
524
+ * Requires that all functions (and potentially other contexts) have examples.
525
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
526
+ */
527
+ 'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>;
528
+ /**
529
+ * Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
530
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
531
+ */
532
+ 'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>;
533
+ /**
534
+ * Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
535
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
536
+ */
537
+ 'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
538
+ /**
539
+ * Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
540
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
541
+ */
542
+ 'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>;
543
+ /**
544
+ * Requires a description for `@next` tags
545
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
546
+ */
547
+ 'jsdoc/require-next-description'?: Linter.RuleEntry<[]>;
548
+ /**
549
+ * Requires a type for `@next` tags
550
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
551
+ */
552
+ 'jsdoc/require-next-type'?: Linter.RuleEntry<[]>;
553
+ /**
554
+ * Requires that all function parameters are documented with a `@param` tag.
555
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
556
+ */
557
+ 'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>;
558
+ /**
559
+ * Requires that each `@param` tag has a `description` value.
560
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
561
+ */
562
+ 'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>;
563
+ /**
564
+ * Requires that all `@param` tags have names.
565
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
566
+ */
567
+ 'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>;
568
+ /**
569
+ * Requires that each `@param` tag has a type value (in curly brackets).
570
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
571
+ */
572
+ 'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>;
573
+ /**
574
+ * Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
575
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
576
+ */
577
+ 'jsdoc/require-property'?: Linter.RuleEntry<[]>;
578
+ /**
579
+ * Requires that each `@property` tag has a `description` value.
580
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
581
+ */
582
+ 'jsdoc/require-property-description'?: Linter.RuleEntry<[]>;
583
+ /**
584
+ * Requires that all `@property` tags have names.
585
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
586
+ */
587
+ 'jsdoc/require-property-name'?: Linter.RuleEntry<[]>;
588
+ /**
589
+ * Requires that each `@property` tag has a type value (in curly brackets).
590
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
591
+ */
592
+ 'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
593
+ /**
594
+ * Requires that Promise rejections are documented with `@rejects` tags.
595
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
596
+ */
597
+ 'jsdoc/require-rejects'?: Linter.RuleEntry<JsdocRequireRejects>;
598
+ /**
599
+ * Requires that returns are documented with `@returns`.
600
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
601
+ */
602
+ 'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>;
603
+ /**
604
+ * Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
605
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
606
+ */
607
+ 'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
608
+ /**
609
+ * Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
610
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
611
+ */
612
+ 'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
613
+ /**
614
+ * Requires that `@returns` tag has type value (in curly brackets).
615
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
616
+ */
617
+ 'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>;
618
+ /**
619
+ * Requires tags be present, optionally for specific contexts
620
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
621
+ */
622
+ 'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>;
623
+ /**
624
+ * Requires `@template` tags be present when type parameters are used.
625
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
626
+ */
627
+ 'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>;
628
+ /**
629
+ * Requires a description for `@template` tags
630
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
631
+ */
632
+ 'jsdoc/require-template-description'?: Linter.RuleEntry<[]>;
633
+ /**
634
+ * Requires that throw statements are documented with `@throws` tags.
635
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
636
+ */
637
+ 'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>;
638
+ /**
639
+ * Requires a description for `@throws` tags
640
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
641
+ */
642
+ 'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>;
643
+ /**
644
+ * Requires a type for `@throws` tags
645
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
646
+ */
647
+ 'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>;
648
+ /**
649
+ * Requires yields are documented with `@yields` tags.
650
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
651
+ */
652
+ 'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>;
653
+ /**
654
+ * Ensures that if a `@yields` is present that a `yield` (or `yield` with a value) is present in the function body (or that if a `@next` is present that there is a yield with a return value present).
655
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
656
+ */
657
+ 'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
658
+ /**
659
+ * Requires a description for `@yields` tags
660
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
661
+ */
662
+ 'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>;
663
+ /**
664
+ * Requires a type for `@yields` tags
665
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
666
+ */
667
+ 'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>;
668
+ /**
669
+ * Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
670
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
671
+ */
672
+ 'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>;
673
+ /**
674
+ * Enforces lines (or no lines) before, after, or between tags.
675
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
676
+ */
677
+ 'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>;
678
+ /**
679
+ * Auto-escape certain characters that are input within block and tag descriptions.
680
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
681
+ */
682
+ 'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
683
+ /**
684
+ * Prefers either function properties or method signatures
685
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
686
+ */
687
+ 'jsdoc/ts-method-signature-style'?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>;
688
+ /**
689
+ * Warns against use of the empty object type
690
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
691
+ */
692
+ 'jsdoc/ts-no-empty-object-type'?: Linter.RuleEntry<[]>;
693
+ /**
694
+ * Catches unnecessary template expressions such as string expressions within a template literal.
695
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
696
+ */
697
+ 'jsdoc/ts-no-unnecessary-template-expression'?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>;
698
+ /**
699
+ * Prefers function types over call signatures when there are no other properties.
700
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
701
+ */
702
+ 'jsdoc/ts-prefer-function-type'?: Linter.RuleEntry<JsdocTsPreferFunctionType>;
703
+ /**
704
+ * Formats JSDoc type values.
705
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
706
+ */
707
+ 'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>;
708
+ /**
709
+ * Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
710
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
711
+ */
712
+ 'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>;
713
+ /**
714
+ * enforce line breaks after opening and before closing array brackets
715
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
716
+ */
717
+ 'jsonc/array-bracket-newline'?: Linter.RuleEntry<JsoncArrayBracketNewline>;
718
+ /**
719
+ * disallow or enforce spaces inside of brackets
720
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
721
+ */
722
+ 'jsonc/array-bracket-spacing'?: Linter.RuleEntry<JsoncArrayBracketSpacing>;
723
+ /**
724
+ * enforce line breaks between array elements
725
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
726
+ */
727
+ 'jsonc/array-element-newline'?: Linter.RuleEntry<JsoncArrayElementNewline>;
728
+ /**
729
+ * apply jsonc rules similar to your configured ESLint core rules
730
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
731
+ */
732
+ 'jsonc/auto'?: Linter.RuleEntry<[]>;
733
+ /**
734
+ * require or disallow trailing commas
735
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
736
+ */
737
+ 'jsonc/comma-dangle'?: Linter.RuleEntry<JsoncCommaDangle>;
738
+ /**
739
+ * enforce consistent comma style
740
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
741
+ */
742
+ 'jsonc/comma-style'?: Linter.RuleEntry<JsoncCommaStyle>;
743
+ /**
744
+ * enforce consistent indentation
745
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
746
+ */
747
+ 'jsonc/indent'?: Linter.RuleEntry<JsoncIndent>;
748
+ /**
749
+ * enforce naming convention to property key names
750
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
751
+ */
752
+ 'jsonc/key-name-casing'?: Linter.RuleEntry<JsoncKeyNameCasing>;
753
+ /**
754
+ * enforce consistent spacing between keys and values in object literal properties
755
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
756
+ */
757
+ 'jsonc/key-spacing'?: Linter.RuleEntry<JsoncKeySpacing>;
758
+ /**
759
+ * disallow BigInt literals
760
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
761
+ */
762
+ 'jsonc/no-bigint-literals'?: Linter.RuleEntry<[]>;
763
+ /**
764
+ * disallow binary expression
765
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
766
+ */
767
+ 'jsonc/no-binary-expression'?: Linter.RuleEntry<[]>;
768
+ /**
769
+ * disallow binary numeric literals
770
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
771
+ */
772
+ 'jsonc/no-binary-numeric-literals'?: Linter.RuleEntry<[]>;
773
+ /**
774
+ * disallow comments
775
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
776
+ */
777
+ 'jsonc/no-comments'?: Linter.RuleEntry<[]>;
778
+ /**
779
+ * disallow duplicate keys in object literals
780
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
781
+ */
782
+ 'jsonc/no-dupe-keys'?: Linter.RuleEntry<[]>;
783
+ /**
784
+ * disallow escape sequences in identifiers.
785
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
786
+ */
787
+ 'jsonc/no-escape-sequence-in-identifier'?: Linter.RuleEntry<[]>;
788
+ /**
789
+ * disallow leading or trailing decimal points in numeric literals
790
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
791
+ */
792
+ 'jsonc/no-floating-decimal'?: Linter.RuleEntry<[]>;
793
+ /**
794
+ * disallow hexadecimal numeric literals
795
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
796
+ */
797
+ 'jsonc/no-hexadecimal-numeric-literals'?: Linter.RuleEntry<[]>;
798
+ /**
799
+ * disallow Infinity
800
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
801
+ */
802
+ 'jsonc/no-infinity'?: Linter.RuleEntry<[]>;
803
+ /**
804
+ * disallow irregular whitespace
805
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
806
+ */
807
+ 'jsonc/no-irregular-whitespace'?: Linter.RuleEntry<JsoncNoIrregularWhitespace>;
808
+ /**
809
+ * disallow multiline strings
810
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
811
+ */
812
+ 'jsonc/no-multi-str'?: Linter.RuleEntry<[]>;
813
+ /**
814
+ * disallow NaN
815
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
816
+ */
817
+ 'jsonc/no-nan'?: Linter.RuleEntry<[]>;
818
+ /**
819
+ * disallow number property keys
820
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
821
+ */
822
+ 'jsonc/no-number-props'?: Linter.RuleEntry<[]>;
823
+ /**
824
+ * disallow numeric separators
825
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
826
+ */
827
+ 'jsonc/no-numeric-separators'?: Linter.RuleEntry<[]>;
828
+ /**
829
+ * disallow legacy octal literals
830
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
831
+ */
832
+ 'jsonc/no-octal'?: Linter.RuleEntry<[]>;
833
+ /**
834
+ * disallow octal escape sequences in string literals
835
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
836
+ */
837
+ 'jsonc/no-octal-escape'?: Linter.RuleEntry<[]>;
838
+ /**
839
+ * disallow octal numeric literals
840
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
841
+ */
842
+ 'jsonc/no-octal-numeric-literals'?: Linter.RuleEntry<[]>;
843
+ /**
844
+ * disallow parentheses around the expression
845
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
846
+ */
847
+ 'jsonc/no-parenthesized'?: Linter.RuleEntry<[]>;
848
+ /**
849
+ * disallow plus sign
850
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
851
+ */
852
+ 'jsonc/no-plus-sign'?: Linter.RuleEntry<[]>;
853
+ /**
854
+ * disallow RegExp literals
855
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
856
+ */
857
+ 'jsonc/no-regexp-literals'?: Linter.RuleEntry<[]>;
858
+ /**
859
+ * disallow sparse arrays
860
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
861
+ */
862
+ 'jsonc/no-sparse-arrays'?: Linter.RuleEntry<[]>;
863
+ /**
864
+ * disallow template literals
865
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
866
+ */
867
+ 'jsonc/no-template-literals'?: Linter.RuleEntry<[]>;
868
+ /**
869
+ * disallow `undefined`
870
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
871
+ */
872
+ 'jsonc/no-undefined-value'?: Linter.RuleEntry<[]>;
873
+ /**
874
+ * disallow Unicode code point escape sequences.
875
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
876
+ */
877
+ 'jsonc/no-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
878
+ /**
879
+ * disallow unnecessary escape usage
880
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
881
+ */
882
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>;
883
+ /**
884
+ * enforce consistent line breaks inside braces
885
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
886
+ */
887
+ 'jsonc/object-curly-newline'?: Linter.RuleEntry<JsoncObjectCurlyNewline>;
888
+ /**
889
+ * enforce consistent spacing inside braces
890
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
891
+ */
892
+ 'jsonc/object-curly-spacing'?: Linter.RuleEntry<JsoncObjectCurlySpacing>;
893
+ /**
894
+ * enforce placing object properties on separate lines
895
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
896
+ */
897
+ 'jsonc/object-property-newline'?: Linter.RuleEntry<JsoncObjectPropertyNewline>;
898
+ /**
899
+ * require quotes around object literal property names
900
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
901
+ */
902
+ 'jsonc/quote-props'?: Linter.RuleEntry<JsoncQuoteProps>;
903
+ /**
904
+ * enforce use of double or single quotes
905
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
906
+ */
907
+ 'jsonc/quotes'?: Linter.RuleEntry<JsoncQuotes>;
908
+ /**
909
+ * require array values to be sorted
910
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
911
+ */
912
+ 'jsonc/sort-array-values'?: Linter.RuleEntry<JsoncSortArrayValues>;
913
+ /**
914
+ * require object keys to be sorted
915
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
916
+ */
917
+ 'jsonc/sort-keys'?: Linter.RuleEntry<JsoncSortKeys>;
918
+ /**
919
+ * disallow spaces after unary operators
920
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
921
+ */
922
+ 'jsonc/space-unary-ops'?: Linter.RuleEntry<JsoncSpaceUnaryOps>;
923
+ /**
924
+ * disallow invalid number for JSON
925
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
926
+ */
927
+ 'jsonc/valid-json-number'?: Linter.RuleEntry<[]>;
928
+ /**
929
+ * disallow parsing errors in Vue custom blocks
930
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
931
+ */
932
+ 'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>;
338
933
  /**
339
934
  * Enforce the consistent use of either double or single quotes in JSX attributes
340
935
  * @see https://eslint.org/docs/latest/rules/jsx-quotes
@@ -4473,7 +5068,749 @@ type IndentLegacy = [] | [("tab" | number)] | [("tab" | number), {
4473
5068
  }]; // ----- init-declarations -----
4474
5069
  type InitDeclarations = ([] | ["always"] | [] | ["never"] | ["never", {
4475
5070
  ignoreForLoopInit?: boolean;
4476
- }]); // ----- jsx-quotes -----
5071
+ }]); // ----- jsdoc/check-alignment -----
5072
+ type JsdocCheckAlignment = [] | [{
5073
+ innerIndent?: number;
5074
+ }]; // ----- jsdoc/check-examples -----
5075
+ type JsdocCheckExamples = [] | [{
5076
+ allowInlineConfig?: boolean;
5077
+ baseConfig?: {
5078
+ [k: string]: unknown | undefined;
5079
+ };
5080
+ captionRequired?: boolean;
5081
+ checkDefaults?: boolean;
5082
+ checkEslintrc?: boolean;
5083
+ checkParams?: boolean;
5084
+ checkProperties?: boolean;
5085
+ configFile?: string;
5086
+ exampleCodeRegex?: string;
5087
+ matchingFileName?: string;
5088
+ matchingFileNameDefaults?: string;
5089
+ matchingFileNameParams?: string;
5090
+ matchingFileNameProperties?: string;
5091
+ noDefaultExampleRules?: boolean;
5092
+ paddedIndent?: number;
5093
+ rejectExampleCodeRegex?: string;
5094
+ reportUnusedDisableDirectives?: boolean;
5095
+ }]; // ----- jsdoc/check-indentation -----
5096
+ type JsdocCheckIndentation = [] | [{
5097
+ allowIndentedSections?: boolean;
5098
+ excludeTags?: string[];
5099
+ }]; // ----- jsdoc/check-line-alignment -----
5100
+ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
5101
+ customSpacings?: {
5102
+ postDelimiter?: number;
5103
+ postHyphen?: number;
5104
+ postName?: number;
5105
+ postTag?: number;
5106
+ postType?: number;
5107
+ };
5108
+ disableWrapIndent?: boolean;
5109
+ preserveMainDescriptionPostDelimiter?: boolean;
5110
+ tags?: string[];
5111
+ wrapIndent?: string;
5112
+ }]; // ----- jsdoc/check-param-names -----
5113
+ type JsdocCheckParamNames = [] | [{
5114
+ allowExtraTrailingParamDocs?: boolean;
5115
+ checkDestructured?: boolean;
5116
+ checkRestProperty?: boolean;
5117
+ checkTypesPattern?: string;
5118
+ disableExtraPropertyReporting?: boolean;
5119
+ disableMissingParamChecks?: boolean;
5120
+ enableFixer?: boolean;
5121
+ useDefaultObjectProperties?: boolean;
5122
+ }]; // ----- jsdoc/check-property-names -----
5123
+ type JsdocCheckPropertyNames = [] | [{
5124
+ enableFixer?: boolean;
5125
+ }]; // ----- jsdoc/check-tag-names -----
5126
+ type JsdocCheckTagNames = [] | [{
5127
+ definedTags?: string[];
5128
+ enableFixer?: boolean;
5129
+ inlineTags?: string[];
5130
+ jsxTags?: boolean;
5131
+ typed?: boolean;
5132
+ }]; // ----- jsdoc/check-types -----
5133
+ type JsdocCheckTypes = [] | [{
5134
+ exemptTagContexts?: {
5135
+ tag?: string;
5136
+ types?: (boolean | string[]);
5137
+ }[];
5138
+ noDefaults?: boolean;
5139
+ unifyParentAndChildTypeChecks?: boolean;
5140
+ }]; // ----- jsdoc/check-values -----
5141
+ type JsdocCheckValues = [] | [{
5142
+ allowedAuthors?: string[];
5143
+ allowedLicenses?: (string[] | boolean);
5144
+ licensePattern?: string;
5145
+ numericOnlyVariation?: boolean;
5146
+ }]; // ----- jsdoc/convert-to-jsdoc-comments -----
5147
+ type JsdocConvertToJsdocComments = [] | [{
5148
+ allowedPrefixes?: string[];
5149
+ contexts?: (string | {
5150
+ context?: string;
5151
+ inlineCommentBlock?: boolean;
5152
+ })[];
5153
+ contextsAfter?: (string | {
5154
+ context?: string;
5155
+ inlineCommentBlock?: boolean;
5156
+ })[];
5157
+ contextsBeforeAndAfter?: (string | {
5158
+ context?: string;
5159
+ inlineCommentBlock?: boolean;
5160
+ })[];
5161
+ enableFixer?: boolean;
5162
+ enforceJsdocLineStyle?: ("multi" | "single");
5163
+ lineOrBlockStyle?: ("block" | "line" | "both");
5164
+ }]; // ----- jsdoc/empty-tags -----
5165
+ type JsdocEmptyTags = [] | [{
5166
+ tags?: string[];
5167
+ }]; // ----- jsdoc/escape-inline-tags -----
5168
+ type JsdocEscapeInlineTags = [] | [{
5169
+ allowedInlineTags?: string[];
5170
+ enableFixer?: boolean;
5171
+ fixType?: ("backticks" | "backslash");
5172
+ }]; // ----- jsdoc/implements-on-classes -----
5173
+ type JsdocImplementsOnClasses = [] | [{
5174
+ contexts?: (string | {
5175
+ comment?: string;
5176
+ context?: string;
5177
+ })[];
5178
+ }]; // ----- jsdoc/informative-docs -----
5179
+ type JsdocInformativeDocs = [] | [{
5180
+ aliases?: {
5181
+ [k: string]: string[];
5182
+ };
5183
+ excludedTags?: string[];
5184
+ uselessWords?: string[];
5185
+ }]; // ----- jsdoc/lines-before-block -----
5186
+ type JsdocLinesBeforeBlock = [] | [{
5187
+ checkBlockStarts?: boolean;
5188
+ excludedTags?: string[];
5189
+ ignoreSameLine?: boolean;
5190
+ ignoreSingleLines?: boolean;
5191
+ lines?: number;
5192
+ }]; // ----- jsdoc/match-description -----
5193
+ type JsdocMatchDescription = [] | [{
5194
+ contexts?: (string | {
5195
+ comment?: string;
5196
+ context?: string;
5197
+ })[];
5198
+ mainDescription?: (string | boolean | {
5199
+ match?: (string | boolean);
5200
+ message?: string;
5201
+ });
5202
+ matchDescription?: string;
5203
+ message?: string;
5204
+ nonemptyTags?: boolean;
5205
+ tags?: {
5206
+ [k: string]: (string | true | {
5207
+ match?: (string | true);
5208
+ message?: string;
5209
+ });
5210
+ };
5211
+ }]; // ----- jsdoc/match-name -----
5212
+ type JsdocMatchName = [] | [{
5213
+ match: {
5214
+ allowName?: string;
5215
+ comment?: string;
5216
+ context?: string;
5217
+ disallowName?: string;
5218
+ message?: string;
5219
+ replacement?: string;
5220
+ tags?: string[];
5221
+ }[];
5222
+ }]; // ----- jsdoc/multiline-blocks -----
5223
+ type JsdocMultilineBlocks = [] | [{
5224
+ allowMultipleTags?: boolean;
5225
+ minimumLengthForMultiline?: number;
5226
+ multilineTags?: ("*" | string[]);
5227
+ noFinalLineText?: boolean;
5228
+ noMultilineBlocks?: boolean;
5229
+ noSingleLineBlocks?: boolean;
5230
+ noZeroLineText?: boolean;
5231
+ requireSingleLineUnderCount?: number;
5232
+ singleLineTags?: string[];
5233
+ }]; // ----- jsdoc/no-bad-blocks -----
5234
+ type JsdocNoBadBlocks = [] | [{
5235
+ ignore?: string[];
5236
+ preventAllMultiAsteriskBlocks?: boolean;
5237
+ }]; // ----- jsdoc/no-blank-blocks -----
5238
+ type JsdocNoBlankBlocks = [] | [{
5239
+ enableFixer?: boolean;
5240
+ }]; // ----- jsdoc/no-defaults -----
5241
+ type JsdocNoDefaults = [] | [{
5242
+ contexts?: (string | {
5243
+ comment?: string;
5244
+ context?: string;
5245
+ })[];
5246
+ noOptionalParamNames?: boolean;
5247
+ }]; // ----- jsdoc/no-missing-syntax -----
5248
+ type JsdocNoMissingSyntax = [] | [{
5249
+ contexts?: (string | {
5250
+ comment?: string;
5251
+ context?: string;
5252
+ message?: string;
5253
+ minimum?: number;
5254
+ })[];
5255
+ }]; // ----- jsdoc/no-multi-asterisks -----
5256
+ type JsdocNoMultiAsterisks = [] | [{
5257
+ allowWhitespace?: boolean;
5258
+ preventAtEnd?: boolean;
5259
+ preventAtMiddleLines?: boolean;
5260
+ }]; // ----- jsdoc/no-restricted-syntax -----
5261
+ type JsdocNoRestrictedSyntax = [] | [{
5262
+ contexts: (string | {
5263
+ comment?: string;
5264
+ context?: string;
5265
+ message?: string;
5266
+ })[];
5267
+ }]; // ----- jsdoc/no-types -----
5268
+ type JsdocNoTypes = [] | [{
5269
+ contexts?: (string | {
5270
+ comment?: string;
5271
+ context?: string;
5272
+ })[];
5273
+ }]; // ----- jsdoc/no-undefined-types -----
5274
+ type JsdocNoUndefinedTypes = [] | [{
5275
+ checkUsedTypedefs?: boolean;
5276
+ definedTypes?: string[];
5277
+ disableReporting?: boolean;
5278
+ markVariablesAsUsed?: boolean;
5279
+ }]; // ----- jsdoc/prefer-import-tag -----
5280
+ type JsdocPreferImportTag = [] | [{
5281
+ enableFixer?: boolean;
5282
+ exemptTypedefs?: boolean;
5283
+ outputType?: ("named-import" | "namespaced-import");
5284
+ }]; // ----- jsdoc/require-asterisk-prefix -----
5285
+ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
5286
+ tags?: {
5287
+ always?: string[];
5288
+ any?: string[];
5289
+ never?: string[];
5290
+ };
5291
+ }]; // ----- jsdoc/require-description -----
5292
+ type JsdocRequireDescription = [] | [{
5293
+ checkConstructors?: boolean;
5294
+ checkGetters?: boolean;
5295
+ checkSetters?: boolean;
5296
+ contexts?: (string | {
5297
+ comment?: string;
5298
+ context?: string;
5299
+ })[];
5300
+ descriptionStyle?: ("body" | "tag" | "any");
5301
+ exemptedBy?: string[];
5302
+ }]; // ----- jsdoc/require-description-complete-sentence -----
5303
+ type JsdocRequireDescriptionCompleteSentence = [] | [{
5304
+ abbreviations?: string[];
5305
+ newlineBeforeCapsAssumesBadSentenceEnd?: boolean;
5306
+ tags?: string[];
5307
+ }]; // ----- jsdoc/require-example -----
5308
+ type JsdocRequireExample = [] | [{
5309
+ checkConstructors?: boolean;
5310
+ checkGetters?: boolean;
5311
+ checkSetters?: boolean;
5312
+ contexts?: (string | {
5313
+ comment?: string;
5314
+ context?: string;
5315
+ })[];
5316
+ enableFixer?: boolean;
5317
+ exemptedBy?: string[];
5318
+ exemptNoArguments?: boolean;
5319
+ }]; // ----- jsdoc/require-file-overview -----
5320
+ type JsdocRequireFileOverview = [] | [{
5321
+ tags?: {
5322
+ [k: string]: {
5323
+ initialCommentsOnly?: boolean;
5324
+ mustExist?: boolean;
5325
+ preventDuplicates?: boolean;
5326
+ };
5327
+ };
5328
+ }]; // ----- jsdoc/require-hyphen-before-param-description -----
5329
+ type JsdocRequireHyphenBeforeParamDescription = [] | [("always" | "never")] | [("always" | "never"), {
5330
+ tags?: ({
5331
+ [k: string]: ("always" | "never");
5332
+ } | "any");
5333
+ }]; // ----- jsdoc/require-jsdoc -----
5334
+ type JsdocRequireJsdoc = [] | [{
5335
+ checkAllFunctionExpressions?: boolean;
5336
+ checkConstructors?: boolean;
5337
+ checkGetters?: (boolean | "no-setter");
5338
+ checkSetters?: (boolean | "no-getter");
5339
+ contexts?: (string | {
5340
+ context?: string;
5341
+ inlineCommentBlock?: boolean;
5342
+ minLineCount?: number;
5343
+ })[];
5344
+ enableFixer?: boolean;
5345
+ exemptEmptyConstructors?: boolean;
5346
+ exemptEmptyFunctions?: boolean;
5347
+ exemptOverloadedImplementations?: boolean;
5348
+ fixerMessage?: string;
5349
+ minLineCount?: number;
5350
+ publicOnly?: (boolean | {
5351
+ ancestorsOnly?: boolean;
5352
+ cjs?: boolean;
5353
+ esm?: boolean;
5354
+ window?: boolean;
5355
+ });
5356
+ require?: {
5357
+ ArrowFunctionExpression?: boolean;
5358
+ ClassDeclaration?: boolean;
5359
+ ClassExpression?: boolean;
5360
+ FunctionDeclaration?: boolean;
5361
+ FunctionExpression?: boolean;
5362
+ MethodDefinition?: boolean;
5363
+ };
5364
+ skipInterveningOverloadedDeclarations?: boolean;
5365
+ }]; // ----- jsdoc/require-param -----
5366
+ type JsdocRequireParam = [] | [{
5367
+ autoIncrementBase?: number;
5368
+ checkConstructors?: boolean;
5369
+ checkDestructured?: boolean;
5370
+ checkDestructuredRoots?: boolean;
5371
+ checkGetters?: boolean;
5372
+ checkRestProperty?: boolean;
5373
+ checkSetters?: boolean;
5374
+ checkTypesPattern?: string;
5375
+ contexts?: (string | {
5376
+ comment?: string;
5377
+ context?: string;
5378
+ })[];
5379
+ enableFixer?: boolean;
5380
+ enableRestElementFixer?: boolean;
5381
+ enableRootFixer?: boolean;
5382
+ exemptedBy?: string[];
5383
+ ignoreWhenAllParamsMissing?: boolean;
5384
+ interfaceExemptsParamsCheck?: boolean;
5385
+ unnamedRootBase?: string[];
5386
+ useDefaultObjectProperties?: boolean;
5387
+ }]; // ----- jsdoc/require-param-description -----
5388
+ type JsdocRequireParamDescription = [] | [{
5389
+ contexts?: (string | {
5390
+ comment?: string;
5391
+ context?: string;
5392
+ })[];
5393
+ defaultDestructuredRootDescription?: string;
5394
+ setDefaultDestructuredRootDescription?: boolean;
5395
+ }]; // ----- jsdoc/require-param-name -----
5396
+ type JsdocRequireParamName = [] | [{
5397
+ contexts?: (string | {
5398
+ comment?: string;
5399
+ context?: string;
5400
+ })[];
5401
+ }]; // ----- jsdoc/require-param-type -----
5402
+ type JsdocRequireParamType = [] | [{
5403
+ contexts?: (string | {
5404
+ comment?: string;
5405
+ context?: string;
5406
+ })[];
5407
+ defaultDestructuredRootType?: string;
5408
+ setDefaultDestructuredRootType?: boolean;
5409
+ }]; // ----- jsdoc/require-rejects -----
5410
+ type JsdocRequireRejects = [] | [{
5411
+ contexts?: (string | {
5412
+ comment?: string;
5413
+ context?: string;
5414
+ })[];
5415
+ exemptedBy?: string[];
5416
+ }]; // ----- jsdoc/require-returns -----
5417
+ type JsdocRequireReturns = [] | [{
5418
+ checkConstructors?: boolean;
5419
+ checkGetters?: boolean;
5420
+ contexts?: (string | {
5421
+ comment?: string;
5422
+ context?: string;
5423
+ forceRequireReturn?: boolean;
5424
+ })[];
5425
+ enableFixer?: boolean;
5426
+ exemptedBy?: string[];
5427
+ forceRequireReturn?: boolean;
5428
+ forceReturnsWithAsync?: boolean;
5429
+ publicOnly?: (boolean | {
5430
+ ancestorsOnly?: boolean;
5431
+ cjs?: boolean;
5432
+ esm?: boolean;
5433
+ window?: boolean;
5434
+ });
5435
+ }]; // ----- jsdoc/require-returns-check -----
5436
+ type JsdocRequireReturnsCheck = [] | [{
5437
+ exemptAsync?: boolean;
5438
+ exemptGenerators?: boolean;
5439
+ noNativeTypes?: boolean;
5440
+ reportMissingReturnForUndefinedTypes?: boolean;
5441
+ }]; // ----- jsdoc/require-returns-description -----
5442
+ type JsdocRequireReturnsDescription = [] | [{
5443
+ contexts?: (string | {
5444
+ comment?: string;
5445
+ context?: string;
5446
+ })[];
5447
+ }]; // ----- jsdoc/require-returns-type -----
5448
+ type JsdocRequireReturnsType = [] | [{
5449
+ contexts?: (string | {
5450
+ comment?: string;
5451
+ context?: string;
5452
+ })[];
5453
+ }]; // ----- jsdoc/require-tags -----
5454
+ type JsdocRequireTags = [] | [{
5455
+ tags?: (string | {
5456
+ context?: string;
5457
+ tag?: string;
5458
+ [k: string]: unknown | undefined;
5459
+ })[];
5460
+ }]; // ----- jsdoc/require-template -----
5461
+ type JsdocRequireTemplate = [] | [{
5462
+ exemptedBy?: string[];
5463
+ requireSeparateTemplates?: boolean;
5464
+ }]; // ----- jsdoc/require-throws -----
5465
+ type JsdocRequireThrows = [] | [{
5466
+ contexts?: (string | {
5467
+ comment?: string;
5468
+ context?: string;
5469
+ })[];
5470
+ exemptedBy?: string[];
5471
+ }]; // ----- jsdoc/require-yields -----
5472
+ type JsdocRequireYields = [] | [{
5473
+ contexts?: (string | {
5474
+ comment?: string;
5475
+ context?: string;
5476
+ })[];
5477
+ exemptedBy?: string[];
5478
+ forceRequireNext?: boolean;
5479
+ forceRequireYields?: boolean;
5480
+ next?: boolean;
5481
+ nextWithGeneratorTag?: boolean;
5482
+ withGeneratorTag?: boolean;
5483
+ }]; // ----- jsdoc/require-yields-check -----
5484
+ type JsdocRequireYieldsCheck = [] | [{
5485
+ checkGeneratorsOnly?: boolean;
5486
+ contexts?: (string | {
5487
+ comment?: string;
5488
+ context?: string;
5489
+ })[];
5490
+ next?: boolean;
5491
+ }]; // ----- jsdoc/sort-tags -----
5492
+ type JsdocSortTags = [] | [{
5493
+ alphabetizeExtras?: boolean;
5494
+ linesBetween?: number;
5495
+ reportIntraTagGroupSpacing?: boolean;
5496
+ reportTagGroupSpacing?: boolean;
5497
+ tagExceptions?: {
5498
+ [k: string]: number;
5499
+ };
5500
+ tagSequence?: {
5501
+ tags?: string[];
5502
+ }[];
5503
+ }]; // ----- jsdoc/tag-lines -----
5504
+ type JsdocTagLines = [] | [("always" | "any" | "never")] | [("always" | "any" | "never"), {
5505
+ applyToEndTag?: boolean;
5506
+ count?: number;
5507
+ endLines?: (number | null);
5508
+ maxBlockLines?: (number | null);
5509
+ startLines?: (number | null);
5510
+ startLinesWithNoTags?: number;
5511
+ tags?: {
5512
+ [k: string]: {
5513
+ count?: number;
5514
+ lines?: ("always" | "never" | "any");
5515
+ };
5516
+ };
5517
+ }]; // ----- jsdoc/text-escaping -----
5518
+ type JsdocTextEscaping = [] | [{
5519
+ escapeHTML?: boolean;
5520
+ escapeMarkdown?: boolean;
5521
+ }]; // ----- jsdoc/ts-method-signature-style -----
5522
+ type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
5523
+ enableFixer?: boolean;
5524
+ }]; // ----- jsdoc/ts-no-unnecessary-template-expression -----
5525
+ type JsdocTsNoUnnecessaryTemplateExpression = [] | [{
5526
+ enableFixer?: boolean;
5527
+ }]; // ----- jsdoc/ts-prefer-function-type -----
5528
+ type JsdocTsPreferFunctionType = [] | [{
5529
+ enableFixer?: boolean;
5530
+ }]; // ----- jsdoc/type-formatting -----
5531
+ type JsdocTypeFormatting = [] | [{
5532
+ arrayBrackets?: ("angle" | "square");
5533
+ arrowFunctionPostReturnMarkerSpacing?: string;
5534
+ arrowFunctionPreReturnMarkerSpacing?: string;
5535
+ enableFixer?: boolean;
5536
+ functionOrClassParameterSpacing?: string;
5537
+ functionOrClassPostGenericSpacing?: string;
5538
+ functionOrClassPostReturnMarkerSpacing?: string;
5539
+ functionOrClassPreReturnMarkerSpacing?: string;
5540
+ functionOrClassTypeParameterSpacing?: string;
5541
+ genericAndTupleElementSpacing?: string;
5542
+ genericDot?: boolean;
5543
+ keyValuePostColonSpacing?: string;
5544
+ keyValuePostKeySpacing?: string;
5545
+ keyValuePostOptionalSpacing?: string;
5546
+ keyValuePostVariadicSpacing?: string;
5547
+ methodQuotes?: ("double" | "single");
5548
+ objectFieldIndent?: string;
5549
+ objectFieldQuote?: ("double" | "single" | null);
5550
+ objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak");
5551
+ objectFieldSeparatorOptionalLinebreak?: boolean;
5552
+ objectFieldSeparatorTrailingPunctuation?: boolean;
5553
+ objectTypeBracketSpacing?: string;
5554
+ parameterDefaultValueSpacing?: string;
5555
+ postMethodNameSpacing?: string;
5556
+ postNewSpacing?: string;
5557
+ separatorForSingleObjectField?: boolean;
5558
+ stringQuotes?: ("double" | "single");
5559
+ trailingPunctuationMultilineOnly?: boolean;
5560
+ typeBracketSpacing?: string;
5561
+ unionSpacing?: string;
5562
+ }]; // ----- jsdoc/valid-types -----
5563
+ type JsdocValidTypes = [] | [{
5564
+ allowEmptyNamepaths?: boolean;
5565
+ }]; // ----- jsonc/array-bracket-newline -----
5566
+ type JsoncArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
5567
+ multiline?: boolean;
5568
+ minItems?: (number | null);
5569
+ })]; // ----- jsonc/array-bracket-spacing -----
5570
+ type JsoncArrayBracketSpacing = [] | [("always" | "never")] | [("always" | "never"), {
5571
+ singleValue?: boolean;
5572
+ objectsInArrays?: boolean;
5573
+ arraysInArrays?: boolean;
5574
+ }]; // ----- jsonc/array-element-newline -----
5575
+ type JsoncArrayElementNewline = [] | [(_JsoncArrayElementNewlineBasicConfig | {
5576
+ ArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
5577
+ JSONArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
5578
+ ArrayPattern?: _JsoncArrayElementNewlineBasicConfig;
5579
+ })];
5580
+ type _JsoncArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
5581
+ multiline?: boolean;
5582
+ minItems?: (number | null);
5583
+ }); // ----- jsonc/comma-dangle -----
5584
+ type JsoncCommaDangle = [] | [(_JsoncCommaDangleValue | {
5585
+ arrays?: _JsoncCommaDangleValueWithIgnore;
5586
+ objects?: _JsoncCommaDangleValueWithIgnore;
5587
+ imports?: _JsoncCommaDangleValueWithIgnore;
5588
+ exports?: _JsoncCommaDangleValueWithIgnore;
5589
+ functions?: _JsoncCommaDangleValueWithIgnore;
5590
+ })];
5591
+ type _JsoncCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
5592
+ type _JsoncCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- jsonc/comma-style -----
5593
+ type JsoncCommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
5594
+ exceptions?: {
5595
+ [k: string]: boolean | undefined;
5596
+ };
5597
+ }]; // ----- jsonc/indent -----
5598
+ type JsoncIndent = [] | [("tab" | number)] | [("tab" | number), {
5599
+ SwitchCase?: number;
5600
+ VariableDeclarator?: ((number | ("first" | "off")) | {
5601
+ var?: (number | ("first" | "off"));
5602
+ let?: (number | ("first" | "off"));
5603
+ const?: (number | ("first" | "off"));
5604
+ });
5605
+ outerIIFEBody?: (number | "off");
5606
+ MemberExpression?: (number | "off");
5607
+ FunctionDeclaration?: {
5608
+ parameters?: (number | ("first" | "off"));
5609
+ body?: number;
5610
+ };
5611
+ FunctionExpression?: {
5612
+ parameters?: (number | ("first" | "off"));
5613
+ body?: number;
5614
+ };
5615
+ StaticBlock?: {
5616
+ body?: number;
5617
+ };
5618
+ CallExpression?: {
5619
+ arguments?: (number | ("first" | "off"));
5620
+ };
5621
+ ArrayExpression?: (number | ("first" | "off"));
5622
+ ObjectExpression?: (number | ("first" | "off"));
5623
+ ImportDeclaration?: (number | ("first" | "off"));
5624
+ flatTernaryExpressions?: boolean;
5625
+ offsetTernaryExpressions?: boolean;
5626
+ ignoredNodes?: string[];
5627
+ ignoreComments?: boolean;
5628
+ }]; // ----- jsonc/key-name-casing -----
5629
+ type JsoncKeyNameCasing = [] | [{
5630
+ camelCase?: boolean;
5631
+ PascalCase?: boolean;
5632
+ SCREAMING_SNAKE_CASE?: boolean;
5633
+ "kebab-case"?: boolean;
5634
+ snake_case?: boolean;
5635
+ ignores?: string[];
5636
+ }]; // ----- jsonc/key-spacing -----
5637
+ type JsoncKeySpacing = [] | [({
5638
+ align?: (("colon" | "value") | {
5639
+ mode?: ("strict" | "minimum");
5640
+ on?: ("colon" | "value");
5641
+ beforeColon?: boolean;
5642
+ afterColon?: boolean;
5643
+ });
5644
+ mode?: ("strict" | "minimum");
5645
+ beforeColon?: boolean;
5646
+ afterColon?: boolean;
5647
+ } | {
5648
+ singleLine?: {
5649
+ mode?: ("strict" | "minimum");
5650
+ beforeColon?: boolean;
5651
+ afterColon?: boolean;
5652
+ };
5653
+ multiLine?: {
5654
+ align?: (("colon" | "value") | {
5655
+ mode?: ("strict" | "minimum");
5656
+ on?: ("colon" | "value");
5657
+ beforeColon?: boolean;
5658
+ afterColon?: boolean;
5659
+ });
5660
+ mode?: ("strict" | "minimum");
5661
+ beforeColon?: boolean;
5662
+ afterColon?: boolean;
5663
+ };
5664
+ } | {
5665
+ singleLine?: {
5666
+ mode?: ("strict" | "minimum");
5667
+ beforeColon?: boolean;
5668
+ afterColon?: boolean;
5669
+ };
5670
+ multiLine?: {
5671
+ mode?: ("strict" | "minimum");
5672
+ beforeColon?: boolean;
5673
+ afterColon?: boolean;
5674
+ };
5675
+ align?: {
5676
+ mode?: ("strict" | "minimum");
5677
+ on?: ("colon" | "value");
5678
+ beforeColon?: boolean;
5679
+ afterColon?: boolean;
5680
+ };
5681
+ })]; // ----- jsonc/no-irregular-whitespace -----
5682
+ type JsoncNoIrregularWhitespace = [] | [{
5683
+ skipComments?: boolean;
5684
+ skipStrings?: boolean;
5685
+ skipTemplates?: boolean;
5686
+ skipRegExps?: boolean;
5687
+ skipJSXText?: boolean;
5688
+ }]; // ----- jsonc/no-useless-escape -----
5689
+ type JsoncNoUselessEscape = [] | [{
5690
+ allowRegexCharacters?: string[];
5691
+ }]; // ----- jsonc/object-curly-newline -----
5692
+ type JsoncObjectCurlyNewline = [] | [((("always" | "never") | {
5693
+ multiline?: boolean;
5694
+ minProperties?: number;
5695
+ consistent?: boolean;
5696
+ }) | {
5697
+ ObjectExpression?: (("always" | "never") | {
5698
+ multiline?: boolean;
5699
+ minProperties?: number;
5700
+ consistent?: boolean;
5701
+ });
5702
+ ObjectPattern?: (("always" | "never") | {
5703
+ multiline?: boolean;
5704
+ minProperties?: number;
5705
+ consistent?: boolean;
5706
+ });
5707
+ ImportDeclaration?: (("always" | "never") | {
5708
+ multiline?: boolean;
5709
+ minProperties?: number;
5710
+ consistent?: boolean;
5711
+ });
5712
+ ExportDeclaration?: (("always" | "never") | {
5713
+ multiline?: boolean;
5714
+ minProperties?: number;
5715
+ consistent?: boolean;
5716
+ });
5717
+ })]; // ----- jsonc/object-curly-spacing -----
5718
+ type JsoncObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
5719
+ arraysInObjects?: boolean;
5720
+ objectsInObjects?: boolean;
5721
+ emptyObjects?: ("ignore" | "always" | "never");
5722
+ }]; // ----- jsonc/object-property-newline -----
5723
+ type JsoncObjectPropertyNewline = [] | [{
5724
+ allowAllPropertiesOnSameLine?: boolean;
5725
+ allowMultiplePropertiesPerLine?: boolean;
5726
+ }]; // ----- jsonc/quote-props -----
5727
+ type JsoncQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
5728
+ keywords?: boolean;
5729
+ unnecessary?: boolean;
5730
+ numbers?: boolean;
5731
+ }]); // ----- jsonc/quotes -----
5732
+ type JsoncQuotes = [] | [("single" | "double" | "backtick")] | [("single" | "double" | "backtick"), ("avoid-escape" | {
5733
+ avoidEscape?: boolean;
5734
+ allowTemplateLiterals?: boolean;
5735
+ })]; // ----- jsonc/sort-array-values -----
5736
+ type JsoncSortArrayValues = [{
5737
+ pathPattern: string;
5738
+ order: ((string | {
5739
+ valuePattern?: string;
5740
+ order?: {
5741
+ type?: ("asc" | "desc");
5742
+ caseSensitive?: boolean;
5743
+ natural?: boolean;
5744
+ };
5745
+ })[] | {
5746
+ type?: ("asc" | "desc");
5747
+ caseSensitive?: boolean;
5748
+ natural?: boolean;
5749
+ });
5750
+ minValues?: number;
5751
+ }, ...({
5752
+ pathPattern: string;
5753
+ order: ((string | {
5754
+ valuePattern?: string;
5755
+ order?: {
5756
+ type?: ("asc" | "desc");
5757
+ caseSensitive?: boolean;
5758
+ natural?: boolean;
5759
+ };
5760
+ })[] | {
5761
+ type?: ("asc" | "desc");
5762
+ caseSensitive?: boolean;
5763
+ natural?: boolean;
5764
+ });
5765
+ minValues?: number;
5766
+ })[]]; // ----- jsonc/sort-keys -----
5767
+ type JsoncSortKeys = ([{
5768
+ pathPattern: string;
5769
+ hasProperties?: string[];
5770
+ order: ((string | {
5771
+ keyPattern?: string;
5772
+ order?: {
5773
+ type?: ("asc" | "desc");
5774
+ caseSensitive?: boolean;
5775
+ natural?: boolean;
5776
+ };
5777
+ })[] | {
5778
+ type?: ("asc" | "desc");
5779
+ caseSensitive?: boolean;
5780
+ natural?: boolean;
5781
+ });
5782
+ minKeys?: number;
5783
+ allowLineSeparatedGroups?: boolean;
5784
+ }, ...({
5785
+ pathPattern: string;
5786
+ hasProperties?: string[];
5787
+ order: ((string | {
5788
+ keyPattern?: string;
5789
+ order?: {
5790
+ type?: ("asc" | "desc");
5791
+ caseSensitive?: boolean;
5792
+ natural?: boolean;
5793
+ };
5794
+ })[] | {
5795
+ type?: ("asc" | "desc");
5796
+ caseSensitive?: boolean;
5797
+ natural?: boolean;
5798
+ });
5799
+ minKeys?: number;
5800
+ allowLineSeparatedGroups?: boolean;
5801
+ })[]] | [] | [("asc" | "desc")] | [("asc" | "desc"), {
5802
+ caseSensitive?: boolean;
5803
+ natural?: boolean;
5804
+ minKeys?: number;
5805
+ allowLineSeparatedGroups?: boolean;
5806
+ }]); // ----- jsonc/space-unary-ops -----
5807
+ type JsoncSpaceUnaryOps = [] | [{
5808
+ words?: boolean;
5809
+ nonwords?: boolean;
5810
+ overrides?: {
5811
+ [k: string]: boolean | undefined;
5812
+ };
5813
+ }]; // ----- jsx-quotes -----
4477
5814
  type JsxQuotes = [] | [("prefer-single" | "prefer-double")]; // ----- key-spacing -----
4478
5815
  type KeySpacing = [] | [({
4479
5816
  align?: (("colon" | "value") | {
@@ -11549,7 +12886,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
11549
12886
  exceptRange?: boolean;
11550
12887
  onlyEquality?: boolean;
11551
12888
  }]; // Names of all the configs
11552
- type ConfigNames = 'favorodera/ignores' | 'favorodera/vue' | 'favorodera/typescript' | 'favorodera/stylistic' | 'favorodera/tailwind' | 'favorodera/imports' | 'favorodera/markdown' | 'favorodera/javascript';
12889
+ type ConfigNames = 'favorodera/ignores' | 'favorodera/vue/setup' | 'favorodera/vue/rules' | 'favorodera/typescript/setup' | 'favorodera/typescript/rules' | 'favorodera/stylistic/setup' | 'favorodera/stylistic/rules' | 'favorodera/tailwind/setup' | 'favorodera/tailwind/rules' | 'favorodera/imports/setup' | 'favorodera/imports/rules' | 'favorodera/markdown/setup' | 'favorodera/markdown/rules' | 'favorodera/markdown/disables/code' | 'favorodera/javascript/setup' | 'favorodera/javascript/rules' | 'favorodera/jsonc/setup' | 'favorodera/jsonc/rules' | 'favorodera/jsonc/sort/package-json' | 'favorodera/jsonc/sort/tsconfig-json' | 'favorodera/jsdoc/setup' | 'favorodera/tailwind/rules';
11553
12890
  //#endregion
11554
12891
  //#region src/types/utils.d.ts
11555
12892
  /** ESLint rules configuration with type-safe autocompletion */
@@ -11563,7 +12900,6 @@ type TypedFlatConfigItem = Omit<ConfigWithExtends, 'plugins' | 'rules'> & {
11563
12900
  /**
11564
12901
  * An object containing a name-value mapping of plugin names to plugin objects.
11565
12902
  * When `files` is specified, these plugins are only available to the matching files.
11566
- *
11567
12903
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
11568
12904
  */
11569
12905
  plugins?: Record<string, any>;
@@ -11578,10 +12914,11 @@ interface SharedOptions {
11578
12914
  /** Override rules configuration */
11579
12915
  overrides?: TypedFlatConfigItem['rules'];
11580
12916
  /** File glob patterns to apply configuration to */
11581
- files?: string[];
12917
+ files?: Array<string>;
11582
12918
  }
11583
12919
  //#endregion
11584
12920
  //#region src/configs/vue.d.ts
12921
+ /** Options for configuring Vue single-file component linting rules. */
11585
12922
  type VueConfigOptions = SharedOptions & {
11586
12923
  sfcBlocks?: boolean | Options;
11587
12924
  };
@@ -11591,25 +12928,30 @@ type VueConfigOptions = SharedOptions & {
11591
12928
  * Patterns used to ignore files and directories from ESLint scanning.
11592
12929
  * Can be a list of glob patterns or a function that receives default patterns.
11593
12930
  */
11594
- type IgnoresPatterns = string[] | ((defaults: string[]) => string[]);
12931
+ type IgnoresPatterns = Array<string> | ((defaults: Array<string>) => Array<string>);
11595
12932
  //#endregion
11596
12933
  //#region src/configs/imports.d.ts
12934
+ /** Options for configuring imports linting rules. */
11597
12935
  type ImportsConfigOptions = SharedOptions;
11598
12936
  //#endregion
11599
12937
  //#region src/configs/javascript.d.ts
12938
+ /** Options for configuring JavaScript linting rules. */
11600
12939
  type JavascriptConfigOptions = SharedOptions;
11601
12940
  //#endregion
11602
12941
  //#region src/configs/markdown.d.ts
12942
+ /** Options for configuring Markdown linting rules. */
11603
12943
  type MarkdownConfigOptions = SharedOptions & {
11604
12944
  /** github flavoured markdown */gfm?: boolean;
11605
12945
  };
11606
12946
  //#endregion
11607
12947
  //#region src/configs/stylistic.d.ts
12948
+ /** Options for configuring Stylistic formatting rules. */
11608
12949
  type StylisticConfigOptions = SharedOptions & {
11609
12950
  settings?: Omit<StylisticCustomizeOptions, 'pluginName'>;
11610
12951
  };
11611
12952
  //#endregion
11612
12953
  //#region src/configs/tailwind.d.ts
12954
+ /** Options for configuring Tailwind CSS linting rules. */
11613
12955
  type TailwindConfigOptions = SharedOptions & {
11614
12956
  settings?: {
11615
12957
  /**
@@ -11652,56 +12994,52 @@ type TailwindConfigOptions = SharedOptions & {
11652
12994
  };
11653
12995
  //#endregion
11654
12996
  //#region src/configs/typescript.d.ts
12997
+ /** Options for configuring TypeScript linting rules. */
11655
12998
  type TypescriptConfigOptions = SharedOptions;
11656
12999
  //#endregion
13000
+ //#region src/configs/jsonc.d.ts
13001
+ /** Options for configuring JSON and JSONC linting rules. */
13002
+ type JSONCConfigOptions = SharedOptions;
13003
+ //#endregion
13004
+ //#region src/configs/jsdoc.d.ts
13005
+ /** Options for configuring JSDoc linting rules. */
13006
+ type JSDocConfigOptions = SharedOptions;
13007
+ //#endregion
11657
13008
  //#region src/factory.d.ts
11658
- /** Configuration options for the ESLint flat config */
13009
+ /**
13010
+ * Configuration options for the ESLint flat config.
13011
+ *
13012
+ * By default, all feature configurations are enabled (`true`).
13013
+ * You can disable any feature by setting it to `false`, or customize it by passing its options object.
13014
+ * Note: `ignores` is not a boolean toggle, but accepts patterns or a function.
13015
+ */
11659
13016
  interface ConfigOptions {
11660
- /**
11661
- * Enable Vue linting with optional configuration
11662
- * @default true
11663
- */
13017
+ /** Vue single-file components linting (via `eslint-plugin-vue`). */
11664
13018
  vue?: boolean | VueConfigOptions;
11665
- /**
11666
- * Enable TypeScript linting with optional configuration
11667
- * @default true
11668
- */
13019
+ /** TypeScript language linting (via `typescript-eslint`). */
11669
13020
  typescript?: boolean | TypescriptConfigOptions;
11670
- /**
11671
- * Patterns and files to ignore
11672
- * @default ignoresGlob
11673
- */
13021
+ /** Glob patterns to exclude from linting. */
11674
13022
  ignores?: IgnoresPatterns;
11675
- /**
11676
- * Enable stylistic rules with optional configuration
11677
- * @default true
11678
- */
13023
+ /** Stylistic code formatting rules (via `@stylistic/eslint-plugin`). */
11679
13024
  stylistic?: boolean | StylisticConfigOptions;
11680
- /**
11681
- * Enable Tailwind CSS linting with optional configuration
11682
- * @default true
11683
- */
13025
+ /** Tailwind CSS class sorting and best practices (via `eslint-plugin-better-tailwindcss`). */
11684
13026
  tailwind?: boolean | TailwindConfigOptions;
11685
- /**
11686
- * Enable Imports linting with optional configuration
11687
- * @default true
11688
- */
13027
+ /** Imports sorting and unused imports cleanup (via `eslint-plugin-import-lite` and `eslint-plugin-unused-imports`). */
11689
13028
  imports?: boolean | ImportsConfigOptions;
11690
- /**
11691
- * Enable Markdown linting with optional configuration
11692
- * @default true
11693
- */
13029
+ /** Markdown files and embedded code blocks linting (via `@eslint/markdown`). */
11694
13030
  markdown?: boolean | MarkdownConfigOptions;
11695
- /**
11696
- * Enable Javascript linting with optional configuration
11697
- * @default true
11698
- */
13031
+ /** Core JavaScript language rules (via `@eslint/js`). */
11699
13032
  javascript?: boolean | JavascriptConfigOptions;
13033
+ /** JSON, JSON5, and JSONC files linting and sorting (via `eslint-plugin-jsonc`). */
13034
+ jsonc?: boolean | JSONCConfigOptions;
13035
+ /** JSDoc comments formatting and validation (via `eslint-plugin-jsdoc`). */
13036
+ jsdoc?: boolean | JSDocConfigOptions;
11700
13037
  }
11701
13038
  /**
11702
- * Factory to create a flat ESLint config
11703
- * @param options - Configuration options for the ESLint config
11704
- * @returns Flat ESLint config composer
13039
+ * Factory to create a flat ESLint config.
13040
+ * It builds an ESLint config by sequentially adding sub-configs based on the provided options.
13041
+ * @param options Configuration options for enabling/disabling or configuring specific rule sets.
13042
+ * @returns A flat config composer instance that can be exported directly or further modified.
11705
13043
  */
11706
13044
  declare function factory(options?: ConfigOptions): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
11707
13045
  //#endregion
@@ -11712,9 +13050,9 @@ declare function factory(options?: ConfigOptions): FlatConfigComposer<TypedFlatC
11712
13050
  *
11713
13051
  * Handles both ESM modules (which wrap exports under `.default`) and
11714
13052
  * CJS / plain-object modules uniformly.
11715
- *
11716
- * @param module - A module or a promise that resolves to one
11717
- * @returns The `.default` export if it exists, otherwise the module itself
13053
+ * @template TModule The type of the module being imported.
13054
+ * @param module A module or a promise that resolves to one.
13055
+ * @returns The `.default` export if it exists, otherwise the module itself.
11718
13056
  */
11719
13057
  declare function importModule<TModule>(module: Awaitable<TModule>): Promise<TModule extends {
11720
13058
  default: infer TModuleDefault;