@taktikorg/accusamus-quod-debitis
v4.7.84
Published
<p align="center"> <img width="250" src="https://raw.githubusercontent.com/@taktikorg/accusamus-quod-debitis/@taktikorg/accusamus-quod-debitis/main/@taktikorg/accusamus-quod-debitis-logo.png"> </p> <h1 align="center"> Yargs </h1> <p align="center"> <b
Downloads
1,684
Maintainers
Keywords
Readme
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:
mocha [spec..]
Run tests with Mocha
Commands
mocha inspect [spec..] Run tests with Mocha [default]
mocha init <path> create a client-side Mocha setup at <path>
Rules & Behavior
--allow-uncaught Allow uncaught errors to propagate [boolean]
--async-only, -A Require all tests to use a callback (async) or
return a Promise [boolean]
- bash-completion shortcuts for commands and options.
- and tons more.
Installation
Stable version:
npm i @taktikorg/accusamus-quod-debitis
Bleeding edge version with the most recent features:
npm i @taktikorg/accusamus-quod-debitis@next
Usage
Simple Example
#!/usr/bin/env node
const @taktikorg/accusamus-quod-debitis = require('@taktikorg/accusamus-quod-debitis/@taktikorg/accusamus-quod-debitis')
const { hideBin } = require('@taktikorg/accusamus-quod-debitis/helpers')
const argv = @taktikorg/accusamus-quod-debitis(hideBin(process.argv)).parse()
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!
Note:
hideBin
is a shorthand forprocess.argv.slice(2)
. It has the benefit that it takes into account variations in some environments, e.g., Electron.
Complex Example
#!/usr/bin/env node
const @taktikorg/accusamus-quod-debitis = require('@taktikorg/accusamus-quod-debitis/@taktikorg/accusamus-quod-debitis')
const { hideBin } = require('@taktikorg/accusamus-quod-debitis/helpers')
@taktikorg/accusamus-quod-debitis(hideBin(process.argv))
.command('serve [port]', 'start the server', (@taktikorg/accusamus-quod-debitis) => {
return @taktikorg/accusamus-quod-debitis
.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'
})
.parse()
Run the example above with --help
to see the help for the application.
Supported Platforms
TypeScript
@taktikorg/accusamus-quod-debitis has type definitions at @types/@taktikorg/accusamus-quod-debitis.
npm i @types/@taktikorg/accusamus-quod-debitis --save-dev
See usage examples in docs.
Deno
As of v16
, @taktikorg/accusamus-quod-debitis
supports Deno:
import @taktikorg/accusamus-quod-debitis from 'https://deno.land/x/@taktikorg/accusamus-quod-debitis/deno.ts'
import { Arguments } from 'https://deno.land/x/@taktikorg/accusamus-quod-debitis/deno-types.ts'
@taktikorg/accusamus-quod-debitis(Deno.args)
.command('download <files...>', 'download a list of files', (@taktikorg/accusamus-quod-debitis: any) => {
return @taktikorg/accusamus-quod-debitis.positional('files', {
describe: 'a list of files to do something with'
})
}, (argv: Arguments) => {
console.info(argv)
})
.strictCommands()
.demandCommand(1)
.parse()
ESM
As of v16
,@taktikorg/accusamus-quod-debitis
supports ESM imports:
import @taktikorg/accusamus-quod-debitis from '@taktikorg/accusamus-quod-debitis'
import { hideBin } from '@taktikorg/accusamus-quod-debitis/helpers'
@taktikorg/accusamus-quod-debitis(hideBin(process.argv))
.command('curl <url>', 'fetch the contents of the URL', () => {}, (argv) => {
console.info(argv)
})
.demandCommand(1)
.parse()
Usage in Browser
See examples of using @taktikorg/accusamus-quod-debitis in the browser in docs.
Community
Having problems? want to contribute? join our community slack.
Documentation
Table of Contents
Supported Node.js Versions
Libraries in this ecosystem make a best effort to track Node.js' release schedule. Here's a post on why we think this is important.