argue-cli
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

argue-cli

NPM version Node version Dependencies status Build status Coverage status Bundle size

A thin and strongly typed CLI arguments parser for Node.js.

Usage

  1. Install
# yarn
yarn add argue-cli
# pnpm
pnpm add argue-cli
# npm
npm i argue-cli
  1. Import in your code and use it!
import { read, end, expect, alias, option, readOptions } from 'argue-cli'

/**
 * Expect and read one of the commands
 */
const command = expect(
  alias('install', 'i'),
  'remove'
)
let options = {}

if (command === 'install') {
  /**
   * Read passed options
   */
  options = readOptions(
    option(alias('save', 'S'), Boolean),
    option(alias('saveDev', 'save-dev', 'D'), Boolean),
    option('workspace', String)
  )
}

/**
 * Read next argument
 */
const packageName = read()

/**
 * Expect end of the arguments
 */
end()

/* ... */

API

Method Description
function read(): string
Read next argument. Throws error if no next argument.
function end(): void
Expectation of the end. Throws an error if there are more arguments left.
function expect(...argRefs: ArgRef[]): string
Expect one of the given arguments.
function alias(name: string, ...aliases: string[]): AliasArgRef
Describe argument with aliases.
function option(argRef: ArgRef, type: PrimitiveConstructor): OptionReader
Describe option with value.
function readOptions(...optionReaders: OptionReader[]): OptionResult
Read options from arguments.

TypeScript

In API section types are described in a simplified way. Detailed example of the types you can see here.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.1.0
    90,122
    • latest

Version History

Package Sidebar

Install

npm i argue-cli

Weekly Downloads

139,370

Version

2.1.0

License

MIT

Unpacked Size

49.3 kB

Total Files

21

Last publish

Collaborators

  • dangreen