Package.json engines version misalignment with README and CI #54

Closed
opened 2026-09-12 01:51:16 -04:00 by jared · 0 comments
Owner

Severity: medium · Type: tech-debt · Confidence: high

Location: package.json:8, README.md:~156, .node-version:1

Problem

Package.json declares "node": ">=16.0.0", but the README states "Node 20+ (CI builds on Node 24)" and .node-version pins 24.13.1. This creates a version contract mismatch — developers may build with Node 16 locally and create binaries incompatible with CI/production (which runs on Node 24).

How to trigger

Running npm ci with Node 16 or 18 will succeed but may hide subtle runtime differences (e.g. in V8 built-in behavior, path resolution, or module loader quirks).

Suggested fix

Update package.json engines.node to ">=20.0.0" to match the README and reflect CI reality. Consider adding engine-strict=true to .npmrc to enforce the minimum during npm install.

Also add an .nvmrc mirroring .node-version (24.13.1) so nvm users auto-switch.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** medium · **Type:** tech-debt · **Confidence:** high **Location:** `package.json:8`, `README.md:~156`, `.node-version:1` ### Problem Package.json declares `"node": ">=16.0.0"`, but the README states "Node 20+ (CI builds on Node 24)" and `.node-version` pins 24.13.1. This creates a version contract mismatch — developers may build with Node 16 locally and create binaries incompatible with CI/production (which runs on Node 24). ### How to trigger Running `npm ci` with Node 16 or 18 will succeed but may hide subtle runtime differences (e.g. in V8 built-in behavior, path resolution, or module loader quirks). ### Suggested fix Update package.json `engines.node` to `">=20.0.0"` to match the README and reflect CI reality. Consider adding `engine-strict=true` to `.npmrc` to enforce the minimum during `npm install`. Also add an `.nvmrc` mirroring `.node-version` (24.13.1) so nvm users auto-switch. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:16 -04:00
jared added the priority: mediumtech-debtarea: build-ci labels 2026-09-12 01:51:16 -04:00
jared self-assigned this 2026-09-12 01:51:16 -04:00
jared closed this issue 2026-09-12 20:29:10 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
2026-11-14
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#54