Skip to content

Require Node 20, matching @testingbot/automation-mcp - #3

Merged
jochen-testingbot merged 1 commit into
mainfrom
chore/node-20-floor
Sep 21, 2026
Merged

jochen-testingbot merged 1 commit into
mainfrom
chore/node-20-floor

Conversation

@jochen-testingbot

Copy link
Copy Markdown
Contributor

Follow-up to #2. That PR bumped the dependency to @testingbot/automation-mcp@0.1.8; this closes the runtime-floor mismatch it exposes.

The problem

engines.node declared >=18 and preflight() enforced 18 — but the bundled @testingbot/automation-mcp hard-fails its own preflight below Node 20. A Node 18 user installed cleanly, started the server, and died with an error pointing at the dependency rather than at their own runtime.

0.1.8 didn't introduce this. @testingbot/automation-mcp has declared >=20 in engines.node all along; its runtime check was the thing that lagged at 18, and 0.1.8 corrected it. So the mismatch here was always latent and is now reachable.

Changes

Raised in all four places that claimed 18:

  • package.json — engines.node
  • src/server-factory.ts — preflight(), with a comment tying it to both engines.node and the dependency's floor
  • README.md — the Prerequisites line and the troubleshooting step

The existing version test now expects the 20 message, and a new case pins 18.20.0 specifically: the version that used to pass here and fail one layer down.

Note on who this affects

This narrows who can install the package, which is why it's a separate PR rather than folded into the release bump. In practice the affected population is people on Node 18 who were already broken at startup — they now get an accurate error at the right layer, and npm warns them at install time instead.

CI already runs Node 22 only, so no workflow changes are needed.

Verification

npm run build passes: version sync, lint, format, 254 tests (up one), tsc.

engines.node said >=18 and preflight() enforced 18, but the bundled
@testingbot/automation-mcp hard-fails its own preflight below Node 20. A Node
18 user installed cleanly and then died at startup with an error pointing at
the dependency rather than at their runtime.

Raised in all four places that claimed 18: engines.node, preflight(), and the
two README mentions. The existing version test now expects the 20 message, and
a new case pins 18.20.0 specifically — the version that used to pass here and
fail one layer down.
@jochen-testingbot
jochen-testingbot merged commit ea928d8 into main Sep 21, 2026
5 checks passed
@jochen-testingbot
jochen-testingbot deleted the chore/node-20-floor branch September 21, 2026 08:17
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