30eef7d036 | ||
---|---|---|
.. | ||
lib | ||
locales | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
completion.sh.hbs | ||
index.js | ||
package.json | ||
yargs.js |
README.md
Yargs
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