JSPM

help-version

1.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 91
  • Score
    100M100P100Q71183F
  • License MIT

Handle --help and --version arguments in your CLI application

Package Exports

  • help-version

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (help-version) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm

help-version

Build Status Dependency Status

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()
//=> "v0.1.0"

if (process.argv.length != 3) {
  // Show help and exit with code 1.
  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.

  1. If --help is found, prints helpText to opts.stdout and calls opts.exit.

  2. 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