yargs
    Overview
    Dependencies
    Versions
    Playground
    Code
    Documentation
    Issues
    Find an Expert
    Career Opportunities
    Alternatives
    Insights & Analysis

yargs

yargs the modern, pirate-themed, successor to optimist.

14.0.0  •  Published 24 days ago  •  by yargs  •  MIT License

Yargs

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


Build Status Coverage Status NPM version js-standard-style Conventional Commits Slack

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').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
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',
    default: false
  })
  .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

Community :

Having problems? want to contribute? join our community slack.

Documentation :

Table of Contents

Dependencies

cliui  ·  decamelize  ·  find-up  ·  get-caller-file  ·  require-directory  ·  require-main-filename  ·  set-blocking  ·  string-width  ·  which-module  ·  y18n  ·  yargs-parser  ·  chai  ·  chalk  ·  coveralls  ·  cpr  ·  cross-spawn  ·  es6-promise  ·  hashish  ·  mocha  ·  nyc  ·  rimraf  ·  standard  ·  standard-version  ·  which  ·  yargs-test-extends

Tags

argument
args
option
parser
parsing
cli
command
Keep your dependencies fresh!
Upgrade your packages safely and continuously.
We run your CI tests and compatability tests on new versions of your packages - to determine which upgrades are safe
Just $9/month per developer

Popularity

Weekly Downloads
28.3M
Stars
6.5K

Issues and PRs

Activity

Last ver 24 days ago
Created 6 years ago
Last commit 1 month ago
2 days between commits

Sustainability

156 contributors

Technology

Node version: 12.4.0
230K unpacked

Legal and Compliance

MIT License
OSI Approved
0 vulnerabilities

Top Experts

Benjamin Coe
Maintainer, 569 commits, 403 merges, 205 PRs
Works at Google
nexdrew
Maintainer, 43 commits, 46 merges, 51 PRs
nexdrew
78 commits
Max Rittmüller
Maintainer, 44 commits, 26 merges, 18 PRs
Works at NewStore
chevtek
22 merges
greenkeeperio-bot
22 commits, 46 PRs
Works at greenkeeperio