Skip to content

Commit 2a605bf

Browse files
committed
fix(check-tag-names): treat keys in tagNamePreference setting as defined so appropriate message will appear and fixer applied
1 parent b7bebd1 commit 2a605bf

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

src/rules/checkTagNames.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ export default iterateJsdoc(({
1616
const {definedTags = []} = context.options[0] || {};
1717

1818
let definedPreferredTags = [];
19+
let definedNonPreferredTags = [];
1920
const {tagNamePreference} = settings;
2021
if (Object.keys(tagNamePreference).length) {
22+
definedNonPreferredTags = _.keys(tagNamePreference);
23+
2124
// Replace `_.values` with `Object.values` when we may start requiring Node 7+
2225
definedPreferredTags = _.values(tagNamePreference).map((preferredTag) => {
2326
if (typeof preferredTag === 'string') {
@@ -41,7 +44,7 @@ export default iterateJsdoc(({
4144

4245
jsdoc.tags.forEach((jsdocTag) => {
4346
const tagName = jsdocTag.tag;
44-
if (utils.isValidTag(tagName, [...definedTags, ...definedPreferredTags])) {
47+
if (utils.isValidTag(tagName, [...definedTags, ...definedPreferredTags, ...definedNonPreferredTags])) {
4548
let preferredTagName = utils.getPreferredTagName(
4649
tagName,
4750
true,

test/rules/assertions/checkTagNames.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,44 @@ export default {
335335
336336
}
337337
`
338+
},
339+
{
340+
code: `
341+
/**
342+
* @abc foo
343+
* @abcd bar
344+
*/
345+
function quux () {
346+
347+
}
348+
`,
349+
errors: [
350+
{
351+
line: 3,
352+
message: 'Invalid JSDoc tag (preference). Replace "abc" JSDoc tag with "abcd".'
353+
}
354+
],
355+
options: [
356+
{
357+
definedTags: ['abcd']
358+
}
359+
],
360+
output: `
361+
/**
362+
* @abcd foo
363+
* @abcd bar
364+
*/
365+
function quux () {
366+
367+
}
368+
`,
369+
settings: {
370+
jsdoc: {
371+
tagNamePreference: {
372+
abc: 'abcd'
373+
}
374+
}
375+
}
338376
}
339377
],
340378
valid: [

0 commit comments

Comments
 (0)