Repository navigation
Conversation
The Linux smoke test on Node 20 fails at "Install packed packages globally" on every run since 2026-10-15: npm exits with "Cannot read properties of null (reading 'edgesOut')" before installing anything. The crash is a bug in npm 10, the npm that Node 20 ships, and npm fixed it in 11.6.0 (npm/cli#9787, the same defect as npm/cli#8261). This install reaches it through happy-server-self-host, privacy-kit and vite-tsconfig-paths, whose optional peer chain (vite, @vitejs/devtools) ends at vitest. vitest 4.1.12 was published on 2026-10-15 without @vitest/browser-webdriverio 4.1.12, and npm 10 crashes on the peer set that mixes the two releases. Reproduced with node v20.20.2 and npm 10.8.2, the runner's versions. The workflow's install crashes, and so does `npm install -g happy-server-self-host@1.1.11` from the registry. Limiting npm to versions published before 2026-10-15 14:40 UTC makes both pass, and before 14:53 UTC both crash again. npm 10.9.9 crashes too; npm 11.21.1 passes, and with it so do the job's remaining steps (`happy --help`, `happy doctor`, and `happy server` answering its Prisma-backed request). The Node 24 leg already runs npm 11 (11.19.0), so the Node 20 leg now upgrades npm to match. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
|
@bra1nDump: the CLI Smoke Test's Two more small fixes for things that fail on
If you have room in the same pass, two fixes for bugs users hit on
Every PR above, this one included, merges cleanly with green checks. |
Since 2026-10-15 the
smoke-test-linux (20)job fails at "Install packed packages globally": npm exits withCannot read properties of null (reading 'edgesOut')before installing anything, so every run of the CLI Smoke Test fails on that leg (#1850 has failed this way on each push since 2026-10-16). The crash is a bug in npm 10, the npm that Node 20 ships, and npm fixed it in 11.6.0 (npm/cli#9787, the same defect as npm/cli#8261). The Node 24 leg already runs npm 11, so this PR upgrades npm on the Node 20 leg right before the global install.Why it started on 2026-10-15
Nothing in this repo changed. The install reaches the npm bug through
happy-server-self-host→privacy-kit→vite-tsconfig-paths, whose optional peer chain (vite,@vitejs/devtools) ends atvitest. vitest 4.1.12 was published on 2026-10-15 between 14:41 and 14:51 UTC, and@vitest/browser-webdriverio4.1.12 was not, so npm 10 builds a peer set that mixes 4.1.12 and 4.1.11 and crashes in#loadPeerSet.The ERESOLVE warning printed just before the crash (the Prisma pair from #1723) is a separate problem: with
pglite-prisma-adapterpinned to 0.6.1 the warning goes away and the crash stays.Proof
Reproduced on Linux x64 with node v20.20.2 and npm 10.8.2, the runner's versions, using packs built from
main(b3b9fa2) by this workflow's own build and pack steps:npm install -gof the three packsnpm install -g happy-server-self-host@1.1.11from the registry--before=2026-10-15T14:40:00Z--before=2026-10-15T14:53:00ZWith the step from this PR applied to a fresh Node 20.20.2 (
npm install -g npm@^11.6.0upgrades its own npm from 10.8.2 to 11.21.1), the workflow's install passes, and so do the job's remaining steps:happy --help,--version,doctor,daemon status, andhappy serverbooting and answering/v1/auth/request/status. The CI run on this PR is the end-to-end check.--legacy-peer-depsavoids the crash as well. I left it out because it changes how npm resolves the tree, which is what this job tests. Anyone who installshappy-server-self-hostwith npm 10 hits the same crash today, andnpm install -g npm@11is the workaround for them too.🤖 Generated with Claude Code