You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Justine Kate Catid Miras 5ef3abc3c3 | 12 months ago | |
---|---|---|
.. | ||
build/lib | 12 months ago | |
locales | 12 months ago | |
CHANGELOG.md | 12 months ago | |
LICENSE | 12 months ago | |
README.md | 12 months ago | |
index.js | 12 months ago | |
package.json | 12 months ago | |
yargs.js | 12 months ago |
README.md
Yargs
Yargs be a node.js library fer hearties tryin' ter parse optstrings
Description :
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
Stable version:
npm i yargs
Bleeding edge version with the most recent features:
npm i yargs@next
Usage :
Simple Example
#!/usr/bin/env node
const {argv} = require('yargs')
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
require('yargs') // eslint-disable-line
.command('serve [port]', 'start the server', (yargs) => {
yargs
.positional('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',
type: 'boolean',
description: 'Run with verbose logging'
})
.argv
Run the example above with --help
to see the help for the application.
TypeScript
yargs has type definitions at @types/yargs.
npm i @types/yargs --save-dev
See usage examples in docs.
Webpack
See usage examples of yargs with webpack in docs.
Community :
Having problems? want to contribute? join our community slack.