Skip to content

chore: support Node 18 (matches Node-RED 4.x minimum)#17

Merged
dxdc merged 1 commit into
masterfrom
chore/support-node-18
May 9, 2026
Merged

chore: support Node 18 (matches Node-RED 4.x minimum)#17
dxdc merged 1 commit into
masterfrom
chore/support-node-18

Conversation

@dxdc

@dxdc dxdc commented May 9, 2026

Copy link
Copy Markdown
Owner

What

Within the engines section of the package.json file you SHOULD declare the minimum version of Node that your package works on. This SHOULD satisfy the current minimum supported version of the latest Node-RED release.

  • ci.yml test matrix gains 18 so the claim is verified, not asserted.

Caveats

  • Node 18 is upstream EOL (2025-04-30). Users on 18 won't get Node security patches anymore. Node-RED still supports it though, and the spec is about runtime compatibility — so we follow the spec.
  • Local sanity check passed on Node 22 (112/112). Node 18 verification is on CI for this PR.

What was checked locally

  • jsonata@^2.0.5 declares engines.node >= 8 — fine on 18
  • node-red-node-test-helper@^0.3.6 declares engines.node >= 14 — fine on 18
  • No usage of features introduced after 18: no structuredClone callers, no Array.findLast, no top-level await, no native fetch in the runtime, node:fs/node:os/node:path prefixes are 16+

Test plan

  • CI passes the test job on Node 18
  • CI passes on Node 20, 22, 24 (regression check)
  • Coverage job (Node 24) still publishes the artifact

Lower engines.node from >=20 to >=18.5, the documented minimum of
the latest Node-RED release. Add Node 18 to the CI matrix so the
claim is actually tested instead of asserted.

Note: Node 18 reached upstream EOL on 2025-04-30, so users on 18
won't get security patches from Node — but Node-RED itself still
supports it, and the contrib-node packaging spec asks us to satisfy
Node-RED's minimum, not our preference.
@dxdc dxdc merged commit 8ce9bcf into master May 9, 2026
6 checks passed
@dxdc dxdc deleted the chore/support-node-18 branch May 9, 2026 05:50
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