-
-
Notifications
You must be signed in to change notification settings - Fork 169
Closed
Description
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-jsdocversion: 48.2.6