Skip to content

test(snap): add pnpm v11 snap tests for command adaptation coverage#1289

Merged
graphite-app[bot] merged 1 commit intomainfrom
pnpm-v11-snap-tests
May 6, 2026
Merged

test(snap): add pnpm v11 snap tests for command adaptation coverage#1289
graphite-app[bot] merged 1 commit intomainfrom
pnpm-v11-snap-tests

Conversation

@fengmk2
Copy link
Copy Markdown
Member

@fengmk2 fengmk2 commented Apr 3, 2026

Add 26 snap test cases for pnpm@11.0.6 (latest stable v11), mirroring the existing pnpm10 test suite, to validate vp's command-adaptation layer against pnpm v11.

Coverage

New snap-tests-global/*-pnpm11 fixtures for: add, cache, config, dedupe, dlx, link, list, outdated, owner, pack, prune, publish, remove, unlink, update, view, vpx, why, dev-engines-runtime — plus workspace variants for add/list/outdated/pack/remove/update/why.

pnpm v11 compatibility findings

  • cache, dlx, owner, view, vpx — output identical to pnpm v10.
  • add, install, link — now report packageManagerDependencies (@pnpm/exe, pnpm) as part of install output; captured in snapshots.
  • why — output format restructured from tree-based to flat; captured in snapshots.
  • publish --dry-run — pnpm v11 no longer delegates to npm; minor output diff captured.
  • unlink (workaround applied) — pnpm v11 now runs a reconciling install after removing the override from pnpm-workspace.yaml. Under CI=true this defaults to --frozen-lockfile and fails with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH. Fix: snap tests pass -- --no-frozen-lockfile to vp unlink.
  • config at project scope (workaround applied) — pnpm v11 moved project config from .npmrc into pnpm-workspace.yaml, which only accepts camelCase keys. Test key renamed to vitePlusPmConfigTestKey.
  • dev-engines-runtime — bumped pinned Node.js to 22.22.2 to satisfy vp's current minimum (^20.19.0 || >=22.12.0).
  • prune — skipped on win32 (platform-specific output instability, matches other tests).

Global install is not affected — vp install -g already forces npm.

RFC updates

pnpm v11 is now stable, so the support matrix in 7 RFCs (add-remove, dedupe, install, link-unlink, outdated, update, why) lists pnpm@11.x as supported (no WIP marker). The link-unlink entry retains the -- --no-frozen-lockfile note for CI usage.

Test plan

  • pnpm -F vite-plus snap-test-global pnpm11 — all 26 cases pass with clean exit codes
  • cargo test -p vite_install --lib commands::unlink — unit tests still pass
  • CI green on all platforms

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 3, 2026

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 899bf25
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/69faaee8208f500008ce6d12

@fengmk2 fengmk2 self-assigned this Apr 3, 2026
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 3, 2026


How to use the Graphite Merge Queue

Add the label auto-merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@fengmk2 fengmk2 force-pushed the pnpm-v11-snap-tests branch from 155a35d to 733d977 Compare April 23, 2026 05:49
@fengmk2
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 23, 2026

@fengmk2
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 23, 2026

@cursor review

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 1 potential issue.

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 c4e9579. Configure here.

Comment thread packages/cli/snap-tests-global/command-add-pnpm11/snap.txt Outdated
@fengmk2 fengmk2 force-pushed the pnpm-v11-snap-tests branch from c0f9791 to c130058 Compare May 6, 2026 02:31
@fengmk2 fengmk2 marked this pull request as ready for review May 6, 2026 02:36
@fengmk2 fengmk2 requested review from branchseer and cpojer May 6, 2026 02:36
@fengmk2 fengmk2 force-pushed the pnpm-v11-snap-tests branch from 8dd7d2c to d4c90b7 Compare May 6, 2026 02:53
@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented May 6, 2026

Merge activity

…1289)

Add 26 snap test cases for `pnpm@11.0.6` (latest stable v11), mirroring the existing pnpm10 test suite, to validate `vp`'s command-adaptation layer against pnpm v11.

## Coverage

New `snap-tests-global/*-pnpm11` fixtures for: add, cache, config, dedupe, dlx, link, list, outdated, owner, pack, prune, publish, remove, unlink, update, view, vpx, why, dev-engines-runtime — plus workspace variants for add/list/outdated/pack/remove/update/why.

## pnpm v11 compatibility findings

- **`cache`,** **`dlx`,** **`owner`,** **`view`,** **`vpx`** — output identical to pnpm v10.
- **`add`,** **`install`,** **`link`** — now report `packageManagerDependencies` (`@pnpm/exe`, `pnpm`) as part of install output; captured in snapshots.
- **`why`** — output format restructured from tree-based to flat; captured in snapshots.
- **`publish --dry-run`** — pnpm v11 no longer delegates to npm; minor output diff captured.
- **`unlink`** **(workaround applied)** — pnpm v11 now runs a reconciling install after removing the override from `pnpm-workspace.yaml`. Under `CI=true` this defaults to `--frozen-lockfile` and fails with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH`. Fix: snap tests pass `-- --no-frozen-lockfile` to `vp unlink`.
- **`config`** **at project scope (workaround applied)** — pnpm v11 moved project config from `.npmrc` into `pnpm-workspace.yaml`, which only accepts camelCase keys. Test key renamed to `vitePlusPmConfigTestKey`.
- **`dev-engines-runtime`** — bumped pinned Node.js to `22.22.2` to satisfy vp's current minimum (`^20.19.0 || >=22.12.0`).
- **`prune`** — skipped on `win32` (platform-specific output instability, matches other tests).

Global install is not affected — `vp install -g` already forces npm.

## RFC updates

pnpm v11 is now stable, so the support matrix in 7 RFCs (`add-remove`, `dedupe`, `install`, `link-unlink`, `outdated`, `update`, `why`) lists `pnpm@11.x` as supported (no WIP marker). The `link-unlink` entry retains the `-- --no-frozen-lockfile` note for CI usage.

## Test plan

- [x] `pnpm -F vite-plus snap-test-global pnpm11` — all 26 cases pass with clean exit codes
- [x] `cargo test -p vite_install --lib commands::unlink` — unit tests still pass
- [x] CI green on all platforms
@graphite-app graphite-app Bot force-pushed the pnpm-v11-snap-tests branch from d4c90b7 to 899bf25 Compare May 6, 2026 03:00
@graphite-app graphite-app Bot merged commit 899bf25 into main May 6, 2026
39 checks passed
@graphite-app graphite-app Bot deleted the pnpm-v11-snap-tests branch May 6, 2026 03:17
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.

2 participants