Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
@videojs/cdn
@videojs/cloudflare-video
@videojs/core
@videojs/dash-video
@videojs/element
@videojs/google-cast
@videojs/hlsjs-video
@videojs/html
@videojs/media
@videojs/mux-audio
@videojs/mux-data
@videojs/mux-video
@videojs/native-hls-video
@videojs/react
@videojs/shaka-video
@videojs/spf
@videojs/spotify-audio
@videojs/store
@videojs/tiktok-video
@videojs/twitch-video
@videojs/utils
@videojs/vimeo-video
@videojs/wistia-video
@videojs/youtube-video
commit: |
📦 Bundle Size Report🎨 @videojs/html
Presets (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
📦 @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 |
✅ Deploy Preview for vjs10-site ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
cjpillsbury
left a comment
There was a problem hiding this comment.
Pre-approving but I think we should resolve the cursor feedback before merging. Otherwise, LGTM!
| const skinsDir = resolve(packageDir, '../skins/src'); | ||
| const localeTags = [...LOCALES, ...localeAliases(LOCALES)]; | ||
|
|
||
| const cdnPresets = [ |
There was a problem hiding this comment.
thought(non-blocking): We should probably auto-generate this kind of stuff for maintainability/human+robots error. Def can be a followup.
There was a problem hiding this comment.
Agreed. Tracking as a follow-up: generate src/media/* and src/extensions/* from html's define/ tree instead of checking them in, with the parity test kept as the guard.
|
E2E triage: expected change — the generated Next registry consumer imports |
Browser-ready bundles, shared chunks, locales, stylesheets, the self-containment check, and the distribution archive move from `@videojs/html`'s `cdn/` directory into a dedicated `@videojs/cdn` package, so CDN URLs sit at the package root (`@videojs/cdn@<version>/video.js`, `.../media/mux-video.js`, `.../extensions/mux-data.js`). The build discovers media and extension bundles from `@videojs/html`'s `define/` entries so the npm and CDN surfaces cannot drift. Workflows, release-please, pkg-pr-new, sandbox, site constants, and self-hosting docs follow the new package. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7be3d5f. Configure here.
| rename: cdnStylesheetName, | ||
| inline: false, | ||
| minify: true, | ||
| }), |
There was a problem hiding this comment.
Skin CSS now embeds global rules
Medium Severity
Standalone skin sheets are copied from html's already-inlined dist CSS with no omitImport for global.css. Those files used to drop light-DOM rules so video.css could be linked inside a declarative shadow root. global.css selectors such as media-container video and the caption-track tweaks will now apply inside that shadow and can change layout and captions.
Reviewed by Cursor Bugbot for commit 7be3d5f. Configure here.
There was a problem hiding this comment.
Valid, and fixed in a follow-up: #2628 strips the inlined global.css text from the preset sheets and check-cdn-skins now asserts it.
Resolve the release-please config against the new package list, keeping every package on the rc prerelease type, and keep the block scalar for the release checkout verification that main lost again in #2598. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZ5RTqfnRMiiASH1T7tWVj


What this does
Moves the browser bundles out of
@videojs/htmlinto a dedicated@videojs/cdnpackage.Layout
@videojs/cdn@<version>/video.js.../media/<name>.jsmux-video/spf.jsstyle flavors.../extensions/<name>.js.../video.css,.../global.cssRules
@videojs/html's published output: every entry is a one-lineimport '@videojs/html/...', and stylesheets are copied from html'sdist. Nothing reaches into html sources.src/media/*andsrc/extensions/*are checked-in entry files. A test keeps them in step with html'sdefine/modules.check:cdnruns both self-hosting checks: every specifier resolves inside the package, and every generated skin survives as a browser-ready entry (check-cdn-skins.ts, ported to read html's published output). Generated skin registrations are kept as side effects in the bundles..d.tsis anexport {}stub.i18nis the one entry imported by name; a dts-only pack bundles its declarations from@videojs/core/i18nintoi18n.dev.d.tswith no imports, so@videojs/cdn/i18ntype-checks without installing another package.Also
Workflows, release-please, pkg-pr-new, sandbox, site constants, and self-hosting docs follow the new package.
Validation
pnpm build:cdn,pnpm -F @videojs/cdn check:cdn(412 bundles self-contained), cdn tests, workspace check, site tests.🤖 Generated with Claude Code
Note
Medium Risk
Breaking change for anyone pinning
@videojs/html/.../cdnURLs; release and archive upload now depend on@videojs/cdnas the distribution anchor instead of html.Overview
Extracts all script-tag / self-hosted browser bundles from
@videojs/htmlinto a new@videojs/cdnpackage. Consumers load@videojs/cdn@<version>/video.js(andmedia/,extensions/,locales/) instead of@videojs/html@<version>/cdn/....The new package builds from
@videojs/html’s publisheddist: thin entry files re-export html define modules, Rolldown produces dev/prod bundles at the package root, and styles are copied from html’s built CSS.@videojs/htmldrops itscdn/tree, CDN export map, andbuild:cdn/ archive /check:cdnscripts.Repo wiring follows the split: root
build:cdnandbuild:packagesexclude or target@videojs/cdn; release-please links@videojs/cdn; CD attachesvideojs-cdn-*archives to the cdn release; CI, pkg-pr-new previews, sandbox, e2e, CLI docs tests, and site docs/constants useVJS10_CDN_BASEand@videojs/cdnimports. Agent workflow docs now point SPF CDN entries atpackages/cdn/src/media/.copy-css-plugingainsrootDir/patternso cdn can copy css from html’s dist.Reviewed by Cursor Bugbot for commit 7be3d5f. Bugbot is set up for automated code reviews on this repo. Configure here.