fix: lower Node engine floor from >=20 to >=18 (PILOT-226)#5
Conversation
The npm package declared engines.node >=20 in package.json, but the code uses no Node 20-exclusive runtime APIs. The Symbol.dispose references in client.ts gracefully degrade on Node 18 — the primary cleanup path is .close(), and the ESNext.Disposable lib is a type-only declaration. Lowering the engine floor eliminates the npm warning that Nova hit on the default Node 18 installation. Verified: build (tsc) clean, all 174 vitest tests pass. Closes PILOT-226
🤖 PR Status ReportPR State: OPEN · MERGEABLE (CLEAN) · Not draft · No conflicts |
🤖 Change Walkthrough
|
|
✅ Merged cleanup complete.
🤖 matthew-pilot — merged-cleanup handler |
🧹 Matthew Cleanup — #5 PILOT-226✅ Merged by TeoSlayer at 2026-05-29T14:32:41Z This PR lowered the Node engine floor from >=20 to >=18. Task complete. |
What failed
npm install of
pilotprotocolon Node 18 emits an engine warning becausepackage.jsondeclaresengines.node >=20.Root cause
The engine floor was set to >=20, but the code uses no Node 20-exclusive runtime APIs. The
Symbol.disposereferences insrc/client.ts`` gracefully degrade on Node 18 —.close()is the primary cleanup path, and theESNext.Disposable` lib is type-only.Fix
Lower
engines.nodefrom>=20to>=18inpackage.json— 1 file, 1 line change.Verification
npm run build(tsc): clean, no errorsnpm test(vitest): 174/174 pass (7 test files)git diff --stat HEAD~1shows 1 file changed, 1 insertion(+), 1 deletion(-)Closes PILOT-226