Skip to content

TrigenSoftware/Argue

Repository files navigation

argue-cli

ESM-only package NPM version Node version Dependencies status Install size Build status Coverage status

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

Usage

  1. Install
# pnpm pnpm add argue-cli # yarn yarn 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.

About

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

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors