Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jsdoc crashs when parsing empty tags which requires a value #1289

Closed
roipoussiere opened this issue Oct 28, 2016 · 1 comment
Closed

jsdoc crashs when parsing empty tags which requires a value #1289

roipoussiere opened this issue Oct 28, 2016 · 1 comment
Labels
Milestone

Comments

@roipoussiere
Copy link

roipoussiere commented Oct 28, 2016

Given this code:

/**
 * @author
 */
var s = "test_jsdoc";

jsdoc crashs with this stacktrace:

ERROR: The @author tag requires a value. File: test_jsdoc.js, line: 1
ERROR: The @author tag requires a value. File: test_jsdoc.js, line: 4
/usr/lib/node_modules/jsdoc/lib/jsdoc/util/templateHelper.js:554
    var matches = str.match(/^\s?([\s\S]+)\b\s+<(\S+@\S+)>\s?$/);
                     ^

TypeError: Cannot read property 'match' of undefined
    at exports.resolveAuthorLinks (/usr/lib/node_modules/jsdoc/lib/jsdoc/util/templateHelper.js:554:22)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:100:14)
    at Array.forEach (native)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:98:9)
    at template (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1461:21)
    at exports.Template.partial (/usr/lib/node_modules/jsdoc/lib/jsdoc/template.js:60:29)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:33:14)
    at template (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1461:21)
    at exports.Template.partial (/usr/lib/node_modules/jsdoc/lib/jsdoc/template.js:60:29)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:194:14)
    at Array.forEach (native)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:192:10)
    at Array.forEach (native)
    at eval (eval at <anonymous> (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1454:20), <anonymous>:10:10)
    at template (/usr/lib/node_modules/jsdoc/node_modules/underscore/underscore.js:1461:21)
    at exports.Template.partial (/usr/lib/node_modules/jsdoc/lib/jsdoc/template.js:60:29)

Ok, the code is not good, because the @author tag requires a value. But this should only print an ERROR.

@hegemonic hegemonic added this to the 3.5.0 milestone Mar 29, 2017
@hegemonic
Copy link
Contributor

Fixed on master. The fix will be included in JSDoc 3.5.0.

lheberlie added a commit to bsvensson/jsdoc that referenced this issue Aug 15, 2017
3.5.0

* tag '3.5.0': (97 commits)
  3.5.0
  bump revision; start 3.6.0-dev
  update 3.5.0 changelog
  3.5.0 changelog
  reformat changelog
  add yields tag (jsdoc#1388)
  resolve the path to the JS config file before requiring it (jsdoc#1386)
  support namespaces that are also functions (jsdoc#955)
  add hideconstructor tag (jsdoc#952)
  add package tag (jsdoc#962)
  autodetect default and repeatable parameters when a function is assigned to a variable (jsdoc#1054)
  correctly document constructors and instance properties of ES2015 classes (jsdoc#1182)
  add sourceType config option
  fix crash when the author tag is empty (jsdoc#1289)
  add recurseDepth config option (jsdoc#1340)
  support bigint
  support import.meta
  support optional chaining
  support numeric separators
  support dynamic import
  ...

# Conflicts:
#	.eslintrc
#	README.md
#	lib/jsdoc/fs.js
#	lib/jsdoc/opts/args.js
#	lib/jsdoc/src/astbuilder.js
#	lib/jsdoc/src/astnode.js
#	lib/jsdoc/src/handlers.js
#	lib/jsdoc/src/parser.js
#	lib/jsdoc/src/visitor.js
#	lib/jsdoc/src/walker.js
#	lib/jsdoc/tag/dictionary/definitions.js
#	lib/jsdoc/tag/validator.js
#	lib/jsdoc/util/markdown.js
#	lib/jsdoc/util/templateHelper.js
#	package.json
#	templates/default/static/styles/jsdoc-default.css
#	templates/haruki/publish.js
#	test/spec-collection.js
#	test/specs/documentation/defaultparams.js
#	test/specs/documentation/restparams.js
#	test/specs/jsdoc/src/astnode.js
#	test/specs/jsdoc/util/templateHelper.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants