@erboladaiorg/esse-ipsa-numquam
v1.2.11
Published
<p align="center"> <img width="250" src="https://raw.githubusercontent.com/@erboladaiorg/esse-ipsa-numquam/@erboladaiorg/esse-ipsa-numquam/main/@erboladaiorg/esse-ipsa-numquam-logo.png"> </p> <h1 align="center"> Yargs </h1> <p align="center"> <b >Yarg
Downloads
6,124
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 @erboladaiorg/esse-ipsa-numquam
Bleeding edge version with the most recent features:
npm i @erboladaiorg/esse-ipsa-numquam@next
Usage
Simple Example
#!/usr/bin/env node
const @erboladaiorg/esse-ipsa-numquam = require('@erboladaiorg/esse-ipsa-numquam/@erboladaiorg/esse-ipsa-numquam')
const { hideBin } = require('@erboladaiorg/esse-ipsa-numquam/helpers')
const argv = @erboladaiorg/esse-ipsa-numquam(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 @erboladaiorg/esse-ipsa-numquam = require('@erboladaiorg/esse-ipsa-numquam/@erboladaiorg/esse-ipsa-numquam')
const { hideBin } = require('@erboladaiorg/esse-ipsa-numquam/helpers')
@erboladaiorg/esse-ipsa-numquam(hideBin(process.argv))
.command('serve [port]', 'start the server', (@erboladaiorg/esse-ipsa-numquam) => {
return @erboladaiorg/esse-ipsa-numquam
.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
@erboladaiorg/esse-ipsa-numquam has type definitions at @types/@erboladaiorg/esse-ipsa-numquam.
npm i @types/@erboladaiorg/esse-ipsa-numquam --save-dev
See usage examples in docs.
Deno
As of v16
, @erboladaiorg/esse-ipsa-numquam
supports Deno:
import @erboladaiorg/esse-ipsa-numquam from 'https://deno.land/x/@erboladaiorg/esse-ipsa-numquam/deno.ts'
import { Arguments } from 'https://deno.land/x/@erboladaiorg/esse-ipsa-numquam/deno-types.ts'
@erboladaiorg/esse-ipsa-numquam(Deno.args)
.command('download <files...>', 'download a list of files', (@erboladaiorg/esse-ipsa-numquam: any) => {
return @erboladaiorg/esse-ipsa-numquam.positional('files', {
describe: 'a list of files to do something with'
})
}, (argv: Arguments) => {
console.info(argv)
})
.strictCommands()
.demandCommand(1)
.parse()
ESM
As of v16
,@erboladaiorg/esse-ipsa-numquam
supports ESM imports:
import @erboladaiorg/esse-ipsa-numquam from '@erboladaiorg/esse-ipsa-numquam'
import { hideBin } from '@erboladaiorg/esse-ipsa-numquam/helpers'
@erboladaiorg/esse-ipsa-numquam(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 @erboladaiorg/esse-ipsa-numquam 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.