Skip to content

chore(deps): update commander to v15#404

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

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

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
commander ^14.0.2^15.0.0 age confidence

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])

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • "before 9am on Monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, 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.

Summary by CodeRabbit

  • Chores
    • Updated the CLI’s command-line interface library dependency to the latest release line to improve stability and compatibility.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e1c76019-712f-4172-9fc9-7379e49d9911

📥 Commits

Reviewing files that changed from the base of the PR and between 8f42f62 and dd04888.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • packages/cli/package.json

📝 Walkthrough

Walkthrough

packages/cli/package.json bumps the commander dependency from ^14.0.2 to ^15.0.0.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: updating the commander dependency from v14 to v15.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Updates Docs ✅ Passed This PR updates a dependency (commander), not implementing a feature. The check applies to feature implementations requiring documentation updates, which doesn't apply here.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.35%. Comparing base (adb1f6a) to head (dd04888).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #404   +/-   ##
=======================================
  Coverage   84.35%   84.35%           
=======================================
  Files         153      153           
  Lines        7996     7996           
  Branches     2163     2163           
=======================================
  Hits         6745     6745           
  Misses       1250     1250           
  Partials        1        1           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/cli/package.json`:
- Line 54: The package.json for the CLI package is missing a Node.js engine
constraint required by commander v15. Add an "engines" field to the package.json
with a minimum Node.js version requirement of ">=22.12.0" to ensure
compatibility with commander v15 and prevent installation on incompatible
Node.js versions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 71748fd1-1f78-4e36-bb5f-60b342313e82

📥 Commits

Reviewing files that changed from the base of the PR and between d921be7 and 962f1fe.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • packages/cli/package.json

Comment thread packages/cli/package.json
"@toon-format/toon": "^2.1.0",
"chalk": "^5.4.1",
"commander": "^14.0.2",
"commander": "^15.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

What are the breaking changes in Commander v15 regarding error codes, exitOverride() behavior, and configureOutput() API compared to v14?

💡 Result:

Commander v15, released in May 2026, focuses primarily on migrating the library to pure ESM (ECMAScript Modules) [1][2]. Contrary to expectations of breaking changes in error handling APIs, the core functionality of error codes, exitOverride, and configureOutput remains consistent with v14 [1][3][4]. Key takeaways regarding your specific queries: 1. Error Codes and exitOverride Behavior: There are no breaking changes to how exitOverride functions or how error codes are handled [1][4]. Commander continues to use the same CommanderError mechanism [3][4]. When exitOverride is enabled, the library still throws a CommanderError containing exitCode, code, and message properties rather than calling process.exit [3][4]. The behavior remains consistent, where the callback is triggered after the display of errors, help, or version information [3][4]. 2. configureOutput API: There are no breaking changes to the configureOutput API in v15 [1][4]. It continues to allow customization of output streams (writeOut, writeErr) and error formatting (outputError) as it did in previous versions [3][4]. 3. Major Breaking Changes in v15: While the APIs you mentioned remained stable, the primary breaking changes in v15 are: - ESM-Only: The entire implementation was migrated from CommonJS to pure ESM [1][5]. - Node.js Requirement: Commander 15 requires Node.js v22.12.0 or higher [1]. - Deprecated Export Removal: The legacy commander/esm.mjs export has been removed [1][5]. - Option Parsing: A specific breaking change was made where only lone --no-* options now implicitly set a default value of true; implicit defaults are no longer set when both positive and negative options are defined [1][6]. If you are upgrading from v14 and your environment supports ESM, these changes should be largely transparent regarding your error and output handling logic [1][2]. If you encounter issues with ESM support in your build tools or runtime, it is recommended to stay on v14, which will receive security updates until May 2027 [1][6].

Citations:


Add Node.js engine constraint for commander v15 compatibility.

Commander v15 requires Node.js v22.12.0+. Add "engines": { "node": ">=22.12.0" } to packages/cli/package.json.

The API compatibility concerns with exitOverride(), configureOutput(), and error codes are not issues—these remain unchanged in v15. The --no-color option will continue to work as expected since it's defined as a lone option.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/cli/package.json` at line 54, The package.json for the CLI package
is missing a Node.js engine constraint required by commander v15. Add an
"engines" field to the package.json with a minimum Node.js version requirement
of ">=22.12.0" to ensure compatibility with commander v15 and prevent
installation on incompatible Node.js versions.

@renovate renovate Bot force-pushed the renovate/commander-15.x branch 4 times, most recently from 9a67611 to 8f42f62 Compare June 17, 2026 14:00
@renovate renovate Bot force-pushed the renovate/commander-15.x branch from 8f42f62 to dd04888 Compare June 18, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants