commander
Advanced tools
Changelog
[6.2.0] (2020-10-25)
.description()
to describe command arguments ([#1353])Changelog
[6.1.0] (2020-08-28)
.combineFlagAndOptionalValue(false)
to ease upgrade path from older versions of Commander ([#1326]).helpOption(false)
([#1325])argumentDescription
to .description()
([#1323])Changelog
[6.0.0] (2020-07-21)
-n
accessed as opts().n
(previously uppercase)Changelog
[5.1.0] (2020-04-25)
addCommand()
for hidden
and isDefault
([#1232])helpOption
([#1248])arguments
to improve auto-generated help in editors ([#1235]).command()
configuration noHelp
to hidden
(but not remove old support) ([#1232])Changelog
[5.0.0] (2020-03-14)
.addCommand()
for adding a separately configured command ([#764] [#1149]).addHelpCommand()
([#1149])-a -b -p 80
can be written as -abp80
) ([#1145]).parseOption()
includes short flag and long flag expansions ([#1145]).helpInformation()
returns help text as a string, previously a private routine ([#1169]).parse()
implicitly uses process.argv
if arguments not specified ([#1172]).parse()
arguments "from", if not following node conventions ([#512] [#1172])commands
property of Command
([#1184])program
property ([#1195])createCommand
factory method to simplify subclassing ([#1191])command:*
for executable subcommands ([#809] [#1149]).args
contains command arguments with just recognised options removed ([#1032] [#1138]).option()
([#1119]).allowUnknownOption()
([#802] [#1138])
.args
-ab
or --foo=bar
) ([#1145]).parseOptions()
([#1138])
args
in returned result renamed operands
and does not include anything after first unknown optionunknown
in returned result has arguments after first unknown option including operands, not just options and values.on('command:*', callback)
and other command events passed (changed) results from .parseOptions
, i.e. operands and unknown ([#1138])this
rather than Command
([#1180]).parseAsync
returns Promise<this>
to be consistent with .parse()
([#1180])@types/node
([#1146])normalize
(the functionality has been integrated into parseOptions
) ([#1145])parseExpectedArgs
is now private ([#1149])If you use .on('command:*')
or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.
If you use program.args
or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.
If you use .command('*')
to add a default command, you may be be able to switch to isDefault:true
with a named command.
If you want to continue combining short options with optional values as though they were boolean flags, set combineFlagAndOptionalValue(false)
to expand -fb
to -f -b
rather than -f b
.