diff --git a/src/rules/requireReturnsDescription.js b/src/rules/requireReturnsDescription.js index ca3a67938..01596703d 100644 --- a/src/rules/requireReturnsDescription.js +++ b/src/rules/requireReturnsDescription.js @@ -13,6 +13,12 @@ export default iterateJsdoc(({ }); _.forEach(jsdocTags, (jsdocTag) => { + const type = jsdocTag.type && jsdocTag.type.trim(); + + if (type === 'void' || type === 'undefined') { + return; + } + if (!jsdocTag.description) { report('Missing JSDoc @' + targetTagName + ' description.', null, jsdocTag); } diff --git a/test/rules/assertions/requireReturnsDescription.js b/test/rules/assertions/requireReturnsDescription.js index d4ef61cae..3e334d2ad 100644 --- a/test/rules/assertions/requireReturnsDescription.js +++ b/test/rules/assertions/requireReturnsDescription.js @@ -58,6 +58,26 @@ export default { */ function quux () { + } + ` + }, + { + code: ` + /** + * @returns {undefined} + */ + function quux () { + + } + ` + }, + { + code: ` + /** + * @returns {void} + */ + function quux () { + } ` }