Skip to content

fix(node): support Node 18.20.8 runtime - #240

Merged
John-David Dalton (jdalton) merged 1 commit into
mainfrom
fix/node18-runtime-baseline
Oct 16, 2026
Merged

John-David Dalton (jdalton) merged 1 commit into
mainfrom
fix/node18-runtime-baseline

Conversation

@jdalton

@jdalton John-David Dalton (jdalton) commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Medium Risk
Widening the Node support matrix and changing Unicode width / process-tree sorting paths can shift behavior on older runtimes; CI only spot-checks two built modules on 18.20.8.

Overview
Lowers the supported Node floor from 24 to 18.20.8 by aligning engines.node and the package-exports nodeRange with that minimum.

Runtime code is adjusted so the build works on 18.x: findSelfNestedProcesses sorts via the existing arrayToSorted polyfill instead of Array.prototype.toSorted, and stringWidth builds its Unicode regexes through RegExpCtor (still preferring the v flag with a u fallback) so module init stays compatible across Node versions.

CI adds a post-test Node 18.20.8 step that smoke-tests the compiled dist for stringWidth and findSelfNestedProcesses.

Reviewed by Cursor Bugbot for commit b4be3fd. Configure here.

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

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but none of the reported issues met your autofix severity threshold.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b4be3fd. Configure here.

Comment thread package.json
},
"engines": {
"node": ">=24",
"node": ">=18.20.8",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Engines constraints conflict on Node 18

Medium Severity

Lowering engines.node to >=18.20.8 leaves engines.npm at >=12.2.0 and engines.pnpm at >=12.12.0. npm 12 requires Node ^22.22.2, ^24.15.0, or >=26, so a Node 18.20.8 consumer cannot satisfy the full engines set. With engine-strict, install fails and the new runtime claim does not hold.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b4be3fd. Configure here.

@jdalton
John-David Dalton (jdalton) merged commit b4be3fd into main Oct 16, 2026
11 of 12 checks passed
@jdalton
John-David Dalton (jdalton) deleted the fix/node18-runtime-baseline branch October 16, 2026 16:35
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.

1 participant