Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jsdoc/match-name do not match correctly when default value of @template contains spaces #1233

Closed
Arkellys opened this issue May 29, 2024 · 1 comment · Fixed by #1234 or abdulrahman305/mockoon#4 · May be fixed by junsulee/juice-shop#4

Comments

@Arkellys
Copy link

Expected behavior

I expect the rule jsdoc/match-name to ignore the default param passed to @template when testing the name, whether or not the value contains spaces. It works correctly when the same rules are applied on @property.

Actual behavior

Currently jsdoc/match-name fails when the default value passed to a @template contains space.

ESLint Config

"jsdoc/match-name": ["warn", {
   match: [
    {
      allowName: "/^[A-Z]{1}$/",
      message: "The name should be a single capital letter.",
      tags: ["template"]
    }
  ]
}]

Full config available here.

ESLint sample

This fails:

/**
 * @template {string} [T=typeof FOO]  ->  The name should be a single capital letter. eslint(jsdoc/match-name)
 * @typedef {object} Test
 * @property {T} test
 */

These passes:

/**
 * @template {string} [T="foo"]
 * @typedef {object} Test
 * @property {T} test
 */
/**
 * @template {string} T
 * @typedef {object} Test
 * @property {T} test
 */

Note that the space also messes up with the rule jsdoc/require-hyphen-before-param-description, and auto fix will do:

@template [T=typeof - FOO]

Environment

  • Node version: 20.9.0
  • ESLint version: 8.57.0
  • eslint-plugin-jsdoc version: 48.2.6
brettz9 added a commit to brettz9/eslint-plugin-jsdoc that referenced this issue May 29, 2024
brettz9 added a commit that referenced this issue May 29, 2024
Also:
- chore: bump devDeps.
Copy link

🎉 This issue has been resolved in version 48.2.7 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment