Skip to content

Releases: lahmatiy/clap

3.1.1

07 Feb 16:03
Compare
Choose a tag to compare
  • Fixed a regression introduced in 3.1.0 for short options which can't be used with a parameter when not in a short options sequence

3.1.0

07 Feb 15:50
Compare
Choose a tag to compare
  • Fixed signature of command() function by removing parameters except the first one, since others are not used anymore
  • Added throwing an error when using the second parameter in a command definition (i.e. command("name", "[arg1] [arg2]")) to avoid mistakes on migration from v2.0
  • Allowed - as a value for arg

3.0.0

12 Dec 21:51
Compare
Choose a tag to compare
  • Allowed args after and between options
  • Replaced chalk with ansi-colors
  • Changed supported versions of Node.js to ^12.20.0, ^14.13.0 and >=15.0.0
  • Converted to ESM. CommonJS is supported as well (dual module)
  • See other change of 3.0 in 3.0.0-beta.1 release notes

3.0.0-beta.1

12 Dec 21:43
Compare
Choose a tag to compare
  • Restored wrongly removed Command#extend()
  • Changed Command's constructor and Command#command(method) to take usage only (i.e. command('name [param]') instead command('name', '[param]'))
  • Added Command#clone() method
  • Added Command#getCommand(name) and Command#getCommands() methods
  • Added Command#getOption(name) and Command#getOptions() methods
  • Added Command#messageRef() and Option#messageRef() methods
  • Added Command#createOptionValues(values) method
  • Added Command#help() method similar to Command#version(), use Command#help(false) to disable default help action option
  • Fixed Command#showHelp(), it's now logs help message in console instead of returning it
  • Renamed Command#showHelp() into Command#outputHelp()
  • Changed Command to store params info (as Command#params) even if no params
  • Removed Command#infoOption() method, use action in option's config instead, i.e. option(usage, description, { action: ... })
  • Removed Command#infoOptionAction and infoOptionAction option for Command constructor as well
  • Removed Command#shortcut() method, use shortcut in option's config instead, i.e. option(usage, description, { shortcut: ... })
  • Changed Command#command() to raise an exception when subcommand name already in use
  • Removed Command#setOptions() method
  • Removed Command#setOption() method
  • Removed Command#hasOptions() method
  • Removed Command#hasOption() method
  • Removed Command#hasCommands() method
  • Removed Command#normalize() method (use createOptionValues() instead)
  • Changed Option to store params info as Option#params, it always an object even if no params
  • Added Option#names() method
  • Removed name validation for subcommands
  • Allowed a number for options's short name
  • Changed argv parse handlers to [init()applyConfig()prepareContext()]+ → action()
  • Changed exports
    • Added getCommandHelp() function
    • Added Params class
    • Removed Argument class
    • Removed color option

2.0.1

29 Dec 01:52
Compare
Choose a tag to compare
  • Fixed multiline description output in help

2.0.0

09 Dec 00:03
Compare
Choose a tag to compare
  • Dropped support for Node < 8
  • Bumped deps to latest versions
  • Added config argument for Command and create function
    • defaultHelp option to prevent adding --help option on command create
    • infoOptionAction option to override action when info option involved (output to stdout and exit(0) by default)
  • Added Command#infoOption() method
  • Fixed failure on argv parsing when all types of values are passed (i.e. args & options & literal args)
  • Renamed create() method to command()
  • Removed error() method
  • Removed confirm() method

1.2.3

20 Sep 10:15
Compare
Choose a tag to compare
  • Rolled back passing params to args() back as array

1.2.2

18 Sep 11:41
Compare
Choose a tag to compare
  • Fixed context passed to Command#args(), now it's a command as expected (#10)
  • Fixed consuming of literal arguments that wrongly concating with other arguments (i.e. anything going after -- concats with arguments before --)

1.2.1

18 Sep 09:00
Compare
Choose a tag to compare

1.2.0

13 Jun 14:47
Compare
Choose a tag to compare
  • Improved multi value option processing (@smelukov, #7)