Yargs

Basic usage

1
2
3
4
5
var argv = require('yargs').argv;

argv._ // [ ... ]
argv.$0 // "node bin/mybin"
argv.verbose // --verbose

Help and version

1
2
3
4
5
6
7
8
9
10
11
12
var argv = require('yargs')

// version
.alias('v', 'version')
.version(function() { return require('../package').version; })
.describe('v', 'show version information')

// help text
.alias('h', 'help')
.help('help')
.usage('Usage: $0 -x [num]')
.showHelpOnFail(false, "Specify --help for available options")

Options

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.option('f', {
alias : 'file',
describe: 'x marks the spot',
type: 'string', /* array | boolean | string */
nargs: 1,
demand: true,
demand: 'file is required',
default: '/etc/passwd'
// also: count:true, requiresArg:true
})

.options({
f: { ... }
})

Examples and more help stuff

1
2
3
4
// more help
.example('...')
.epilog('copyright 2015')
.command('start', 'start a server')

Stacking

1
2
3
  .count('verbose')

argv.verbose // -vvv => 3

Reject non explicits

1
.strict()

Methods

1
2
yargs.showHelp()
yargs.help() //=>string