Skip to content

Commit 7dbf61a

Browse files
committed
use command-line-tool
1 parent 131bce7 commit 7dbf61a

4 files changed

Lines changed: 10 additions & 26 deletions

File tree

bin/cli.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var parse = require('../')
44
var commandLineArgs = require('command-line-args')
55
var cliOptions = require('../lib/cli-options')
66
var ansi = require('ansi-escape-sequences')
7+
var tool = require('command-line-tool')
78

89
var cli = commandLineArgs(parse.cliOptions.concat([
910
{ name: 'help', alias: 'h', type: Boolean, description: 'Display this usage.' }
@@ -13,24 +14,17 @@ try {
1314
var usage = cli.getUsage(cliOptions.usage)
1415
var options = cli.parse()
1516
} catch (err) {
16-
stop(err.message, 1)
17+
tool.stop(1, { message: err, usage: usage })
1718
}
1819

1920
if (options.help) {
20-
console.error(usage)
21-
process.exit(0)
21+
tool.stop(0, { usage: usage })
2222
}
2323

2424
var parseStream = parse(options)
2525
.on('error', function (err) {
26-
stop(err.stack, 1)
26+
tool.stop(1, { message: err })
2727
})
2828
parseStream.pipe(process.stdout)
2929

3030
if (!options.src) process.stdin.pipe(parseStream)
31-
32-
function stop (msg, code) {
33-
console.error(ansi.format(msg, 'red'))
34-
console.error(usage)
35-
process.exit(code)
36-
}

es5/jsdoc-parse.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,12 @@ function jsdocParse(options) {
4242
if (options.html) jsdocOptions.configure = path.resolve(__dirname, 'html-conf.json');
4343
jsdocOptions.files = options.files;
4444

45-
var explainStream = jsdoc.createExplainStream(jsdocOptions).once('error', emitError);
46-
47-
var transformedStream = transform().once('error', emitError);
48-
45+
var explainStream = jsdoc.createExplainStream(jsdocOptions);
4946
var outputStream = collectJson(function (data) {
5047
return applyOptions(data, options);
51-
}).once('error', emitError);
52-
53-
function emitError(err) {
54-
outputStream.emit('error', err);
55-
}
48+
});
5649

57-
return connect(explainStream, connect(transformedStream, outputStream));
50+
return connect(explainStream, transform(), outputStream);
5851
}
5952

6053
function applyOptions(data, options) {

lib/jsdoc-parse.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,8 @@ function jsdocParse (options) {
4747
if (options.html) jsdocOptions.configure = path.resolve(__dirname, 'html-conf.json')
4848
jsdocOptions.files = options.files
4949

50-
const explainStream = jsdoc
51-
.createExplainStream(jsdocOptions)
52-
53-
const outputStream = collectJson(function (data) {
54-
return applyOptions(data, options)
55-
})
50+
const explainStream = jsdoc.createExplainStream(jsdocOptions)
51+
const outputStream = collectJson(data => applyOptions(data, options))
5652

5753
return connect(explainStream, transform(), outputStream)
5854
}

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"array-tools": "^2",
3030
"collect-json": "^1.0.1",
3131
"command-line-args": "^2.1.4",
32+
"command-line-tool": "^0.1.0",
3233
"core-js": "^2.0.1",
3334
"feature-detect-es6": "^1.2.0",
3435
"file-set": "~0.2.1",

0 commit comments

Comments
 (0)