1.2.5 • Published 3 years ago

args-command-parser v1.2.5

Weekly downloads
53
License
MIT
Repository
github
Last release
3 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

3 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.12

4 years ago

1.1.13

4 years ago

1.1.9

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.10-0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.6-2

6 years ago

1.0.6-1

6 years ago

1.0.6-0

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago