A thin and strongly typed CLI arguments parser for Node.js.
- Install
 
# pnpm
pnpm add argue-cli
# yarn
yarn add argue-cli
# npm
npm i argue-cli- 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()
/* ... */| 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. | 
In API section types are described in a simplified way. Detailed example of the types you can see here.