Socket
Socket
Sign inDemoInstall

minimist

Package Overview
Dependencies
0
Maintainers
3
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

minimist

parse argument options

    1.2.8latest
    GitHub
    npm

Version published
Maintainers
3
Weekly downloads
56,240,880
increased by4.75%

Weekly downloads

Package description

What is minimist?

The minimist package is a command-line argument parser that helps to convert argument strings into a structured format. It is designed to be minimalist and simple to use, focusing on parsing the options passed to a Node.js script.

What are minimist's main functionalities?

Parse command-line arguments

This feature allows you to parse command-line arguments. The process.argv array is sliced to remove the first two elements (node and script path), and the remaining elements are parsed by minimist to create an object with the arguments.

const minimist = require('minimist');
const args = minimist(process.argv.slice(2));
console.log(args);

Custom argument parsing

This feature allows for custom parsing options such as specifying which arguments should be treated as strings or booleans, and setting aliases for argument names.

const minimist = require('minimist');
const args = minimist(process.argv.slice(2), {
  string: ['lang'],
  boolean: ['version'],
  alias: { v: 'version' }
});
console.log(args);

Default argument values

This feature allows you to provide default values for arguments that are not supplied on the command line.

const minimist = require('minimist');
const args = minimist(process.argv.slice(2), {
  default: { lang: 'en', debug: false }
});
console.log(args);

Other packages similar to minimist

Changelog

Source

v1.2.8 - 2023-02-09

Merged

  • [Fix] Fix long option followed by single dash #17
  • [Tests] Remove duplicate test #12
  • [Fix] opt.string works with multiple aliases #10

Fixed

  • [Fix] Fix long option followed by single dash (#17) #15
  • [Tests] Remove duplicate test (#12) #8
  • [Fix] Fix long option followed by single dash #15
  • [Fix] opt.string works with multiple aliases (#10) #9
  • [Fix] Fix handling of short option with non-trivial equals #5
  • [Tests] Remove duplicate test #8
  • [Fix] opt.string works with multiple aliases #9

Commits

  • Merge tag 'v0.2.3' a026794
  • [eslint] fix indentation and whitespace 5368ca4
  • [eslint] fix indentation and whitespace e5f5067
  • [eslint] more cleanup 62fde7d
  • [eslint] more cleanup 36ac5d0
  • [meta] add auto-changelog 73923d2
  • [actions] add reusable workflows d80727d
  • [eslint] add eslint; rules to enable later are warnings 48bc06a
  • [eslint] fix indentation 34b0f1c
  • [readme] rename and add badges 5df0fe4
  • [Dev Deps] switch from covert to nyc a48b128
  • [Dev Deps] update covert, tape; remove unnecessary tap f0fb958
  • [meta] create FUNDING.yml; add funding in package.json 3639e0c
  • [meta] use npmignore to autogenerate an npmignore file be2e038
  • Only apps should have lockfiles 282b570
  • isConstructorOrProto adapted from PR ef9153f
  • [Dev Deps] update @ljharb/eslint-config, aud 098873c
  • [Dev Deps] update @ljharb/eslint-config, aud 3124ed3
  • [meta] add safe-publish-latest 4b927de
  • [Tests] add aud in posttest b32d9bd
  • [meta] update repo URLs f9fdfc0
  • [actions] Avoid 0.6 tests due to build failures ba92fe6
  • [Dev Deps] update tape 950eaa7
  • [Dev Deps] add missing npmignore dev dep 3226afa
  • Merge tag 'v0.2.2' 980d7ac

Readme

Source

minimist Version Badge

github actions coverage License Downloads

npm badge

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.6 or later:

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

Keywords

FAQs

Last updated on 09 Feb 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc