minimist

parse argument options

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

browser support

build status

example

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

methods

  1. 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:
  • 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.
  1. > require('./')('one two three -- four five --six'.split(' '), { '--': true })
  2. { _: [ 'one', 'two', 'three' ],
  3. '--': [ 'four', 'five', '--six' ] }

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

install

With npm do:

  1. npm install minimist

license

MIT