
help-version

Anything you wanted to do with --help
and --version
:
- checks these arguments in
process.argv
, so you don't have to; - extracts
version
from your package.json
file; - returns functions that give you both
--help
and --version
, in case you need to handle them differently; - returns the function that prints
--help
and exits with the given code; - highly configurable: you can set
process.argv
, stdout
and stderr
streams, and even process.exit
function — this means testing won't be a problem.
Example
#!/usr/bin/env node
var Cli = require('help-version');
var cli = Cli('Usage: my-cat [file]');
cli.version()
if (process.argv.length != 3) {
cli.help(1);
}
fs.createReadStream(process.argv[2])
.pipe(process.stdout);
Catches --help
and --version
automatically.
$ ./cat.js --help
Usage: my-cat [file]
$ ./cat.js --version
v0.1.0
$ ./cat.js file.txt
contents of file.txt
API
cli = Cli(helpText, [opts])
helpText
{String | Function} — help text to print on --help
, or function to produce it.
Checks opts.argv
for --help
or --version
.
-
If --help
is found, prints helpText
to opts.stdout
and calls opts.exit
.
-
If --version
is found, prints app version (determined from the version
field from your local package.json
) to opts.stdout
and calls opts.exit
.
Returns object with two (bound) methods: cli.help([code], [stream])
and cli.version([code], [stream])
.
Option | Default |
---|
argv | process.argv.slice(2) |
exit([code]) | process.exit |
stdout | process.stdout |
stderr | process.stderr |
cli.help([code], [stream])
With no arguments, returns the help string.
With one or two arguments, writes it to stream
instead and exits (via opts.exit
) with code
. stream
defaults to opts.stdout
if code==0
and opts.stderr
otherwise.
cli.version([code], [stream])
With no arguments, returns the version string.
With one or two arguments, writes it to the stream
instead and exits (via opts.exit
) with code
. stream
defaults to opts.stdout
if code==0
and opts.stderr
otherwise.
Install
npm install help-version
License
MIT