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.