Skip to content

Commit 1145cd0

Browse files
committed
fix(check-tag-names): loosen tag replacement to allow for no-space if at word boundary (as at end of line)
1 parent 15424f8 commit 1145cd0

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

src/rules/checkTagNames.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ export default iterateJsdoc(({
6060

6161
if (preferredTagName !== tagName) {
6262
report(message, (fixer) => {
63-
const replacement = sourceCode.getText(jsdocNode).replace(`@${tagName} `, `@${preferredTagName} `);
63+
const replacement = sourceCode.getText(jsdocNode).replace(
64+
new RegExp(`@${_.escapeRegExp(tagName)}\\b`),
65+
`@${preferredTagName}`
66+
);
6467

6568
return fixer.replaceText(jsdocNode, replacement);
6669
}, jsdocTag);

test/rules/assertions/checkTagNames.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,39 @@ export default {
373373
}
374374
}
375375
}
376+
},
377+
{
378+
code: `
379+
/**
380+
* @abc
381+
* @abcd
382+
*/
383+
function quux () {
384+
385+
}
386+
`,
387+
errors: [
388+
{
389+
line: 3,
390+
message: 'Invalid JSDoc tag (preference). Replace "abc" JSDoc tag with "abcd".'
391+
}
392+
],
393+
output: `
394+
/**
395+
* @abcd
396+
* @abcd
397+
*/
398+
function quux () {
399+
400+
}
401+
`,
402+
settings: {
403+
jsdoc: {
404+
tagNamePreference: {
405+
abc: 'abcd'
406+
}
407+
}
408+
}
376409
}
377410
],
378411
valid: [

0 commit comments

Comments
 (0)