fix(skins): harden shadcn registry delivery - #2576
Merged
mihar-22 merged 11 commits intoSep 3, 2026
Merged
Conversation
|
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. |
@videojs/core
@videojs/element
@videojs/html
@videojs/media
@videojs/react
@videojs/spf
@videojs/store
@videojs/utils
commit: |
Contributor
📦 Bundle Size Report🎨 @videojs/html
Small changes (6, ≤ 300 B)
Presets (7)
Media (18)
Extensions (2)
Players (5)
Skins (29)
UI Components (62)
⚛️ @videojs/react
Small changes (1, ≤ 300 B)
Presets (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/media
Entries (23)
📦 @videojs/spf — no changesEntries (10)
ℹ️ 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
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 00:28
cbf9917 to
160f18d
Compare
mihar-22
marked this pull request as ready for review
September 3, 2026 06:05
decepulis
approved these changes
Sep 3, 2026
mihar-22
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 18:52
160f18d to
bb8756e
Compare
mihar-22
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 18:53
bb8756e to
29ec95a
Compare
mihar-22
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 18:53
29ec95a to
4183440
Compare
mihar-22
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 18:54
4183440 to
56d999d
Compare
mihar-22
force-pushed
the
fix/shadcn-registry-delivery
branch
from
September 3, 2026 18:56
56d999d to
a1f262e
Compare
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.
Refs #1055
Stacked on #2557.
Summary
Harden VJSC skin styling and the source-owned Shadcn registry so installed skins carry their required theme, expose stable customization contracts, and are verified in clean external consumers. HTML registry delivery is now CSS-only, avoiding the oversized utility-heavy templates produced by HTML/Tailwind.
Changes
/htmlpathTesting
pnpm test:shadcn— 100 hosted items validatedpnpm exec vp run '@videojs/e2e#test:registry:full'— 3 passedpnpm -F vjsc test— 104 passedpnpm -F @videojs/skins test— 33 passedpnpm typecheckpnpm lintGenerated registry and consumer artifacts remain ignored and untracked.
Note
Medium Risk
Wide contract change (CSS selectors, registry paths, and HTML-only registry) affects embedders and e2e; core playback paths are mostly exercised via updated tests rather than logic in auth or payments.
Overview
Skins and registry move to
data-theme/data-preseton.media-skininstead of preset BEM classes, with preset-specific control hooks (.video-controls,.audio-controls) and renamed dialog/popover classes. Hosted Shadcn output lives underdist/shadcn/r; catalogs are React/Tailwind, React/CSS, and HTML/CSS only (HTML/Tailwind target and consumer projects removed). Registry items marktheme: true, ship per-skin CSS for HTML, and pull Tailwind theme from shared config rather than inlined registry CSS.Build/runtime picks icon families per skin, refines VJSC
$render(HTML trigger props through shared components, self-closing hosts), and only dedupes React package modules intoshared/when identical across themes. Style variants use theme + preset (not compound skin class names). Popups/menus centralize surface styling; error dialogs no longer rely on container:has()to hide controls.Verification updates shared Playwright selectors, registry setup to install both default and minimal skins per consumer, richer consumer.spec checks, skin-parity/sandbox/player tests for the new anatomy, a menu-context fix so nested refreshes don’t close the root menu, sandbox sync of
data-theme/data-preseton Tailwind custom elements, and CDN skin scope checks aligned with the new selectors.Reviewed by Cursor Bugbot for commit a1f262e. Bugbot is set up for automated code reviews on this repo. Configure here.