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
pnpm 12 rewrites the package manager in Rust while retaining pnpm 11's commands, settings, and lockfile compatibility.
For Stagehand's common workflows, pnpm 12.1 is 45% to 65% faster than pnpm 11.10.
what changed
Upgrade repository tooling from pnpm 11.10.0 to pnpm 12.1.0.
Update CI, preview, and release workflows to install pnpm 12.1.0.
Keep source examples compatible with pnpm 11.10.0 or newer.
benchmark
Store
node_modules
Scripts
pnpm 11.10
pnpm 12.1
Change
Warm
Present
Disabled
172 ms
63 ms
63.3% faster
Cold
Present
Disabled
172 ms
60 ms
65.1% faster
Warm
Absent
Disabled
5.530 s
3.034 s
45.1% faster
Cold
Absent
Disabled
37.403 s
39.661 s
6.0% slower
Warm
Absent
Enabled
6.457 s
2.547 s
60.6% faster
Cold
Absent
Enabled
38.359 s
42.271 s
10.2% slower
The main results:
Existing installations complete 63% to 65% faster.
Clean installs from a warm store complete 45% faster with scripts disabled.
Clean installs with lifecycle scripts complete 61% faster.
The package contract test improved from a 3.36-second median to 2.54 seconds, or 24.3%.
Fully cold installs were 6% to 10% slower because registry transfer dominated the result.
test plan
pnpm install --frozen-lockfile
pnpm build
pnpm test
pnpm exec vitest run packages/sdk-ts/tests/packageContract.test.ts
pnpm fmt:check
git diff --check
Summary by cubic
Upgrades the repository from pnpm 11.10.0 to pnpm 12.1.0, which is significantly faster for common workflows. Existing installs run 45–65% faster, and clean installs from a warm store are 45–61% faster, with a minor slowdown on fully cold installs.
Details
Updates all CI, preview, and release workflows to install pnpm 12.1.0.
Regenerates the lockfile and updates devEngines.packageManager in package.json.
Relaxes documentation requirements from exact pnpm 11.10.0 to "11.10.0 or newer" to keep source examples compatible.
Updates the package contract test to use pnpm 12.1.0.
Written for commit b3f59fe. Summary will update on new commits.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
This PR is from an external contributor and must be approved by a stagehand team member with write access before CI can run.
Approving the latest commit mirrors it into an internal PR owned by the approver.
If new commits are pushed later, the internal PR stays open but is marked stale until someone approves the latest external commit and refreshes it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
why
pnpm 12 rewrites the package manager in Rust while retaining pnpm 11's commands, settings, and lockfile compatibility.
For Stagehand's common workflows, pnpm 12.1 is 45% to 65% faster than pnpm 11.10.
what changed
benchmark
node_modulesThe main results:
test plan
pnpm install --frozen-lockfilepnpm buildpnpm testpnpm exec vitest run packages/sdk-ts/tests/packageContract.test.tspnpm fmt:checkgit diff --checkSummary by cubic
Upgrades the repository from pnpm 11.10.0 to pnpm 12.1.0, which is significantly faster for common workflows. Existing installs run 45–65% faster, and clean installs from a warm store are 45–61% faster, with a minor slowdown on fully cold installs.
Details
devEngines.packageManagerinpackage.json.Written for commit b3f59fe. Summary will update on new commits.