Skip to content

chore(deps): update dependency commander to v15 - #28

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/commander-15.x
Open

chore(deps): update dependency commander to v15#28
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/commander-15.x

Conversation

@renovate

@renovate renovate Bot commented Aug 16, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
commander ^13.1.0^15.0.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

tj/commander.js (commander)

v15.0.0

Compare 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
  • show excess command-arguments in error message ([#​2384])
Fixed
  • Breaking: only lone --no-* option sets default option value to true, default not implicitly set when define both positive and negative option in either order ([#​2405])
  • update example to use compatible character for MINGW64 ([#​2475])
Changed
  • Breaking: migrated Commander implementation from CommonJS to ESM ([#​2464])
  • Breaking: Commander 15 requires Node.js v22.12.0 or higher (for require(esm)).
  • dev: switch tests from Jest to node:test test runner ([#​2463])
Deleted
  • Breaking: removed deprecated export of 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.3

Compare Source

Added
Changes
  • old major versions now supported for 12 months instead of just previous major version, to give predictable end-of-life date ([#​2462])
  • clarify typing for deprecated callback parameter to .outputHelp() ([#​2427])
  • simple readability improvements to README ([#​2465])

v14.0.2

Compare Source

Changed
  • improve negative number auto-detection test ([#​2428])
  • update (dev) dependencies

v14.0.1

Compare Source

Fixed
  • broken markdown link in README ([#​2369])
Changed
  • improve code readability by using optional chaining ([#​2394])
  • use more idiomatic code with object spread instead of Object.assign() ([#​2395])
  • improve code readability using string.endsWith() instead of string.slice() ([#​2396])
  • refactor .parseOptions() to process args array in-place ([#​2409])
  • change private variadic support routines from ._concatValue() to ._collectValue() (change code from array.concat() to array.push()) ([#​2410])
  • update (dev) dependencies

v14.0.0

Compare Source

Added
  • support for groups of options and commands in the help using low-level .helpGroup() on Option and Command, and higher-level .optionsGroup() and .commandsGroup() which can be used in chaining way to specify group title for following options/commands ([#​2328])
  • support for unescaped negative numbers as option-arguments and command-arguments ([#​2339])
  • TypeScript: add parseArg property to Argument class ([#​2359])
Fixed
  • remove bogus leading space in help when option has default value but not a description ([#​2348])
  • .configureOutput() now makes copy of settings instead of modifying in-place, fixing side-effects ([#​2350])
Changed
  • Breaking: Commander 14 requires Node.js v20 or higher
  • internal refactor of Help class adding .formatItemList() and .groupItems() methods ([#​2328])

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@greptile-apps

greptile-apps Bot commented Aug 16, 2026

Copy link
Copy Markdown

PR author is in the excluded authors list.

@socket-security

socket-security Bot commented Aug 16, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​commander@​15.0.010010010085100

View full report

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 3 potential issues.

Open in Devin Review

Comment thread package.json
"chalk": "^5.4.1",
"cli-table3": "^0.6.5",
"commander": "^13.1.0",
"commander": "^15.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 CLI declares support for Node 18 but the upgraded argument parser no longer runs there

The dependency on the command-line parser is raised to a major version that dropped Node 18 support ("commander": "^15.0.0" at package.json:61) while the package still advertises Node 18 compatibility, so users on Node 18 get install-time engine errors or a broken CLI.
Impact: Anyone installing the CLI on Node 18 sees engine warnings/failures and may end up with an unusable command-line tool.

Engine range vs. commander major bump

package.json:49-51 still declares "node": ">=18.0.0". Commander dropped Node 18 in its v14 major (engines ^20.19.0 || >=22.12.0), and v15 continues to require a modern Node. npm will emit EBADENGINE for the transitive requirement, and if it installs anyway, the CLI entry (src/index.ts:1-6, which calls commander's parseAsync) may fail at runtime on Node 18. The engines.node field should be raised to match commander's supported range.

Prompt for agents
package.json bumps commander to ^15.0.0, but commander >=14 requires Node ^20.19.0 || >=22.12.0 while package.json engines still says node >=18.0.0. Update the engines field (and any CI/workflow Node version matrices or docs mentioning Node 18 support) so the declared supported Node range matches what the dependency actually supports, or pin commander to a version that still supports Node 18.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread package.json
"chalk": "^5.4.1",
"cli-table3": "^0.6.5",
"commander": "^13.1.0",
"commander": "^15.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changelog not updated for a user-visible dependency upgrade

The major upgrade of the command-line parser ("commander": "^15.0.0" at package.json:61) is shipped without an entry in the changelog's Unreleased section, which the repository contract requires for user-facing changes.
Impact: Users and maintainers get no record of a change that alters help/error output and supported Node versions.

Repo rule reference

AGENTS.md states: "Conventional Commit titles; update CHANGELOG.md (Unreleased) for user-facing changes." The ## [Unreleased] section of CHANGELOG.md is empty in this PR, even though a commander major bump changes CLI help formatting/error behavior and the minimum Node version.

Prompt for agents
AGENTS.md requires updating CHANGELOG.md's Unreleased section for user-facing changes. Add an entry under ## [Unreleased] noting the commander v13 -> v15 upgrade and any resulting minimum Node version / help output changes.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread package.json
"chalk": "^5.4.1",
"cli-table3": "^0.6.5",
"commander": "^13.1.0",
"commander": "^15.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Help output override relies on helpInformation() still being supported

src/cli.ts:163-170 monkey-patches program.helpInformation to prepend the ASCII banner. Commander's help internals were substantially reworked in the v14/v15 majors (help formatting moved further into the Help class, and several help APIs were deprecated/changed). Since only the top-level program is patched, subcommand help never shows the banner anyway; worth verifying against the installed v15 that helpInformation() is still the code path used for --help so the banner keeps working.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@cursor
cursor Bot requested a review from yakimoto August 16, 2026 12:00

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: medium. Left a non-blocking comment and did not approve because Cursor Security Agent skipped and Cursor Bugbot did not run. Assigned yakimoto for human review of the commander 13→15 major bump.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@macroscopeapp

macroscopeapp Bot commented Aug 16, 2026

Copy link
Copy Markdown

Approvability

Verdict: Needs human review

Major commander dependency bump (v15) introduces Node version incompatibility - package.json still declares Node >=18.0.0 but commander v15 requires Node 20+. The author does not own package.json, and there's an unresolved critical finding about this breaking change.

No code changes detected at b77058e. Prior analysis still applies.

You can customize Macroscope's approvability policy. Learn more.

@renovate
renovate Bot force-pushed the renovate/commander-15.x branch from 1fcab3a to b77058e Compare August 26, 2026 22:24
@codeant-ai

codeant-ai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants