Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

13.0.0 (2019-02-02)

Features

  • don't coerce number from string with leading ‘0’ or ‘+’ (#158) (18d0fd5)

BREAKING CHANGES

  • options with leading ‘+’ or ‘0’ now parse as strings

12.0.0 (2019-01-29)

Bug Fixes

Features

  • default value is now used if no right-hand value provided for numbers/strings (#156) (5a7c46a)

BREAKING CHANGES

  • a flag with no right-hand value no longer populates defaulted options with undefined.
  • quotes at beginning and endings of strings are not removed during parsing.

11.1.1 (2018-11-19)

Bug Fixes

  • ensure empty string is added into argv._ (#140) (79cda98)

Reverts

  • make requiresArg work in conjunction with arrays (#136) (f4a3063)

11.1.0 (2018-11-10)

Bug Fixes

Features

  • add halt-at-non-option configuration option (#130) (a849fce)

11.0.0 (2018-10-06)

Bug Fixes

  • flatten-duplicate-arrays:false for more than 2 arrays (#128) (2bc395f)
  • hyphenated flags combined with dot notation broke parsing (#131) (dc788da)
  • make requiresArg work in conjunction with arrays (#136) (77ae1d4)

Chores

Features

  • also add camelCase array options (#125) (08c0117)
  • array.type can now be provided, supporting coercion (#132) (4b8cfce)

BREAKING CHANGES

  • drops Node 4 support
  • the argv object is now populated differently (correctly) when hyphens and dot notation are used in conjunction.

10.1.0 (2018-06-29)

Features

10.0.0 (2018-04-04)

Bug Fixes

  • do not set boolean flags if not defined in argv (#119) (f6e6599)

BREAKING CHANGES

  • boolean flags defined without a default value will now behave like other option type and won‘t be set in the parsed results when the user doesn’t set the corresponding CLI arg.

Previous behavior:

var parse = require('yargs-parser');

parse('--flag', {boolean: ['flag']});
// => { _: [], flag: true }

parse('--no-flag', {boolean: ['flag']});
// => { _: [], flag: false }

parse('', {boolean: ['flag']});
// => { _: [], flag: false }

New behavior:

var parse = require('yargs-parser');

parse('--flag', {boolean: ['flag']});
// => { _: [], flag: true }

parse('--no-flag', {boolean: ['flag']});
// => { _: [], flag: false }

parse('', {boolean: ['flag']});
// => { _: [] } => flag not set similarly to other option type

9.0.2 (2018-01-20)

Bug Fixes

  • nargs was still aggressively consuming too many arguments (9b28aad)

9.0.1 (2018-01-20)

Bug Fixes

  • nargs was consuming too many arguments (4fef206)

9.0.0 (2018-01-20)

Features

  • narg arguments no longer consume flag arguments (#114) (60bb9b3)

BREAKING CHANGES

  • arguments of form --foo, -abc, will no longer be consumed by nargs

8.1.0 (2017-12-20)

Bug Fixes

  • allow null config values (#108) (d8b14f9)
  • ensure consistent parsing of dot-notation arguments (#102) (c9bd79c)
  • implement @antoniom's fix for camel-case expansion (3087e1d)
  • only run coercion functions once, despite aliases. (#76) (#103) (507aaef)
  • scientific notation circumvented bounds check (#110) (3571f57)
  • tokenizer should ignore spaces at the beginning of the argString (#106) (f34ead9)

Features

  • make combining arrays a configurable option (#111) (c8bf536)
  • merge array from arguments with array from config (#83) (806ddd6)

8.0.0 (2017-10-05)

Bug Fixes

  • Ignore multiple spaces between arguments. (#100) (d137227)

Features

  • allow configuration of prefix for boolean negation (#94) (00bde7d)
  • reworking how numbers are parsed (#104) (fba00eb)

BREAKING CHANGES

  • strings that fail Number.isSafeInteger() are no longer coerced into numbers.

7.0.0 (2017-05-02)

Chores

BREAKING CHANGES

  • populate-- now defaults to false.

6.0.1 (2017-05-01)

Bug Fixes

  • default ‘--’ to undefined when not provided; this is closer to the array API (#90) (4e739cc)

6.0.0 (2017-05-01)

Bug Fixes

  • environment variables should take precedence over config file (#81) (76cee1f)
  • parsing hints should apply for dot notation keys (#86) (3e47d62)

Chores

  • upgrade to newest version of camelcase (#87) (f1903aa)

Features

  • add -- option which allows arguments after the -- flag to be returned separated from positional arguments (#84) (2572ca8)
  • when parsing stops, we now populate “--” by default (#88) (cd666db)

BREAKING CHANGES

  • rather than placing arguments in “_”, when parsing is stopped via “--”; we now populate an array called “--” by default.
  • camelcase now requires Node 4+.
  • environment variables will now override config files (args, env, config-file, config-object)

5.0.0 (2017-02-18)

Bug Fixes

  • environment variables should take precedence over config file (#81) (76cee1f)

BREAKING CHANGES

  • environment variables will now override config files (args, env, config-file, config-object)

4.2.1 (2017-01-02)

Bug Fixes

4.2.0 (2016-12-01)

Bug Fixes

  • inner objects in configs had their keys appended to top-level key when dot-notation was disabled (#72) (0b1b5f9)

Features

  • allow multiple arrays to be provided, rather than always combining (#71) (0f0fb2d)

4.1.0 (2016-11-07)

Features

  • apply coercions to default options (#65) (c79052b)
  • handle dot notation boolean options (#63) (02c3545)

4.0.2 (2016-09-30)

Bug Fixes

  • whoops, let's make the assign not change the Object key order (29d069a)

4.0.1 (2016-09-30)

Bug Fixes

4.0.0 (2016-09-26)

Bug Fixes

  • coerce should be applied to the final objects and arrays created (#57) (4ca69da)

BREAKING CHANGES

  • coerce is no longer applied to individual arguments in an implicit array.

3.2.0 (2016-08-13)

Features

  • coerce full array instead of each element (#51) (cc4dc56)

3.1.0 (2016-08-09)

Bug Fixes

  • address pkgConf parsing bug outlined in #37 (#45) (be76ee6)
  • better parsing of negative values (#44) (2e43692)
  • check aliases when guessing defaults for arguments fixes #41 (#43) (f3e4616)

Features

  • added coerce option, for providing specialized argument parsing (#42) (7b49cd2)

3.0.0 (2016-08-07)

Bug Fixes

  • parsing issue with numeric character in group of options (#19) (f743236)
  • upgraded lodash.assign (5d7fdf4)

BREAKING CHANGES

  • subtle change to how values are parsed in a group of single-character arguments.
  • first released in 3.1.0, better handling of negative values should be considered a breaking change.

2.4.1 (2016-07-16)

Bug Fixes

  • count: do not increment a default value (#39) (b04a189)

2.4.0 (2016-04-11)

Features

  • environment: Support nested options in environment variables (#26) thanks @elas7 \o/ (020778b)

2.3.0 (2016-04-09)

Bug Fixes

  • boolean: fix for boolean options with non boolean defaults (#20) (2dbe86b), closes [(#20](https://github.com/(/issues/20)
  • package: remove tests from tarball (0353c0d)
  • parsing: handle calling short option with an empty string as the next value. (a867165)
  • boolean flag when next value contains the strings ‘true’ or ‘false’. (69941a6)
  • update dependencies; add standard-version bin for next release (#24) (822d9d5)

Features

  • configuration: Allow to pass configuration objects to yargs-parser (0780900)
  • normalize: allow normalize to work with arrays (e0eaa1a)