Skip to content

fix(test): fix hanging nuxt-5 e2e test#21177

Draft
isaacs wants to merge 1 commit into
developfrom
isaacs/fix-hanging-nuxt-5-e2e
Draft

fix(test): fix hanging nuxt-5 e2e test#21177
isaacs wants to merge 1 commit into
developfrom
isaacs/fix-hanging-nuxt-5-e2e

Conversation

@isaacs
Copy link
Copy Markdown
Member

@isaacs isaacs commented May 26, 2026

  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.

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.
@isaacs isaacs marked this pull request as draft May 26, 2026 22:23
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ 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",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

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",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit eeaf782. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant