thlorenz / wicked

Generates github wiki compatible API documentation from your project's jsdocs and adds them to your wiki.
https://github.com/thlorenz/wicked
MIT License
51 stars 10 forks source link

Surface JSDoc errors to the user better #1

Closed toddself closed 10 years ago

toddself commented 10 years ago

JSDoc fails on malformed JS files. Sometimes malformed JS files are OK (i.e. JSX for React).

The error is confusing:

13:13:34 ~/src/.../conde/jsxhint:master ✔
↳ wicked
file /usr/local/share/npm/lib/node_modules/wicked/node_modules/jsdoc/package.json
jsdoc /usr/local/share/npm/lib/node_modules/wicked/node_modules/jsdoc/jsdoc.js
info wicked Cloning wiki from git@github.com:CondeNast/JSXHint.wiki.git
ERR! wicked Error: prog /Users/tkenned2/src/conde/jsxhint --destination /var/folders/lq/_krxd6ln1dd2_nghgp82tw08fx_b3n/T/CondeNast-JSXHint/out --configure /usr/local/share/npm/lib/node_modules/wicked/config/jsdocrc.json returned with code 8
ERR! wicked     at ChildProcess.<anonymous> (/usr/local/share/npm/lib/node_modules/wicked/lib/run.js:46:15)
ERR! wicked     at ChildProcess.EventEmitter.emit (events.js:98:17)
ERR! wicked     at maybeClose (child_process.js:735:16)
ERR! wicked     at Process.ChildProcess._handle.onexit (child_process.js:802:5)
ERR! wicked  { [Error: prog /Users/tkenned2/src/conde/jsxhint --destination /var/folders/lq/_krxd6ln1dd2_nghgp82tw08fx_b3n/T/CondeNast-JSXHint/out --configure /usr/local/share/npm/lib/node_modules/wicked/config/jsdocrc.json returned with code 8
ERR! wicked Details:
ERR! wicked Error: prog /Users/tkenned2/src/conde/jsxhint --destination /var/folders/lq/_krxd6ln1dd2_nghgp82tw08fx_b3n/T/CondeNast-JSXHint/out --configure /usr/local/share/npm/lib/node_modules/wicked/config/jsdocrc.json returned with code 8
ERR! wicked     at ChildProcess.<anonymous> (/usr/local/share/npm/lib/node_modules/wicked/lib/run.js:46:15)
ERR! wicked     at ChildProcess.EventEmitter.emit (events.js:98:17)
ERR! wicked     at maybeClose (child_process.js:735:16)
ERR! wicked     at Process.ChildProcess._handle.onexit (child_process.js:802:5)] stdout: '', stderr: '\n' }

The error from JSDoc directly is:

13:15:50 ~/src/.../jsxhint/test:master ✔
↳ jsdoc .

/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:3872
            throw e;
                  ^
Error: Line 8: Unexpected token <
    at throwError (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1156:21)
    at throwUnexpected (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1213:9)
    at parsePrimaryExpression (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1567:16)
    at /usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:3609:38
    at trackLeftHandSideExpressionAllowCall (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:3504:61)
    at parsePostfixExpression (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1703:20)
    at /usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:3609:38
    at parseUnaryExpression (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1784:16)
    at /usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:3609:38
    at parseMultiplicativeExpression (/usr/local/share/npm/lib/node_modules/jsdoc/node_modules/esprima/esprima.js:1790:20)
landau commented 10 years ago

+1

thlorenz commented 10 years ago

wicked now prints all details that jsdoc gives me (which is still not enough).

Please open an issue on jsdoc to get them to provide more detailed errors.