@jsse/eslint-config 0.4.14 → 0.4.16

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @jsse/eslint-config
2
2
 
3
+ ## 0.4.16
4
+
5
+ ### Patch Changes
6
+
7
+ - update react-hooks-plugin
8
+
9
+ ## 0.4.15
10
+
11
+ ### Patch Changes
12
+
13
+ - updated deps
14
+
3
15
  ## 0.4.14
4
16
 
5
17
  ### Patch Changes
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEBUG, VERSION } from "./version-Me0kOJKb.js";
1
+ import { DEBUG, VERSION } from "./version-CmwNgY9_.js";
2
2
  import fs from "node:fs";
3
3
  import process$1 from "node:process";
4
4
  import { EventEmitter } from "events";
package/dist/index.d.ts CHANGED
@@ -3353,7 +3353,7 @@ interface JsdocRuleOptions {
3353
3353
  */
3354
3354
  "jsdoc/check-alignment"?: Linter.RuleEntry<JsdocCheckAlignment>;
3355
3355
  /**
3356
- * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
3356
+ * @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
3357
3357
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
3358
3358
  */
3359
3359
  "jsdoc/check-examples"?: Linter.RuleEntry<JsdocCheckExamples>;
@@ -3368,7 +3368,7 @@ interface JsdocRuleOptions {
3368
3368
  */
3369
3369
  "jsdoc/check-line-alignment"?: Linter.RuleEntry<JsdocCheckLineAlignment>;
3370
3370
  /**
3371
- * Ensures that parameter names in JSDoc match those in the function declaration.
3371
+ * Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
3372
3372
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
3373
3373
  */
3374
3374
  "jsdoc/check-param-names"?: Linter.RuleEntry<JsdocCheckParamNames>;
@@ -3393,7 +3393,7 @@ interface JsdocRuleOptions {
3393
3393
  */
3394
3394
  "jsdoc/check-template-names"?: Linter.RuleEntry<[]>;
3395
3395
  /**
3396
- * Reports invalid types.
3396
+ * Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
3397
3397
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
3398
3398
  */
3399
3399
  "jsdoc/check-types"?: Linter.RuleEntry<JsdocCheckTypes>;
@@ -3408,12 +3408,12 @@ interface JsdocRuleOptions {
3408
3408
  */
3409
3409
  "jsdoc/convert-to-jsdoc-comments"?: Linter.RuleEntry<JsdocConvertToJsdocComments>;
3410
3410
  /**
3411
- * Expects specific tags to be empty of any content.
3411
+ * Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
3412
3412
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
3413
3413
  */
3414
3414
  "jsdoc/empty-tags"?: Linter.RuleEntry<JsdocEmptyTags>;
3415
3415
  /**
3416
- * Reports an issue with any non-constructor function using `@implements`.
3416
+ * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
3417
3417
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
3418
3418
  */
3419
3419
  "jsdoc/implements-on-classes"?: Linter.RuleEntry<JsdocImplementsOnClasses>;
@@ -3443,17 +3443,17 @@ interface JsdocRuleOptions {
3443
3443
  */
3444
3444
  "jsdoc/match-name"?: Linter.RuleEntry<JsdocMatchName>;
3445
3445
  /**
3446
- * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
3446
+ * Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
3447
3447
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
3448
3448
  */
3449
3449
  "jsdoc/multiline-blocks"?: Linter.RuleEntry<JsdocMultilineBlocks>;
3450
3450
  /**
3451
- * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
3451
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
3452
3452
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
3453
3453
  */
3454
3454
  "jsdoc/no-bad-blocks"?: Linter.RuleEntry<JsdocNoBadBlocks>;
3455
3455
  /**
3456
- * Detects and removes extra lines of a blank block description
3456
+ * 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.
3457
3457
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
3458
3458
  */
3459
3459
  "jsdoc/no-blank-block-descriptions"?: Linter.RuleEntry<[]>;
@@ -3483,15 +3483,20 @@ interface JsdocRuleOptions {
3483
3483
  */
3484
3484
  "jsdoc/no-restricted-syntax"?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
3485
3485
  /**
3486
- * This rule reports types being used on `@param` or `@returns`.
3486
+ * This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
3487
3487
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
3488
3488
  */
3489
3489
  "jsdoc/no-types"?: Linter.RuleEntry<JsdocNoTypes>;
3490
3490
  /**
3491
- * Checks that types in jsdoc comments are defined.
3491
+ * Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
3492
3492
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
3493
3493
  */
3494
3494
  "jsdoc/no-undefined-types"?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
3495
+ /**
3496
+ * Prefer `@import` tags to inline `import()` statements.
3497
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
3498
+ */
3499
+ "jsdoc/prefer-import-tag"?: Linter.RuleEntry<JsdocPreferImportTag>;
3495
3500
  /**
3496
3501
  * Reports use of `any` or `*` type
3497
3502
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
@@ -3508,7 +3513,7 @@ interface JsdocRuleOptions {
3508
3513
  */
3509
3514
  "jsdoc/require-asterisk-prefix"?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
3510
3515
  /**
3511
- * Requires that all functions have a description.
3516
+ * Requires that all functions (and potentially other contexts) have a description.
3512
3517
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
3513
3518
  */
3514
3519
  "jsdoc/require-description"?: Linter.RuleEntry<JsdocRequireDescription>;
@@ -3518,7 +3523,7 @@ interface JsdocRuleOptions {
3518
3523
  */
3519
3524
  "jsdoc/require-description-complete-sentence"?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
3520
3525
  /**
3521
- * Requires that all functions have examples.
3526
+ * Requires that all functions (and potentially other contexts) have examples.
3522
3527
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
3523
3528
  */
3524
3529
  "jsdoc/require-example"?: Linter.RuleEntry<JsdocRequireExample>;
@@ -3528,22 +3533,27 @@ interface JsdocRuleOptions {
3528
3533
  */
3529
3534
  "jsdoc/require-file-overview"?: Linter.RuleEntry<JsdocRequireFileOverview>;
3530
3535
  /**
3531
- * Requires a hyphen before the `@param` description.
3536
+ * Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
3532
3537
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
3533
3538
  */
3534
3539
  "jsdoc/require-hyphen-before-param-description"?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
3535
3540
  /**
3536
- * Require JSDoc comments
3541
+ * Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
3537
3542
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
3538
3543
  */
3539
3544
  "jsdoc/require-jsdoc"?: Linter.RuleEntry<JsdocRequireJsdoc>;
3545
+ /**
3546
+ * Requires a description for `@next` tags
3547
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
3548
+ */
3549
+ "jsdoc/require-next-description"?: Linter.RuleEntry<[]>;
3540
3550
  /**
3541
3551
  * Requires a type for `@next` tags
3542
3552
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
3543
3553
  */
3544
3554
  "jsdoc/require-next-type"?: Linter.RuleEntry<[]>;
3545
3555
  /**
3546
- * Requires that all function parameters are documented.
3556
+ * Requires that all function parameters are documented with a `@param` tag.
3547
3557
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
3548
3558
  */
3549
3559
  "jsdoc/require-param"?: Linter.RuleEntry<JsdocRequireParam>;
@@ -3553,12 +3563,12 @@ interface JsdocRuleOptions {
3553
3563
  */
3554
3564
  "jsdoc/require-param-description"?: Linter.RuleEntry<JsdocRequireParamDescription>;
3555
3565
  /**
3556
- * Requires that all function parameters have names.
3566
+ * Requires that all `@param` tags have names.
3557
3567
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
3558
3568
  */
3559
3569
  "jsdoc/require-param-name"?: Linter.RuleEntry<JsdocRequireParamName>;
3560
3570
  /**
3561
- * Requires that each `@param` tag has a `type` value.
3571
+ * Requires that each `@param` tag has a type value (in curly brackets).
3562
3572
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
3563
3573
  */
3564
3574
  "jsdoc/require-param-type"?: Linter.RuleEntry<JsdocRequireParamType>;
@@ -3573,72 +3583,92 @@ interface JsdocRuleOptions {
3573
3583
  */
3574
3584
  "jsdoc/require-property-description"?: Linter.RuleEntry<[]>;
3575
3585
  /**
3576
- * Requires that all function `@property` tags have names.
3586
+ * Requires that all `@property` tags have names.
3577
3587
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
3578
3588
  */
3579
3589
  "jsdoc/require-property-name"?: Linter.RuleEntry<[]>;
3580
3590
  /**
3581
- * Requires that each `@property` tag has a `type` value.
3591
+ * Requires that each `@property` tag has a type value (in curly brackets).
3582
3592
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
3583
3593
  */
3584
3594
  "jsdoc/require-property-type"?: Linter.RuleEntry<[]>;
3585
3595
  /**
3586
- * Requires that returns are documented.
3596
+ * Requires that returns are documented with `@returns`.
3587
3597
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
3588
3598
  */
3589
3599
  "jsdoc/require-returns"?: Linter.RuleEntry<JsdocRequireReturns>;
3590
3600
  /**
3591
- * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
3601
+ * Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
3592
3602
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
3593
3603
  */
3594
3604
  "jsdoc/require-returns-check"?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
3595
3605
  /**
3596
- * Requires that the `@returns` tag has a `description` value.
3606
+ * Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
3597
3607
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
3598
3608
  */
3599
3609
  "jsdoc/require-returns-description"?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
3600
3610
  /**
3601
- * Requires that `@returns` tag has `type` value.
3611
+ * Requires that `@returns` tag has type value (in curly brackets).
3602
3612
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
3603
3613
  */
3604
3614
  "jsdoc/require-returns-type"?: Linter.RuleEntry<JsdocRequireReturnsType>;
3605
3615
  /**
3606
- * Requires template tags for each generic type parameter
3616
+ * Requires tags be present, optionally for specific contexts
3617
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
3618
+ */
3619
+ "jsdoc/require-tags"?: Linter.RuleEntry<JsdocRequireTags>;
3620
+ /**
3621
+ * Requires `@template` tags be present when type parameters are used.
3607
3622
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
3608
3623
  */
3609
3624
  "jsdoc/require-template"?: Linter.RuleEntry<JsdocRequireTemplate>;
3610
3625
  /**
3611
- * Requires that throw statements are documented.
3626
+ * Requires a description for `@template` tags
3627
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
3628
+ */
3629
+ "jsdoc/require-template-description"?: Linter.RuleEntry<[]>;
3630
+ /**
3631
+ * Requires that throw statements are documented with `@throws` tags.
3612
3632
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
3613
3633
  */
3614
3634
  "jsdoc/require-throws"?: Linter.RuleEntry<JsdocRequireThrows>;
3635
+ /**
3636
+ * Requires a description for `@throws` tags
3637
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
3638
+ */
3639
+ "jsdoc/require-throws-description"?: Linter.RuleEntry<[]>;
3615
3640
  /**
3616
3641
  * Requires a type for `@throws` tags
3617
3642
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
3618
3643
  */
3619
3644
  "jsdoc/require-throws-type"?: Linter.RuleEntry<[]>;
3620
3645
  /**
3621
- * Requires yields are documented.
3646
+ * Requires yields are documented with `@yields` tags.
3622
3647
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
3623
3648
  */
3624
3649
  "jsdoc/require-yields"?: Linter.RuleEntry<JsdocRequireYields>;
3625
3650
  /**
3626
- * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
3651
+ * 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).
3627
3652
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
3628
3653
  */
3629
3654
  "jsdoc/require-yields-check"?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
3655
+ /**
3656
+ * Requires a description for `@yields` tags
3657
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
3658
+ */
3659
+ "jsdoc/require-yields-description"?: Linter.RuleEntry<[]>;
3630
3660
  /**
3631
3661
  * Requires a type for `@yields` tags
3632
3662
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
3633
3663
  */
3634
3664
  "jsdoc/require-yields-type"?: Linter.RuleEntry<[]>;
3635
3665
  /**
3636
- * Sorts tags by a specified sequence according to tag name.
3666
+ * Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
3637
3667
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
3638
3668
  */
3639
3669
  "jsdoc/sort-tags"?: Linter.RuleEntry<JsdocSortTags>;
3640
3670
  /**
3641
- * Enforces lines (or no lines) between tags.
3671
+ * Enforces lines (or no lines) before, after, or between tags.
3642
3672
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
3643
3673
  */
3644
3674
  "jsdoc/tag-lines"?: Linter.RuleEntry<JsdocTagLines>;
@@ -3653,7 +3683,7 @@ interface JsdocRuleOptions {
3653
3683
  */
3654
3684
  "jsdoc/type-formatting"?: Linter.RuleEntry<JsdocTypeFormatting>;
3655
3685
  /**
3656
- * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
3686
+ * Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
3657
3687
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
3658
3688
  */
3659
3689
  "jsdoc/valid-types"?: Linter.RuleEntry<JsdocValidTypes>;
@@ -3722,6 +3752,7 @@ type JsdocCheckPropertyNames = [] | [{
3722
3752
  type JsdocCheckTagNames = [] | [{
3723
3753
  definedTags?: string[];
3724
3754
  enableFixer?: boolean;
3755
+ inlineTags?: string[];
3725
3756
  jsxTags?: boolean;
3726
3757
  typed?: boolean;
3727
3758
  }];
@@ -3880,10 +3911,17 @@ type JsdocNoTypes = [] | [{
3880
3911
  }];
3881
3912
  // ----- jsdoc/no-undefined-types -----
3882
3913
  type JsdocNoUndefinedTypes = [] | [{
3914
+ checkUsedTypedefs?: boolean;
3883
3915
  definedTypes?: string[];
3884
3916
  disableReporting?: boolean;
3885
3917
  markVariablesAsUsed?: boolean;
3886
3918
  }];
3919
+ // ----- jsdoc/prefer-import-tag -----
3920
+ type JsdocPreferImportTag = [] | [{
3921
+ enableFixer?: boolean;
3922
+ exemptTypedefs?: boolean;
3923
+ outputType?: "named-import" | "namespaced-import";
3924
+ }];
3887
3925
  // ----- jsdoc/require-asterisk-prefix -----
3888
3926
  type JsdocRequireAsteriskPrefix = [] | ["always" | "never" | "any"] | ["always" | "never" | "any", {
3889
3927
  tags?: {
@@ -4059,6 +4097,14 @@ type JsdocRequireReturnsType = [] | [{
4059
4097
  context?: string;
4060
4098
  })[];
4061
4099
  }];
4100
+ // ----- jsdoc/require-tags -----
4101
+ type JsdocRequireTags = [] | [{
4102
+ tags?: (string | {
4103
+ context?: string;
4104
+ tag?: string;
4105
+ [k: string]: unknown | undefined;
4106
+ })[];
4107
+ }];
4062
4108
  // ----- jsdoc/require-template -----
4063
4109
  type JsdocRequireTemplate = [] | [{
4064
4110
  exemptedBy?: string[];
@@ -4092,7 +4138,6 @@ type JsdocRequireYieldsCheck = [] | [{
4092
4138
  comment?: string;
4093
4139
  context?: string;
4094
4140
  })[];
4095
- exemptedBy?: string[];
4096
4141
  next?: boolean;
4097
4142
  }];
4098
4143
  // ----- jsdoc/sort-tags -----
@@ -4110,6 +4155,7 @@ type JsdocTagLines = [] | ["always" | "any" | "never"] | ["always" | "any" | "ne
4110
4155
  applyToEndTag?: boolean;
4111
4156
  count?: number;
4112
4157
  endLines?: number | null;
4158
+ maxBlockLines?: number | null;
4113
4159
  startLines?: number | null;
4114
4160
  tags?: {
4115
4161
  [k: string]: {
@@ -4133,7 +4179,6 @@ type JsdocTypeFormatting = [] | [{
4133
4179
  objectFieldSeparator?: "comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak";
4134
4180
  objectFieldSeparatorOptionalLinebreak?: boolean;
4135
4181
  objectFieldSeparatorTrailingPunctuation?: boolean;
4136
- propertyQuotes?: "double" | "single" | null;
4137
4182
  separatorForSingleObjectField?: boolean;
4138
4183
  stringQuotes?: "double" | "single";
4139
4184
  typeBracketSpacing?: string;
@@ -4695,7 +4740,7 @@ interface MarkdownRuleOptions {
4695
4740
  * Disallow missing label references
4696
4741
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
4697
4742
  */
4698
- "markdown/no-missing-label-refs"?: Linter.RuleEntry<[]>;
4743
+ "markdown/no-missing-label-refs"?: Linter.RuleEntry<MarkdownNoMissingLabelRefs>;
4699
4744
  /**
4700
4745
  * Disallow link fragments that do not reference valid headings
4701
4746
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-link-fragments.md
@@ -4706,6 +4751,11 @@ interface MarkdownRuleOptions {
4706
4751
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-multiple-h1.md
4707
4752
  */
4708
4753
  "markdown/no-multiple-h1"?: Linter.RuleEntry<MarkdownNoMultipleH1>;
4754
+ /**
4755
+ * Disallow URLs that match defined reference identifiers
4756
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reference-like-urls.md
4757
+ */
4758
+ "markdown/no-reference-like-urls"?: Linter.RuleEntry<[]>;
4709
4759
  /**
4710
4760
  * Disallow reversed link and image syntax
4711
4761
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
@@ -4765,6 +4815,10 @@ type MarkdownNoHtml = [] | [{
4765
4815
  type MarkdownNoMissingAtxHeadingSpace = [] | [{
4766
4816
  checkClosedHeadings?: boolean;
4767
4817
  }];
4818
+ // ----- markdown/no-missing-label-refs -----
4819
+ type MarkdownNoMissingLabelRefs = [] | [{
4820
+ allowLabels?: string[];
4821
+ }];
4768
4822
  // ----- markdown/no-missing-link-fragments -----
4769
4823
  type MarkdownNoMissingLinkFragments = [] | [{
4770
4824
  ignoreCase?: boolean;
@@ -4852,12 +4906,12 @@ interface NRuleOptions {
4852
4906
  */
4853
4907
  "n/no-hide-core-modules"?: Linter.RuleEntry<NNoHideCoreModules>;
4854
4908
  /**
4855
- * disallow `import` declarations which import non-existence modules
4909
+ * disallow `import` declarations which import missing modules
4856
4910
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-import.md
4857
4911
  */
4858
4912
  "n/no-missing-import"?: Linter.RuleEntry<NNoMissingImport>;
4859
4913
  /**
4860
- * disallow `require()` expressions which import non-existence modules
4914
+ * disallow `require()` expressions which import missing modules
4861
4915
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-require.md
4862
4916
  */
4863
4917
  "n/no-missing-require"?: Linter.RuleEntry<NNoMissingRequire>;
@@ -7139,6 +7193,7 @@ type PnpmJsonEnforceCatalog = [] | [{
7139
7193
  reuseExistingCatalog?: boolean;
7140
7194
  conflicts?: "new-catalog" | "overrides" | "error";
7141
7195
  fields?: string[];
7196
+ ignores?: string[];
7142
7197
  }];
7143
7198
  // ----- pnpm/json-prefer-workspace-settings -----
7144
7199
  type PnpmJsonPreferWorkspaceSettings = [] | [{
@@ -8884,6 +8939,10 @@ type StylisticGeneratorStarSpacing = [] | [("before" | "after" | "both" | "neith
8884
8939
  before?: boolean;
8885
8940
  after?: boolean;
8886
8941
  };
8942
+ shorthand?: ("before" | "after" | "both" | "neither") | {
8943
+ before?: boolean;
8944
+ after?: boolean;
8945
+ };
8887
8946
  }];
8888
8947
  // ----- @stylistic/implicit-arrow-linebreak -----
8889
8948
  type StylisticImplicitArrowLinebreak = [] | ["beside" | "below"];
@@ -9129,22 +9188,6 @@ type StylisticKeywordSpacing = [] | [{
9129
9188
  before?: boolean;
9130
9189
  after?: boolean;
9131
9190
  };
9132
- arguments?: {
9133
- before?: boolean;
9134
- after?: boolean;
9135
- };
9136
- as?: {
9137
- before?: boolean;
9138
- after?: boolean;
9139
- };
9140
- async?: {
9141
- before?: boolean;
9142
- after?: boolean;
9143
- };
9144
- await?: {
9145
- before?: boolean;
9146
- after?: boolean;
9147
- };
9148
9191
  boolean?: {
9149
9192
  before?: boolean;
9150
9193
  after?: boolean;
@@ -9209,10 +9252,6 @@ type StylisticKeywordSpacing = [] | [{
9209
9252
  before?: boolean;
9210
9253
  after?: boolean;
9211
9254
  };
9212
- eval?: {
9213
- before?: boolean;
9214
- after?: boolean;
9215
- };
9216
9255
  export?: {
9217
9256
  before?: boolean;
9218
9257
  after?: boolean;
@@ -9241,18 +9280,10 @@ type StylisticKeywordSpacing = [] | [{
9241
9280
  before?: boolean;
9242
9281
  after?: boolean;
9243
9282
  };
9244
- from?: {
9245
- before?: boolean;
9246
- after?: boolean;
9247
- };
9248
9283
  function?: {
9249
9284
  before?: boolean;
9250
9285
  after?: boolean;
9251
9286
  };
9252
- get?: {
9253
- before?: boolean;
9254
- after?: boolean;
9255
- };
9256
9287
  goto?: {
9257
9288
  before?: boolean;
9258
9289
  after?: boolean;
@@ -9285,10 +9316,6 @@ type StylisticKeywordSpacing = [] | [{
9285
9316
  before?: boolean;
9286
9317
  after?: boolean;
9287
9318
  };
9288
- let?: {
9289
- before?: boolean;
9290
- after?: boolean;
9291
- };
9292
9319
  long?: {
9293
9320
  before?: boolean;
9294
9321
  after?: boolean;
@@ -9305,10 +9332,6 @@ type StylisticKeywordSpacing = [] | [{
9305
9332
  before?: boolean;
9306
9333
  after?: boolean;
9307
9334
  };
9308
- of?: {
9309
- before?: boolean;
9310
- after?: boolean;
9311
- };
9312
9335
  package?: {
9313
9336
  before?: boolean;
9314
9337
  after?: boolean;
@@ -9329,10 +9352,6 @@ type StylisticKeywordSpacing = [] | [{
9329
9352
  before?: boolean;
9330
9353
  after?: boolean;
9331
9354
  };
9332
- set?: {
9333
- before?: boolean;
9334
- after?: boolean;
9335
- };
9336
9355
  short?: {
9337
9356
  before?: boolean;
9338
9357
  after?: boolean;
@@ -9377,18 +9396,10 @@ type StylisticKeywordSpacing = [] | [{
9377
9396
  before?: boolean;
9378
9397
  after?: boolean;
9379
9398
  };
9380
- type?: {
9381
- before?: boolean;
9382
- after?: boolean;
9383
- };
9384
9399
  typeof?: {
9385
9400
  before?: boolean;
9386
9401
  after?: boolean;
9387
9402
  };
9388
- using?: {
9389
- before?: boolean;
9390
- after?: boolean;
9391
- };
9392
9403
  var?: {
9393
9404
  before?: boolean;
9394
9405
  after?: boolean;
@@ -9409,6 +9420,54 @@ type StylisticKeywordSpacing = [] | [{
9409
9420
  before?: boolean;
9410
9421
  after?: boolean;
9411
9422
  };
9423
+ arguments?: {
9424
+ before?: boolean;
9425
+ after?: boolean;
9426
+ };
9427
+ as?: {
9428
+ before?: boolean;
9429
+ after?: boolean;
9430
+ };
9431
+ async?: {
9432
+ before?: boolean;
9433
+ after?: boolean;
9434
+ };
9435
+ await?: {
9436
+ before?: boolean;
9437
+ after?: boolean;
9438
+ };
9439
+ eval?: {
9440
+ before?: boolean;
9441
+ after?: boolean;
9442
+ };
9443
+ from?: {
9444
+ before?: boolean;
9445
+ after?: boolean;
9446
+ };
9447
+ get?: {
9448
+ before?: boolean;
9449
+ after?: boolean;
9450
+ };
9451
+ let?: {
9452
+ before?: boolean;
9453
+ after?: boolean;
9454
+ };
9455
+ of?: {
9456
+ before?: boolean;
9457
+ after?: boolean;
9458
+ };
9459
+ set?: {
9460
+ before?: boolean;
9461
+ after?: boolean;
9462
+ };
9463
+ type?: {
9464
+ before?: boolean;
9465
+ after?: boolean;
9466
+ };
9467
+ using?: {
9468
+ before?: boolean;
9469
+ after?: boolean;
9470
+ };
9412
9471
  yield?: {
9413
9472
  before?: boolean;
9414
9473
  after?: boolean;
@@ -9708,6 +9767,18 @@ type StylisticObjectCurlyNewline = [] | [(("always" | "never") | {
9708
9767
  type StylisticObjectCurlySpacing = [] | ["always" | "never"] | ["always" | "never", {
9709
9768
  arraysInObjects?: boolean;
9710
9769
  objectsInObjects?: boolean;
9770
+ overrides?: {
9771
+ ObjectPattern?: "always" | "never";
9772
+ ObjectExpression?: "always" | "never";
9773
+ ImportDeclaration?: "always" | "never";
9774
+ ImportAttributes?: "always" | "never";
9775
+ ExportNamedDeclaration?: "always" | "never";
9776
+ ExportAllDeclaration?: "always" | "never";
9777
+ TSMappedType?: "always" | "never";
9778
+ TSTypeLiteral?: "always" | "never";
9779
+ TSInterfaceBody?: "always" | "never";
9780
+ TSEnumBody?: "always" | "never";
9781
+ };
9711
9782
  }];
9712
9783
  // ----- @stylistic/object-property-newline -----
9713
9784
  type StylisticObjectPropertyNewline = [] | [{
@@ -13842,7 +13913,7 @@ declare function defineConfig(options?: OptionsConfig & Config, ...userConfigs:
13842
13913
  type DefineConfig = typeof defineConfig;
13843
13914
  //#endregion
13844
13915
  //#region src/generated/version.d.ts
13845
- declare const VERSION = "0.4.14";
13916
+ declare const VERSION = "0.4.16";
13846
13917
  declare namespace globs_d_exports {
13847
13918
  export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_JS_SRC_EXT, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_YAML };
13848
13919
  }
@@ -14180,6 +14251,14 @@ declare function importPluginReactRefresh(): Promise<{
14180
14251
  };
14181
14252
  rules: Record<string, any>;
14182
14253
  };
14254
+ next: {
14255
+ plugins: {
14256
+ "react-refresh": {
14257
+ rules: Record<string, any>;
14258
+ };
14259
+ };
14260
+ rules: Record<string, any>;
14261
+ };
14183
14262
  };
14184
14263
  };
14185
14264
  }>;
@@ -14475,6 +14554,14 @@ declare function importReactPlugins(): Promise<{
14475
14554
  };
14476
14555
  rules: Record<string, any>;
14477
14556
  };
14557
+ next: {
14558
+ plugins: {
14559
+ "react-refresh": {
14560
+ rules: Record<string, any>;
14561
+ };
14562
+ };
14563
+ rules: Record<string, any>;
14564
+ };
14478
14565
  };
14479
14566
  };
14480
14567
  }>;
@@ -15416,7 +15503,7 @@ declare function importPluginMarkdown(): Promise<{
15416
15503
  }>;
15417
15504
  declare function importPluginJsdoc(): Promise<{
15418
15505
  pluginJsdoc: eslint0.ESLint.Plugin & {
15419
- configs: Record<`flat/${eslint_plugin_jsdoc0.ConfigGroups}${eslint_plugin_jsdoc0.ConfigVariants}${eslint_plugin_jsdoc0.ErrorLevelVariants}`, eslint0.Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", eslint0.Linter.Config[]>;
15506
+ configs: Record<`flat/${eslint_plugin_jsdoc0.ConfigGroups}${eslint_plugin_jsdoc0.ConfigVariants}${eslint_plugin_jsdoc0.ErrorLevelVariants}`, eslint0.Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", eslint0.Linter.Config[]> & Record<"flat/recommended-mixed", eslint0.Linter.Config[]>;
15420
15507
  };
15421
15508
  }>;
15422
15509
  declare function importPluginTsdoc(): Promise<{
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { __commonJS, __export, __toESM } from "./chunk-Bb8Gnt67.js";
2
- import { DEBUG, SLOW_RULES, VERSION } from "./version-Me0kOJKb.js";
2
+ import { DEBUG, SLOW_RULES, VERSION } from "./version-CmwNgY9_.js";
3
3
  import { builtinModules, createRequire } from "node:module";
4
4
  import fs, { promises, realpathSync, statSync } from "node:fs";
5
5
  import process$1 from "node:process";
@@ -33,7 +33,7 @@ const SLOW_RULES = [
33
33
 
34
34
  //#endregion
35
35
  //#region src/generated/version.ts
36
- const VERSION = "0.4.14";
36
+ const VERSION = "0.4.16";
37
37
 
38
38
  //#endregion
39
39
  export { DEBUG, SLOW_RULES, VERSION };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.4.14",
4
+ "version": "0.4.16",
5
5
  "description": "@jsse/eslint-config ~ WYSIWYG",
6
6
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
7
7
  "license": "MIT",
@@ -36,10 +36,10 @@
36
36
  "dist"
37
37
  ],
38
38
  "peerDependencies": {
39
- "@eslint-react/eslint-plugin": "^1.38.4",
39
+ "@eslint-react/eslint-plugin": "^2.0.4",
40
40
  "eslint": "^9.10.0",
41
41
  "eslint-plugin-react": "~7.37.1",
42
- "eslint-plugin-react-hooks": "^5.2.0",
42
+ "eslint-plugin-react-hooks": "^6.1.0",
43
43
  "eslint-plugin-react-refresh": "^0.4.19"
44
44
  },
45
45
  "peerDependenciesMeta": {
@@ -61,64 +61,63 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
64
- "@eslint/compat": "^1.3.2",
65
- "@eslint/js": "~9.35.0",
66
- "@eslint/markdown": "^7.2.0",
67
- "@stylistic/eslint-plugin": "5.3.1",
68
- "@typescript-eslint/eslint-plugin": "^8.44.0",
69
- "@typescript-eslint/parser": "^8.44.0",
70
- "@vitest/eslint-plugin": "^1.3.10",
64
+ "@eslint/compat": "^1.4.0",
65
+ "@eslint/js": "~9.36.0",
66
+ "@eslint/markdown": "^7.3.0",
67
+ "@stylistic/eslint-plugin": "5.4.0",
68
+ "@typescript-eslint/eslint-plugin": "^8.45.0",
69
+ "@typescript-eslint/parser": "^8.45.0",
70
+ "@vitest/eslint-plugin": "^1.3.13",
71
71
  "debug": "^4.4.3",
72
72
  "eslint-config-flat-gitignore": "^2.1.0",
73
73
  "eslint-merge-processors": "^2.0.0",
74
74
  "eslint-plugin-antfu": "^3.1.1",
75
75
  "eslint-plugin-command": "^3.3.1",
76
- "eslint-plugin-de-morgan": "^1.3.1",
76
+ "eslint-plugin-de-morgan": "^2.0.0",
77
77
  "eslint-plugin-import-lite": "^0.3.0",
78
- "eslint-plugin-jsdoc": "^58.1.0",
78
+ "eslint-plugin-jsdoc": "^60.7.0",
79
79
  "eslint-plugin-jsonc": "^2.20.1",
80
- "eslint-plugin-n": "^17.23.0",
80
+ "eslint-plugin-n": "^17.23.1",
81
81
  "eslint-plugin-no-only-tests": "^3.3.0",
82
82
  "eslint-plugin-perfectionist": "^4.15.0",
83
- "eslint-plugin-pnpm": "^1.1.1",
83
+ "eslint-plugin-pnpm": "^1.2.0",
84
84
  "eslint-plugin-react": "~7.37.5",
85
- "eslint-plugin-react-hooks": "~5.2.0",
86
- "eslint-plugin-react-refresh": "~0.4.20",
85
+ "eslint-plugin-react-hooks": "~6.1.0",
86
+ "eslint-plugin-react-refresh": "~0.4.23",
87
87
  "eslint-plugin-toml": "^0.12.0",
88
88
  "eslint-plugin-tsdoc": "^0.4.0",
89
89
  "eslint-plugin-unicorn": "^61.0.2",
90
90
  "eslint-plugin-unused-imports": "^4.2.0",
91
91
  "eslint-plugin-yml": "^1.18.0",
92
- "jsonc-eslint-parser": "^2.4.0",
92
+ "jsonc-eslint-parser": "^2.4.1",
93
93
  "toml-eslint-parser": "^0.10.0",
94
- "typescript-eslint": "^8.44.0",
94
+ "typescript-eslint": "^8.45.0",
95
95
  "yaml-eslint-parser": "^1.3.0"
96
96
  },
97
97
  "devDependencies": {
98
- "@biomejs/biome": "2.2.4",
99
98
  "@changesets/cli": "^2.29.7",
100
99
  "@jsse/prettier-config": "^1.0.0",
101
- "@jsse/tsconfig": "^0.3.0",
100
+ "@jsse/tsconfig": "^0.4.0",
102
101
  "@types/debug": "^4.1.12",
103
102
  "@types/fs-extra": "^11.0.4",
104
- "@types/node": "^24.5.0",
103
+ "@types/node": "^24.6.1",
105
104
  "cac": "^6.7.14",
106
- "eslint": "^9.35.0",
107
- "eslint-flat-config-utils": "^2.1.1",
105
+ "eslint": "^9.36.0",
106
+ "eslint-flat-config-utils": "^2.1.4",
108
107
  "eslint-typegen": "^2.3.0",
109
108
  "execa": "~9.6.0",
110
109
  "fast-glob": "^3.3.3",
111
110
  "fs-extra": "^11.3.2",
112
111
  "globals": "^16.4.0",
113
112
  "local-pkg": "^1.1.2",
114
- "oxlint": "^1.15.0",
113
+ "oxlint": "^1.19.0",
115
114
  "picocolors": "^1.1.1",
116
115
  "prettier": "^3.6.2",
117
116
  "react": "~19.1.1",
118
117
  "rimraf": "^6.0.1",
119
- "tsdown": "^0.15.1",
120
- "tsx": "^4.20.5",
121
- "typescript": "~5.9.2",
118
+ "tsdown": "^0.15.6",
119
+ "tsx": "^4.20.6",
120
+ "typescript": "~5.9.3",
122
121
  "vitest": "^3.2.4"
123
122
  },
124
123
  "prettier": "@jsse/prettier-config",