Skip to content

Commit 6baebd6

Browse files
committed
fix(check-tag-names): if user targets aliases for renaming, these should have precedence over natural aliases
1 parent 4c4b9b5 commit 6baebd6

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1232,6 +1232,15 @@ function quux (foo) {
12321232
// Settings: {"jsdoc":{"tagNamePreference":{"param":"arg"}}}
12331233
// Message: Invalid JSDoc tag (preference). Replace "param" JSDoc tag with "arg".
12341234

1235+
/**
1236+
* @arg foo
1237+
*/
1238+
function quux (foo) {
1239+
1240+
}
1241+
// Settings: {"jsdoc":{"tagNamePreference":{"arg":"somethingDifferent"}}}
1242+
// Message: Invalid JSDoc tag (preference). Replace "arg" JSDoc tag with "somethingDifferent".
1243+
12351244
/**
12361245
* @param foo
12371246
*/

src/jsdocUtils.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,18 @@ const getPreferredTagName = (name : string, tagPreference : Object = {}) : strin
6565
return name;
6666
}
6767

68+
if (_.has(tagPreference, name)) {
69+
return tagPreference[name];
70+
}
71+
6872
const preferredTagName = _.findKey(tagNames, (aliases) => {
6973
return aliases.includes(name);
7074
});
71-
7275
if (preferredTagName) {
7376
return preferredTagName;
7477
}
7578

76-
return _.has(tagPreference, name) ? tagPreference[name] : name;
79+
return name;
7780
};
7881

7982
const isValidTag = (name : string, additionalTagNames : Object) : boolean => {

test/rules/assertions/checkTagNames.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,29 @@ export default {
8787
}
8888
}
8989
},
90+
{
91+
code: `
92+
/**
93+
* @arg foo
94+
*/
95+
function quux (foo) {
96+
97+
}
98+
`,
99+
errors: [
100+
{
101+
line: 3,
102+
message: 'Invalid JSDoc tag (preference). Replace "arg" JSDoc tag with "somethingDifferent".'
103+
}
104+
],
105+
settings: {
106+
jsdoc: {
107+
tagNamePreference: {
108+
arg: 'somethingDifferent'
109+
}
110+
}
111+
}
112+
},
90113
{
91114
code: `
92115
/**

0 commit comments

Comments
 (0)