You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
agent-browser and cf still blend a second npm into sessions with node-lts (follow-up to #665/#670) #751
At 57dd648 (current main), a session that includes node-lts alongside agent-browser or cf gets a blended /usr/lib/node_modules/npm that cannot load. Every npm/npx call dies:
npm error Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/minipass-flush/index.js:5:21)
at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/cacache/lib/content/write.js:10:15)
This is the same failure class as #665. #670 closed it for pnpm (subsetOf node ["node"]), but agent-browser and cf still import the full ../node/build.ncl, so they still contribute a second npm tree.
min session activate --no-hooks -n repro
min session exec repro -- bash -c 'true; npx --version'# → Class extends value undefined…
At the previous pin d2bed3122340ef6ffe9161fd21e584f4bdf0e488 the same package set gets npm 11.11.0 and the tree loads. The regression came with the node-lts 24.14.1 → 24.19.0 bump, which moved its bundled npm ahead of node's.
Impact
gominimal/webapp's session activation hook fails: scripts/dev.sh runs npx astro dev, so min session activate fails with FinalizeSession failed: activation hook … failed (Failed { code: Some(1) }). The webapp stays on d2bed31 until this is fixed.
Suggested fix
Apply #670's approach to agent-browser and cf: depend on subsetOf node ["node"] rather than the whole node package, if they only need the binary at runtime. A structural guard would also help, e.g. a composition-time check or test that fails when two closure members ship different files at the same /usr/lib/node_modules/npm path.
Activity
capy, vlt: depend on node-lts's binary only at runtime (#751)
node consumers: build and run on node-lts, not node (#751 review)
node packages: private libexec prefixes + guard against a second npm (g…
node consumers: node-lts interpreter only at runtime, node-lts to bui…