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.
npm i yargs --save
#!/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!
#!/usr/bin/env node
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
})
.argv
Run the example above with --help
to see the help for the application.