1.2.5 • Published 2 years ago

args-command-parser v1.2.5

Weekly downloads
53
License
MIT
Repository
github
Last release
2 years ago

args-command-parser

Nodejs minimal opinionated command-line argument parser.

GitHub Build Status Coverage Status Deno Node.js

Installation

npm install args-command-parser

Usage

Assume that we have created JavaScript version of git and execute it like below:

node git.js commit -m "some message" --amend -abc value --between 1 10

Lets first import the parser from args-command-parser:

Node.js

const { parser } = require('args-command-parser');

ES6

import argsCommandParser from 'args-command-parser';

const { parser } = argsCommandParser;

Deno

import { parser } from 'https://deno.land/x/args_command_parser/mod.js';

now lets call the parser and grab the arguments:

const argv = parser().data;

The value of the argv after the running the code above will be:

{
  commands: [ 'commit' ],
  shortSwitches: { m: [ 'some message' ], a: [], b: [], c: [ 'value' ] },
  longSwitches: { amend: [], between: [ '1', '10' ] }
}

args-command-parser by default parse process.argv.slice(2) but you can pass any array of strings to it.

More Details

args-command-parser is an opinionated command-line parser. The idea is that the commands are in the format below:

node <file.js> [command1 [command2 [...]]] [switches]

Command

Commands are the first arguments showing up. These are names without - or --. As soon as a switch is seen, the sequence of commands is considered finished.

Switch

Switches can be in short or long format.

Short Switch

Short Switches are prefixed with - followed by one or more single-character switch. If more than one character is specified, each character is considered a Short Switch. Short Switches can be followed by zero to any number of values.

Long Switch

Long Switches are prefixed with -- followed by the switch name. Long Switches can be followed by zero to any number of values.

License

MIT

1.2.5

2 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.12

3 years ago

1.1.13

3 years ago

1.1.9

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.10-0

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.6-2

5 years ago

1.0.6-1

5 years ago

1.0.6-0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago