Update dependency commander to v15#286
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^11.0.0→^15.0.0Release Notes
tj/commander.js (commander)
v15.0.0Compare Source
Commander 15 is ESM only. This is expected to be seamless for ESM consumers, but some CommonJS consumers may hit issues with tooling requiring configuration for ESM-only dependencies. See Migration Tips below.
The release of Commander 15 moves Commander 14 into maintenance. Commander 14 will get security updates for
12 months (to May 2027). For more info see Release Policy.
Added
Fixed
--no-*option sets default option value totrue, default not implicitly set when define both positive and negative option in either order ([#2405])Changed
require(esm)).node:testtest runner ([#2463])Deleted
commander/esm.mjs([#2464])Migration Tips
Commander 15 is ESM only, but this does not mean you need to migrate to ESM to use it. Importing ESM from CommonJS is
supported by Node.js, and Bun, and Deno. Hopefully it Just Works for you! However, you may be using a different runtime or
some other part of your setup that may not yet natively support importing ESM from CommonJS, such as your testing framework
or bundler.
If you have problems using Commander 15 in your environment, one option is stay on Commander 14 for now. Commander 14 will
get security updates until May 2027 and things will hopefully improve for your setup in the meantime.
v14.0.3Compare Source
Added
Changes
.outputHelp()([#2427])v14.0.2Compare Source
Changed
v14.0.1Compare Source
Fixed
Changed
Object.assign()([#2395])string.endsWith()instead ofstring.slice()([#2396]).parseOptions()to process args array in-place ([#2409])._concatValue()to._collectValue()(change code fromarray.concat()toarray.push()) ([#2410])v14.0.0Compare Source
Added
.helpGroup()onOptionandCommand, and higher-level.optionsGroup()and.commandsGroup()which can be used in chaining way to specify group title for following options/commands ([#2328])parseArgproperty toArgumentclass ([#2359])Fixed
.configureOutput()now makes copy of settings instead of modifying in-place, fixing side-effects ([#2350])Changed
Helpclass adding.formatItemList()and.groupItems()methods ([#2328])v13.1.0Compare Source
Added
.option('--ws, --workspace')([#2312])v13.0.0Compare Source
Added
.parse()with default settings ([#2299]).saveStateBeforeParse()and.restoreStateBeforeParse()for use by subclasses ([#2299])styleTitle()to add color to help using.configureHelp()or Help subclass ([#2251]).configureOutput()forgetOutHasColors(),getErrHasColors(), andstripColor()([#2251])minWidthToWrap([#2251])displayWidth(),boxWrap(),preformatted()et al ([#2251])Changed
-([#2270]).parse()ifstoreOptionsAsProperties: true([#2299])thisin parameters for action handler callback ([#2197])Deleted
Help.wrap()refactored intoformatItem()andboxWrap()([#2251])Migration Tips
Excess command-arguments
It is now an error for the user to specify more command-arguments than are expected. (
allowExcessArgumentsis now false by default.)Old code:
Now shows an error:
You can declare the expected arguments. The help will then be more accurate too. Note that declaring
new arguments will change what is passed to the action handler.
Or you could suppress the error, useful for minimising changes in legacy code.
Stricter option flag parsing
Commander now throws an error for option flag combinations that are not supported.
In particular, a short flag with multiple characters is now an error.
A short option has a single character:
Or from Commander 13.1 you can have an extra long flag instead of a short flag to allow a more memorable shortcut for the full name:
v12.1.0Compare Source
Added
node --evalandnode --printwhen call.parse()with no arguments ([#2164])Changed
node:([#2170])Removed
v12.0.0Compare Source
Added
.addHelpOption()as another way of configuring built-in help option ([#2006]).helpCommand()for configuring built-in help command ([#2087])Fixed
passThroughOptionsconstraints when using.addCommandand throw if parent command does not have.enablePositionalOptions()enabled ([#1937])Changed
.storeOptionsAsProperties()after setting an option value ([#1928])@api privatewith documented@private([#1949]).addHelpCommand()now takes a Command (passing string or boolean still works as before but deprecated) ([#2087])Deprecated
.addHelpCommand()passing string or boolean (use.helpCommand()or pass a Command) ([#2087])Removed
programexport instead) ([#2017])Migration Tips
global program
If you are using the deprecated default import of the global Command object, you need to switch to using a named import (or create a new
Command).option and command clashes
A couple of configuration problems now throw an error, which will pick up issues in existing programs:
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.