Skip to content

CHANGE @W-23480655@ require Node >=22, drop EOL Node versions - #2073

Open
WillieRuemmele wants to merge 2 commits into
devfrom
wr/requireNode22
Open

CHANGE @W-23480655@ require Node >=22, drop EOL Node versions#2073
WillieRuemmele wants to merge 2 commits into
devfrom
wr/requireNode22

Conversation

@WillieRuemmele

Copy link
Copy Markdown
Member

Summary

  • Bumps engines.node to >=22.0.0
  • Bumps managed @salesforce/* dependencies to their new major versions

@W-23480655@

BREAKING CHANGE: engines.node raised to >=22.0.0, dropping support for Node 18 and 20

Test plan

  • yarn build verified locally (or pre-existing failure on main)
  • yarn test verified locally (or pre-existing failure on main)

@WillieRuemmele WillieRuemmele changed the title feat!: require Node >=22, drop EOL Node versions @W-23480655@ CHANGE @W-23480655@ require Node >=22, drop EOL Node versions Jul 29, 2026

@aruntyagiTutu aruntyagiTutu 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.

Reviewed against the Code Analyzer PR Review guidelines.

Summary: Bumps engines.node to >=22.0.0 and raises @salesforce/core/@salesforce/sf-plugins-core/@salesforce/ts-types to their next major versions, dropping Node 18/20 support. Explicitly tagged as a breaking change with a work item, and CI (build, unit tests, smoke tests on macOS/Ubuntu/Windows, lint) is green.

Two non-blocking findings:

  1. package-lock.json isn't updated in this PR. The lockfile still pins @salesforce/core@8.23.4, @salesforce/sf-plugins-core@12.2.28, @salesforce/ts-types@2.0.12, and engines.node: >=20.0.0 at the root — all now out of sync with the new ranges in package.json. CI passes because the workflows use npm install (not npm ci), which silently regenerates the lock in-memory, but the committed lockfile no longer reflects reproducible install state. Per the guide's dependency-management rule, the lockfile should be regenerated and committed alongside the package.json bump.
  2. Whitespace noise mixed into the functional change. The diff reformats the entire file from tab to 2-space indentation (97 additions / 97 deletions for what's functionally a ~4-line change: engines.node + 3 dependency version bumps). Per the PR hygiene guidance, formatting-only changes should be separated from logic/version changes so the actual diff is reviewable.

Neither is blocking given CI is green and the intent/scope is clear, but worth cleaning up before merge.

@WillieRuemmele

Copy link
Copy Markdown
Member Author

Addressed both review findings:

  1. Whitespace noise removed — rebased on main and redid the change with only functional line edits (4 lines: engines.node + 3 dep bumps + undici override adjustment). No formatting changes.
  2. package-lock.json regenerated — lockfile now reflects the correct engines and dependency versions.

Also resolved merge conflict with the 5.15.0 release that landed on main.

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.

3 participants