min

minimist

parse argument options

Showing:

Popularity

Downloads/wk

39.3M

GitHub Stars

4.9K

Maintenance

Last Commit

2yrs ago

Contributors

16

Package

Dependencies

0

Size (min+gzip)

1.3KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Reviews

Average Rating

4.0/53
Read All Reviews
abhinavdc
mildly
frilox042

Top Feedback

3Easy to Use
2Great Documentation
1Buggy

Readme

minimist

parse argument options

This module is the guts of optimist's argument parser without all the fanciful decoration.

example

var argv = require('minimist')(process.argv.slice(2));
console.log(argv);
$ node example/parse.js -a beep -b boop
{ _: [], a: 'beep', b: 'boop' }
$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
{ _: [ 'foo', 'bar', 'baz' ],
  x: 3,
  y: 4,
  n: 5,
  a: true,
  b: true,
  c: true,
  beep: 'boop' }

security

Previous versions had a prototype pollution bug that could cause privilege escalation in some circumstances when handling untrusted user input.

Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764

methods

var parseArgs = require('minimist')

var argv = parseArgs(args, opts={})

Return an argument object argv populated with the array arguments from args.

argv._ contains all the arguments that didn't have an option associated with them.

Numeric-looking arguments will be returned as numbers unless opts.string or opts.boolean is set for that argument name.

Any arguments after '--' will not be parsed and will end up in argv._.

options can be:

  • opts.string - a string or array of strings argument names to always treat as strings

  • opts.boolean - a boolean, string or array of strings to always treat as booleans. if true will treat all double hyphenated arguments without equal signs as boolean (e.g. affects --foo, not -f or --foo=bar)

  • opts.alias - an object mapping string names to strings or arrays of string argument names to use as aliases

  • opts.default - an object mapping string argument names to default values

  • opts.stopEarly - when true, populate argv._ with everything after the first non-option

  • opts['--'] - when true, populate argv._ with everything before the -- and argv['--'] with everything after the --. Here's an example:

    > require('./')('one two three -- four five --six'.split(' '), { '--': true })
    { _: [ 'one', 'two', 'three' ],
      '--': [ 'four', 'five', '--six' ] }
    

    Note that with opts['--'] set, parsing for arguments still stops after the --.

  • opts.unknown - a function which is invoked with a command line parameter not defined in the opts configuration object. If the function returns false, the unknown option is not added to argv.

install

With npm do:

npm install minimist

license

MIT

Rate & Review

Great Documentation2
Easy to Use3
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy1
Abandoned0
Unwelcoming Community0
100
Abhinav Dinesh CKochi30 Ratings29 Reviews
Front End Engineer | JavaScript, Angular, React
2 months ago
Easy to Use

A simple and easy to use library to build a CLI tool that accepts arguments. I really liked it because it's really minimal just like it's name and fit my use case perfectly. There are many other libraries if you want a to build a feature rich CLI tool but minimist is for people who want a light weight and simple way to parse arguments passed through the CLI. I wanted to keep my CLI tool as light weight as possible and so minimist was the obvious choice.


0
mildly7 Ratings6 Reviews
1 year ago

Argument parsing can get pretty tricky in Nodejs. With minist, its a breeze to handle argument parsing - especially when working on building CICD pipelines and command line tools.


0
damien getherMontreal47 Ratings43 Reviews
August 21, 2020
Buggy
Great Documentation
Easy to Use

A minimalist tool to parse CLI, it is a good start but you might feel limited when adding more options to your CLI. But it is good enough for starting


0
Sahaj OberoiNew Delhi1 Rating0 Reviews
Python Developer.
June 13, 2020
Great Documentation

Tutorials

No tutorials found
Add a tutorial