fix(deps): update dependency commander to v9 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
commander | dependencies | major | 7.2.0 -> 9.5.0 |
Release Notes
tj/commander.js
v9.5.0
Added
-
.getOptionValueSourceWithGlobals()
([#1832]) -
showGlobalOptions
for.configureHelp{}
andHelp
([#1828])
v9.4.1
Fixed
-
.setOptionValue()
now also clears option source ([#1795]) - TypeScript: add
implied
toOptionValueSource
for option values set by using.implies()
([#1794]) - TypeScript : add
undefined
to return type of.getOptionValueSource()
([#1794])
Changed
- additions to README
v9.4.0
Added
-
preSubcommand
hook called before direct subcommands ([#1763])
Fixed
- export
InvalidOptionArgumentError
in esm ([#1756])
Changed
- update dependencies ([#1767])
v9.3.0
Added
-
.summary()
for a short summary to use instead of description when listing subcommands in help ([#1726]) -
Option.implies()
to set other option values when the option is specified ([#1724]) - updated Chinese README with 9.x changes ([#1727])
Fixed
- TypeScript: add
string[]
to.options()
default value parameter type for use with variadic options ([#1721])
Deprecated
- multi-character short option flag (e.g.
-ws
) ([#1718])
v9.2.0
Added
- conditional export of 'types' for upcoming TypeScript module resolution ([#1703])
- example file showing two ways to add global options to subcommands ([#1708])
Fixed
- detect option conflicts in parent commands of called subcommand ([#1710])
Changed
- replace deprecated
String.prototype.substr
([#1706])
v9.1.0
Added
- Option
.conflicts()
to set conflicting options which can not be specified together ([#1678]) - (developer) CodeQL configuration for GitHub Actions ([#1698])
v9.0.0
Added
- simpler ECMAScript import ([#1589])
- Option.preset() allows specifying value/arg for option when used without option-argument (especially optional, but also boolean option) ([#1652])
-
.executableDir()
for custom search for subcommands ([#1571]) - throw with helpful message if pass
Option
to.option()
or.requiredOption()
([#1655]) - .
error()
for generating errors from client code just like Commander generated errors, with support for.configureOutput()
,.exitOverride()
, and.showHelpAfterError()
([#1675]) -
.optsWithGlobals()
to return merged local and global options ([#1671])
Changed
- Breaking: Commander 9 requires Node.js v12.20.0 or higher
- update package-lock.json to lockfile@2 format ([#1659])
-
showSuggestionAfterError
is now on by default ([#1657]) - Breaking: default value specified for boolean option now always used as default value (see .preset() to match some previous behaviours) ([#1652])
- default value for boolean option only shown in help if true/false ([#1652])
- use command name as prefix for subcommand stand-alone executable name (with fallback to script name for backwards compatibility) ([#1571])
- allow absolute path with
executableFile
([#1571]) - removed restriction that nested subcommands must specify
executableFile
([#1571]) - TypeScript: allow passing readonly string array to
.choices()
([#1667]) - TypeScript: allow passing readonly string array to
.parse()
,.parseAsync()
,.aliases()
([#1669])
Fixed
- option with optional argument not supplied on command line now works when option already has a value, whether from default value or from previous arguments ([#1652])
Removed
-
Breaking: removed internal fallback to
require.main.filename
when script not known from arguments passed to.parse()
(can supply details using.name()
, and.executableDir()
orexecutableFile
) ([#1571])
v8.3.0
Added
-
.getOptionValueSource()
and.setOptionValueWithSource()
, where expected values for source are one of 'default', 'env', 'config', 'cli' ([#1613])
Deprecated
-
.command('*')
, use default command instead ([#1612]) -
on('command:*')
, use.showSuggestionAfterError()
instead ([#1612])
v8.2.0
Added
-
.showSuggestionAfterError()
to show suggestions after unknown command or unknown option ([#1590]) - add
Option
support for values from environment variables using.env()
([#1587])
Changed
- show error for unknown global option before subcommand (rather than just help) ([#1590])
Removed
- TypeScript declaration of unimplemented
Option
methodargumentRejected
v8.1.0
Added
-
.copyInheritedSettings()
([#1557]) - update Chinese translations of documentation for Commander v8 ([#1570])
-
Argument
methods for.argRequired()
and.argOptional()
([#1567])
v8.0.0
Added
-
.argument(name, description)
for adding command-arguments ([#1490]) -
.createArgument()
factory method ([#1497]) -
.addArgument()
([#1490]) -
Argument
supports.choices()
([#1525]) -
.showHelpAfterError()
to display full help or a custom message after an error ([#1534]) -
.hook()
with support for'preAction'
and'postAction'
callbacks ([#1514]) - client typing of
.opts()
return type using TypeScript generics ([#1539]) - the number of command-arguments is checked for programs without an action handler ([#1502])
-
.getOptionValue()
and.setOptionValue()
([#1521])
Changed
- refactor and simplify TypeScript declarations (with no default export) ([#1520])
-
.parseAsync()
is now declared asasync
([#1513]) -
Breaking:
Help
method.visibleArguments()
returns array ofArgument
([#1490]) - Breaking: Commander 8 requires Node.js 12 or higher ([#1500])
-
Breaking:
CommanderError
codecommander.invalidOptionArgument
renamedcommander.invalidArgument
([#1508]) -
Breaking: TypeScript declaration for
.addTextHelp()
callback no longer allows result ofundefined
, now juststring
([#1516]) - refactor
index.tab
into a file per class ([#1522]) - remove help suggestion from "unknown command" error message (see
.showHelpAfteError()
) ([#1534]) -
Command
property.arg
initialised to empty array (was previously undefined) ([#1529]) - update dependencies
Deprecated
- second parameter of
cmd.description(desc, argDescriptions)
for adding argument descriptions ([#1490])- (use new
.argument(name, description)
instead)
- (use new
-
InvalidOptionArgumentError
(replaced byInvalidArgumentError
) ([#1508])
Removed
-
Breaking: TypeScript declaration for default export of global
Command
object ([#1520])- (still available as named
program
export)
- (still available as named
Migration Tips
If you have a simple program without an action handler, you will now get an error if there are missing command-arguments.
program
.option('-d, --debug')
.arguments('<file>');
program.parse();
$ node trivial.js
error: missing required argument 'file'
If you want to show the help in this situation, you could check the arguments before parsing:
if (process.argv.length === 2)
program.help();
program.parse();
Or, you might choose to show the help after any user error:
program.showHelpAfterError();
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.