This repository was archived by the owner on Oct 21, 2026. It is now read-only.
Repository navigation
chore(root): upgrade workspace and ci to pnpm 12 - #2695
Merged
Merged
Conversation
pnpm 12 records its own binary and per-platform executables in a second lockfile document, so the lockfile changes alongside the pin. Any pnpm since 9.7 switches to the pinned version automatically, so contributors need no manual upgrade.
action-setup gained pnpm 12 support in 6.1.0 (pnpm/action-setup#288), but the moving v6 tag still points at 6.0.10, so pin the patch release until the major tag catches up.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Deploy Preview for vjs10-site ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for vjs-registry ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
mihar-22
marked this pull request as ready for review
September 9, 2026 21:21
@videojs/cdn
@videojs/core
@videojs/element
@videojs/html
@videojs/media
@videojs/react
@videojs/spf
@videojs/store
@videojs/utils
@videojs/cloudflare-video
@videojs/dash-video
@videojs/hlsjs-video
@videojs/mux-audio
@videojs/mux-video
@videojs/native-hls-video
@videojs/shaka-video
@videojs/spotify-audio
@videojs/tiktok-video
@videojs/twitch-video
@videojs/vimeo-video
@videojs/wistia-video
@videojs/youtube-video
@videojs/google-cast
@videojs/mux-data
commit: |
Contributor
📦 Bundle Size Report🎨 @videojs/html — no changesPresets (7)
Media (18)
Players (5)
Skins (29)
UI Components (62)
⚛️ @videojs/react — no changesPresets (7)
Media (22)
Extensions (2)
Players (5)
Skins (18)
UI Components (39)
🧩 @videojs/core — no changesEntries (76)
🏷️ @videojs/element — no changesEntries (2)
📦 @videojs/store — no changesEntries (3)
🔧 @videojs/utils — no changesEntries (13)
📦 @videojs/cdn — no changes📦 @videojs/cloudflare-video — no changes📦 @videojs/dash-video — no changes📦 @videojs/google-cast — no changes📦 @videojs/hlsjs-video — no changes📦 @videojs/media — no changesEntries (3)
📦 @videojs/mux — no changes📦 @videojs/mux-audio — no changesEntries (2)
📦 @videojs/mux-data — no changes📦 @videojs/mux-video — no changesEntries (2)
📦 @videojs/native-hls-video — no changes📦 @videojs/shaka-video — no changes📦 @videojs/spf — no changesEntries (7)
📦 @videojs/spotify-audio — no changes📦 @videojs/tiktok-video — no changes📦 @videojs/twitch-video — no changes📦 @videojs/vimeo-video — no changes📦 @videojs/wistia-video — no changesEntries (2)
📦 @videojs/youtube-video — no changesℹ️ How to interpretEach entry is independently bundled, minified, and brotli-compressed. Initial size includes its static import graph; lazy dynamic chunks are reported separately. Entries are not additive because their dependency graphs overlap. Preset rows represent realistic combined bundles. Changes of 300 B or less across initial, lazy, and total size are collapsed, not discarded. Run |
…jobs main rewrote e2e.yml after this branch pinned the action, so the merge brought back three v4 references.
sampotts
approved these changes
Sep 9, 2026
This branch was successfully deployed
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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Move the workspace and CI from pnpm 11.17.0 to pnpm 12.3.4, the current
latest. CI installs it throughpnpm/action-setup@v6.1.0, the first release of that action that can install pnpm 12.Changes
packageManagerpinspnpm@12.3.4. Any pnpm since 9.7 switches to the pinned version automatically, so contributors do not need to upgrade their global install.pnpm-lock.yaml. A frozen install fails without it, so the lockfile changes with the pin. The dependency graph itself is untouched.pnpm/action-setup@v6.1.0. That release adds pnpm 12 support (feat: support pnpm v12 pnpm/action-setup#288), but the movingv6tag still points at 6.0.10, so the patch release is pinned until the major tag catches up.CONTRIBUTING.mdprerequisite bumped to pnpm ≥ 12.3.4.Notes for reviewers
pnpm-workspace.yamlkeys. Every key in ours passes.packageManager. Since 12.3.3 pnpm runs through Node when installed without lifecycle scripts, but the deploy preview is the real check.pnpm/setup, which replaces both this action andactions/setup-node. That restructure is out of scope; the 6.1.0 README states action-setup plus setup-node remains supported for pnpm 11 and 12.Testing
pnpm install --frozen-lockfilein a fresh worktree under 12.3.4 succeeds and leaves the lockfile byte-identical.vp run @videojs/utils#buildandvp run @videojs/utils#test:cion that install: 58 files, 483 tests pass.--config.x=y,-C,--dir,-r --filter --fail-if-no-match.pnpm lintis clean.🤖 Generated with Claude Code
Note
Medium Risk
Touches all CI/CD install paths and the lockfile format; a pnpm 12 install or resolver quirk could break builds or deploys until CI and Netlify validate.
Overview
Upgrades the monorepo from pnpm 11.17.0 to pnpm 12.3.4 by updating the root
packageManagerfield and refreshingpnpm-lock.yamlwith pnpm 12’s extra lockfile document (pinned pnpm binary / platform executables) so--frozen-lockfilestill passes—the dependency graph itself is unchanged.Every GitHub Actions workflow that installs pnpm now uses
pnpm/action-setup@v6.1.0(pinned instead ofv4/ floatingv6) so CI can install pnpm 12. CONTRIBUTING.md documents the new minimum pnpm version (≥ 12.3.4).Reviewed by Cursor Bugbot for commit 3e1eca5. Bugbot is set up for automated code reviews on this repo. Configure here.