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