fix(test): fix hanging nuxt-5 e2e test#21177
Conversation
1. `dev-packages/e2e-tests/test-applications/nuxt-5/package.json` pins
`"nuxt": "npm:nuxt-nightly@5.x"`, an aliased dependency.
2. `nuxt-nightly@5.0.0-...` depends on `"@nuxt/nitro-server":
"npm:@nuxt/nitro-server-nightly@<exact same version>"`.
3. `@nuxt/nitro-server-nightly` declares `"peerDependencies": { "nuxt":
"npm:nuxt-nightly@<exact same version>" }`. This is a
self-referencing aliased peer dep that loops back to the top-level
dependency being installed.
4. pnpm's peer-dependency resolver deadlocks on this cycle: process goes
to 0% CPU, no open sockets, threads parked in kevent/uv_cond_wait.
Resolution shows `resolved 498, reused 0, downloaded 417, added 0`,
then hangs forever.
The solution is to use npm to install the dependencies, since npm does
not deadlock on this sort of peerDep alias cycle.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit eeaf782. Configure here.
| "test:dev": "bash ./nuxt-start-dev-server.bash && TEST_ENV=development playwright test environment", | ||
| "test:build": "pnpm install && pnpm build", | ||
| "test:build-canary": "pnpm add nuxt@npm:nuxt-nightly@latest && pnpm add nitro@npm:nitro-nightly@latest && pnpm install --force && pnpm build", | ||
| "test:build": "npm install && pnpm build", |
There was a problem hiding this comment.
npm rejects link devDependency
High Severity
test:build now runs npm install, but @sentry-internal/test-utils is declared with the pnpm-only link: protocol in devDependencies. npm does not support link: and typically fails with EUNSUPPORTEDPROTOCOL, so the build step can fail before pnpm build runs.
Reviewed by Cursor Bugbot for commit eeaf782. Configure here.
| "test:dev": "bash ./nuxt-start-dev-server.bash && TEST_ENV=development playwright test environment", | ||
| "test:build": "pnpm install && pnpm build", | ||
| "test:build-canary": "pnpm add nuxt@npm:nuxt-nightly@latest && pnpm add nitro@npm:nitro-nightly@latest && pnpm install --force && pnpm build", | ||
| "test:build": "npm install && pnpm build", |
There was a problem hiding this comment.
npm ignores pnpm overrides
Medium Severity
E2E setup injects pinned Sentry packages via pnpm.overrides before test:build, but npm install does not read pnpm.overrides. Transitive @sentry/* packages can resolve from the registry instead of the packed monorepo tarballs.
Reviewed by Cursor Bugbot for commit eeaf782. Configure here.


dev-packages/e2e-tests/test-applications/nuxt-5/package.jsonpins"nuxt": "npm:nuxt-nightly@5.x", an aliased dependency.nuxt-nightly@5.0.0-...depends on"@nuxt/nitro-server": "npm:@nuxt/nitro-server-nightly@<exact same version>".@nuxt/nitro-server-nightlydeclares"peerDependencies": { "nuxt": "npm:nuxt-nightly@<exact same version>" }. This is a self-referencing aliased peer dep that loops back to the top-level dependency being installed.resolved 498, reused 0, downloaded 417, added 0, then hangs forever.The solution is to use npm to install the dependencies, since npm does not deadlock on this sort of peerDep alias cycle.