diff --git a/README.md b/README.md index 4c1687534..811193b00 100644 --- a/README.md +++ b/README.md @@ -5477,6 +5477,17 @@ function quux () { function quux () { } + +/** + * Create an array. + * + * @private + * + * @param {string[]} [elem] - Elements to make an array of. + * @param {boolean} [clone] - Optionally clone nodes. + * @returns {string[]} The array of nodes. + */ +function quux () {} ```` diff --git a/src/rules/checkValues.js b/src/rules/checkValues.js index c401e142a..834f2f833 100644 --- a/src/rules/checkValues.js +++ b/src/rules/checkValues.js @@ -78,8 +78,8 @@ export default iterateJsdoc(({ }); utils.forEachPreferredTag('author', (jsdocParameter, targetTagName) => { - const author = jsdocParameter.description; - if (!author.trim()) { + const author = jsdocParameter.description.trim(); + if (!author) { report( `Missing JSDoc @${targetTagName}.`, null, diff --git a/src/rules/emptyTags.js b/src/rules/emptyTags.js index 5ca03d62f..59fee8f20 100644 --- a/src/rules/emptyTags.js +++ b/src/rules/emptyTags.js @@ -33,7 +33,7 @@ export default iterateJsdoc(({ }); emptyTags.forEach((tag) => { const content = tag.name || tag.description || tag.type; - if (content) { + if (content.trim()) { const fix = () => { utils.setTag(tag); }; diff --git a/src/rules/noDefaults.js b/src/rules/noDefaults.js index efaec2a9c..3ae125472 100644 --- a/src/rules/noDefaults.js +++ b/src/rules/noDefaults.js @@ -23,7 +23,7 @@ export default iterateJsdoc(({ }); const defaultTags = utils.getPresentTags(['default', 'defaultvalue']); defaultTags.forEach((tag) => { - if (tag.description) { + if (tag.description.trim()) { utils.reportJSDoc(`Default values are not permitted on @${tag.tag}.`, tag, () => { utils.changeTag(tag, { description: '', diff --git a/src/rules/requireHyphenBeforeParamDescription.js b/src/rules/requireHyphenBeforeParamDescription.js index 722404652..eff16286f 100644 --- a/src/rules/requireHyphenBeforeParamDescription.js +++ b/src/rules/requireHyphenBeforeParamDescription.js @@ -12,7 +12,7 @@ export default iterateJsdoc(({ const checkHyphens = (jsdocTag, targetTagName, circumstance = mainCircumstance) => { const always = !circumstance || circumstance === 'always'; - if (!jsdocTag.description) { + if (!jsdocTag.description.trim()) { return; } diff --git a/src/rules/requireParamDescription.js b/src/rules/requireParamDescription.js index 7bd98043a..0cd154c96 100644 --- a/src/rules/requireParamDescription.js +++ b/src/rules/requireParamDescription.js @@ -5,7 +5,7 @@ export default iterateJsdoc(({ utils, }) => { utils.forEachPreferredTag('param', (jsdocParameter, targetTagName) => { - if (!jsdocParameter.description) { + if (!jsdocParameter.description.trim()) { report( `Missing JSDoc @${targetTagName} "${jsdocParameter.name}" description.`, null, diff --git a/src/rules/requirePropertyDescription.js b/src/rules/requirePropertyDescription.js index 6f7ae51a7..4935dd31d 100644 --- a/src/rules/requirePropertyDescription.js +++ b/src/rules/requirePropertyDescription.js @@ -5,7 +5,7 @@ export default iterateJsdoc(({ utils, }) => { utils.forEachPreferredTag('property', (jsdoc, targetTagName) => { - if (!jsdoc.description) { + if (!jsdoc.description.trim()) { report( `Missing JSDoc @${targetTagName} "${jsdoc.name}" description.`, null, diff --git a/src/rules/requireReturnsDescription.js b/src/rules/requireReturnsDescription.js index 151f37ed5..6e4116389 100644 --- a/src/rules/requireReturnsDescription.js +++ b/src/rules/requireReturnsDescription.js @@ -11,7 +11,7 @@ export default iterateJsdoc(({ return; } - if (!jsdocTag.description) { + if (!jsdocTag.description.trim()) { report(`Missing JSDoc @${targetTagName} description.`, null, jsdocTag); } }); diff --git a/src/rules/validTypes.js b/src/rules/validTypes.js index 6fe8fe2c6..dc7c9e2d4 100644 --- a/src/rules/validTypes.js +++ b/src/rules/validTypes.js @@ -83,7 +83,7 @@ export default iterateJsdoc(({ }; if (tag.tag === 'borrows') { - const thisNamepath = tag.description.replace(asExpression, ''); + const thisNamepath = tag.description.replace(asExpression, '').trim(); if (!asExpression.test(tag.description) || !thisNamepath) { report(`@borrows must have an "as" expression. Found "${tag.description}"`, null, tag); diff --git a/test/rules/assertions/emptyTags.js b/test/rules/assertions/emptyTags.js index 1524e2272..93111ea52 100644 --- a/test/rules/assertions/emptyTags.js +++ b/test/rules/assertions/emptyTags.js @@ -269,5 +269,19 @@ export default { } `, }, + { + code: ` + /** + * Create an array. + * + * @private + * + * @param {string[]} [elem] - Elements to make an array of. + * @param {boolean} [clone] - Optionally clone nodes. + * @returns {string[]} The array of nodes. + */ + function quux () {} + `, + }, ], };