Repository navigation
fix(pm): enforce package manager option compatibility - #3122
Conversation
Reject unsupported npm, pnpm, Yarn, and Bun options before execution. Use the supported Yarn script-skipping flags and preserve older Bun workspace filtering in interactive updates. Allow pnpm why finders without positional package names. Update existing resolver tests and CLI snapshots for the corrected behavior.
Add local and global regression snapshots for unsupported options and the pnpm publish JSON regression. Keep the publish fixture private.
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Remove the pnpm-only exception for --find-by from the shared argument parser. Restore the required positional argument in help output and cover the rejection in CLI snapshots.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: adb8f7b251
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Extend the related command fixtures instead of maintaining a separate version-guard fixture. Reuse existing pnpm add coverage and set packageManager in temporary manifests so local and global commands use the intended versions. Keep the npm publication probes private and cover why's required package names in its existing snapshots.
Apply the same minimum version to recursive and filtered updates in both interactive and noninteractive modes. Remove the interactive exception and use the shared option guards. Cover stable and prerelease rejection in resolver tests and update the existing Bun command snapshots. Reference: https://bun.com/blog/bun-v1.4
|
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Reject options that the selected package manager version cannot honor. Older versions can silently ignore these options, including npm versions that attempt to publish despite
--dry-runand pnpm versions that omit requested JSON output.vp why, including when using--find-by.--dry-runor--provenancewhen the npm version is unknown, because Vite+ cannot establish that npm will honor those options. Ordinary publish remains available.--skip-buildsfor Yarn 2.4 installs and--mode skip-buildfor Yarn 3 and later. Yarn Modern add commands require Yarn 3 or later for script skipping.--omit optionaltranslation because it excludes installation but still changes optional dependency versions inpackage.json.Version Reference
--dry-run--provenance--include-workspace-root--pack-destination--allow-build--save-catalogand--save-catalog-name--find-by--json--refresh-lockfile, used byvp install --fix-lockfile--skip-builds--mode skip-build--productionas a dependency-group selector--productionand--prod--no-optional