Name Last Update
..
lib Loading commit data...
locales Loading commit data...
node_modules Loading commit data...
CHANGELOG.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
completion.sh.hbs Loading commit data...
index.js Loading commit data...
package.json Loading commit data...
yargs.js Loading commit data...

Yargs

Build Status Coverage Status NPM version Windows Tests js-standard-style Conventional Commits Gitter

Yargs be a node.js library fer hearties tryin' ter parse optstrings.

Yargs helps you build interactive command line tools, by parsing arguments and generating an elegant user interface. It gives you:

  • commands and (grouped) options (my-program.js serve --port=5000).
  • a dynamically generated help menu based on your arguments.

  • bash-completion shortcuts for commands and options.
  • and tons more.

Installation

npm i yargs --save

Simple Example

#!/usr/bin/env node
const argv = require('yargs').argv

if (argv.ships > 3 && argv.distance < 53.5) {
  console.log('Plunder more riffiwobbles!')
} else {
  console.log('Retreat from the xupptumblers!')
}
$ ./plunder.js --ships=4 --distance=22
Plunder more riffiwobbles!

$ ./plunder.js --ships 12 --distance 98.7
Retreat from the xupptumblers!

Complex Example

#!/usr/bin/env node
const yargs = require('yargs') // eslint-disable-line
  .command('serve', 'start the server', (yargs) => {
    yargs.option('port', {
      describe: 'port to bind on',
      default: 5000
    })    
  }, (argv) => {
    if (argv.verbose) console.info(`start server on :${argv.port}`)
    serve(argv.port)
  })
  .option('verbose', {
    alias: 'v',
    default: false
  })
  .help()
  .argv

Table of Contents