refactor(packages): bucket adapters and extensions under packages/ - #2635
Merged
Conversation
Move the playback adapter packages (and the private @videojs/mux helper they share) into packages/adapters/ and the player extensions into packages/extensions/ so the packages directory is easier to scan. Package names, commit scopes, and CI matrix entries are unchanged. Update everything that assumed a flat packages/ layout: the pnpm workspace globs, root vp run filters (./packages/**), root tsconfig references, release-please paths, the cd publish filter, pkg-pr-new preview paths, gitignore and formatter globs, the pack watch-ignore regex, and every script that enumerated packages/ (check-workspace, bundle-size, sandbox template prep, e2e registry setup, skins registry validator, and the site API docs builder) so they descend one level into bucket directories.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Deploy Preview for vjs-registry ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for vjs10-site ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
@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 |
mihar-22
approved these changes
Sep 4, 2026
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Group the 14 playback adapter packages under
packages/adapters/and the 2 player extensions underpackages/extensions/sopackages/is scannable again. Nothing about the published packages changes: names, exports, versions, commit scopes, and CI matrix entries are all the same.Changes
packages/adapters/:cloudflare-video,dash-video,hlsjs-video,native-hls-video,shaka-video,mux-video,mux-audio,spotify-audio,tiktok-video,twitch-video,vimeo-video,wistia-video,youtube-video, plus the privatemuxhelper they sharepackages/extensions/:google-cast,mux-data@videojs/mediastays atpackages/media; the framework, core, and tooling packages stay flatvp runfilters (./packages/**), root tsconfig references,.gitignore/ formatter globs, and the pack watch-ignore regexcdpublish filter, and pkg-pr-new preview pathspackages/now treats a manifest-less child as a bucket and descends one level:check-workspace,bundle-size, sandbox template prep, e2e registry setup, skins registry validator, and the site API docs builderAGENTS.mdrepository map and two internal records point at the new pathsImplementation details
extends/ build imports bumped one level (../../../), cross-package tsconfig references re-pointed, andrepository.directoryupdated. No source changes.check-workspacenow reports package dirs asadapters/mux-video; the commitlint-scope and metadata checks key on the basename so scopes stay unchanged.src/-only directory as a package so its manifest-less test fixtures keep working.link:targets re-resolved; no dependency versions changed.Testing
pnpm check:workspace(10/10),pnpm build:packages,pnpm typecheck,pnpm lint(0 errors)pnpm test: all packages pass except one pre-existingvjsccase (component-schema.test.ts › provides its companion declaration to the host build) that fails in my environment becausetsgowon't emit into the sandboxedTMPDIR; it doesn't touch any moved pathpnpm test:shadcn(exercises the skins registry validator),bundle-size.jsdiscovers the nested packages, sandboxprepare-template.tsstill drops private workspace depsNote
Medium Risk
Wide CI/release/workspace path changes with no adapter source edits; the main risk is release-please or publish filters missing a nested package after the manifest re-key.
Overview
Reorganizes the monorepo so 14 playback adapters (including private
mux) live underpackages/adapters/and two extensions (google-cast,mux-data) underpackages/extensions/, while core/framework packages stay flat atpackages/. Published@videojs/*names, versions, and commit scopes are unchanged; moves are path-only with updatedrepository.directory, tsconfigextends/references, and build imports.Tooling and CI are updated for one level of nesting: pnpm workspace globs, root
vp runfilters (./packages/**), release-please manifest/config keys, CD publish and pkg-pr-new preview paths,.gitignorefor nestedtypes/and.vjsc/, and pack watch-ignore for bucketeddist/paths. Scripts that used to list onlypackages/*now treat manifest-less directories as buckets and enumerate children (check-workspace, bundle-size discovery, sandbox template prep, e2e registry, skins registry validation).AGENTS.mdand a few internal doc links point at the new paths; SPF errors design doc paths referencepackages/adapters/hlsjs-videoinstead of flat package paths.Reviewed by Cursor Bugbot for commit d317562. Bugbot is set up for automated code reviews on this repo. Configure here.