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.
Stable version:
npm i yargsBleeding edge version with the most recent features:
npm i yargs@next#!/usr/bin/env node
constargv=require('yargs').argvif(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 [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'}).argvRun the example above with --help to see the help for the application.
yargs has type definitions at @types/yargs.
npm i @types/yargs --save-dev
See usage examples in docs.
See usage examples of yargs with webpack in docs.
Having problems? want to contribute? join our community slack.

