Skip to content

Commit

Permalink
fix(check-tag-names): treat keys in tagNamePreference setting as de…
Browse files Browse the repository at this point in the history
…fined so appropriate message will appear and fixer applied
  • Loading branch information
brettz9 committed Jul 12, 2019
1 parent b7bebd1 commit 2a605bf
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/rules/checkTagNames.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@ export default iterateJsdoc(({
const {definedTags = []} = context.options[0] || {};

let definedPreferredTags = [];
let definedNonPreferredTags = [];
const {tagNamePreference} = settings;
if (Object.keys(tagNamePreference).length) {
definedNonPreferredTags = _.keys(tagNamePreference);

// Replace `_.values` with `Object.values` when we may start requiring Node 7+
definedPreferredTags = _.values(tagNamePreference).map((preferredTag) => {
if (typeof preferredTag === 'string') {
Expand All @@ -41,7 +44,7 @@ export default iterateJsdoc(({

jsdoc.tags.forEach((jsdocTag) => {
const tagName = jsdocTag.tag;
if (utils.isValidTag(tagName, [...definedTags, ...definedPreferredTags])) {
if (utils.isValidTag(tagName, [...definedTags, ...definedPreferredTags, ...definedNonPreferredTags])) {
let preferredTagName = utils.getPreferredTagName(
tagName,
true,
Expand Down
38 changes: 38 additions & 0 deletions test/rules/assertions/checkTagNames.js
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,44 @@ export default {
}
`
},
{
code: `
/**
* @abc foo
* @abcd bar
*/
function quux () {
}
`,
errors: [
{
line: 3,
message: 'Invalid JSDoc tag (preference). Replace "abc" JSDoc tag with "abcd".'
}
],
options: [
{
definedTags: ['abcd']
}
],
output: `
/**
* @abcd foo
* @abcd bar
*/
function quux () {
}
`,
settings: {
jsdoc: {
tagNamePreference: {
abc: 'abcd'
}
}
}
}
],
valid: [
Expand Down

0 comments on commit 2a605bf

Please sign in to comment.