diff --git a/packages/jsdoc/cli.js b/packages/jsdoc/cli.js index 63178b51..0c6c961a 100644 --- a/packages/jsdoc/cli.js +++ b/packages/jsdoc/cli.js @@ -145,7 +145,7 @@ module.exports = (() => { }; // TODO: docs - cli.runCommand = cb => { + cli.runCommand = () => { let cmd; const opts = env.opts; @@ -166,11 +166,13 @@ module.exports = (() => { cmd = cli.main; } - cmd().then(errorCode => { + return cmd().then(errorCode => { if (!errorCode && props.shouldExitWithError) { errorCode = 1; } - cb(errorCode); + + cli.logFinish(); + cli.exit(errorCode || 0); }); }; @@ -385,6 +387,7 @@ module.exports = (() => { }; cli.generateDocs = () => { + let message; const path = require('jsdoc/path'); const resolver = require('jsdoc/tutorial/resolver'); const taffy = require('taffydb').taffy; @@ -421,13 +424,12 @@ module.exports = (() => { return Promise.resolve(publishPromise); } else { - logger.fatal( - `${env.opts.template} does not export a "publish" function. ` + - 'Global "publish" functions are no longer supported.' - ); - } + message = `${env.opts.template} does not export a "publish" function. ` + + 'Global "publish" functions are no longer supported.'; + logger.fatal(message); - return Promise.resolve(); + return Promise.reject(new Error(message)); + } }; // TODO: docs diff --git a/packages/jsdoc/jsdoc.js b/packages/jsdoc/jsdoc.js index bc9d3f0f..bd2d701c 100755 --- a/packages/jsdoc/jsdoc.js +++ b/packages/jsdoc/jsdoc.js @@ -45,18 +45,13 @@ */ global.env = (() => require('./lib/jsdoc/env'))(); -(() => { +(async () => { const cli = require('./cli'); - function cb(errorCode) { - cli.logFinish(); - cli.exit(errorCode || 0); - } - cli.setVersionInfo() .loadConfig() .configureLogger() .logStart(); - cli.runCommand(cb); + await cli.runCommand(); })();