Skip to content

refactor(packages)!: MediaComponent => MediaExtension - #2601

Merged
mihar-22 merged 2 commits into
mainfrom
pr4/media-extension
Sep 3, 2026
Merged

refactor(packages)!: MediaComponent => MediaExtension#2601
mihar-22 merged 2 commits into
mainfrom
pr4/media-extension

Conversation

@mihar-22

@mihar-22 mihar-22 commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

Stacked on #2600. Mechanical rename that aligns the media-host vocabulary with the extension packages.

Package Before After
@videojs/media MediaComponent, MediaComponentConstructor, MediaComponents MediaExtension, MediaExtensionConstructor, MediaExtensions
@videojs/media addMediaComponent, getMediaComponents addMediaExtension, getMediaExtensions
@videojs/media MediaFull, MediaFullEvents CommonMedia, CommonMediaEvents
@videojs/html MediaComponentElement MediaExtensionElement
@videojs/react useMediaComponent useMediaExtension

The useMediaExtension reference page replaces use-media-component, with a Netlify redirect from the old slug.

Validation

  • pnpm build:packages, pnpm typecheck, pnpm lint, pnpm check:workspace
  • @videojs/media, @videojs/mux-data, @videojs/google-cast, @videojs/html, @videojs/react, and site test suites

🤖 Generated with Claude Code


Note

Medium Risk
Wide breaking API renames across @videojs/media, HTML, and React require consumer updates; behavior should be unchanged if callers migrate symbols.

Overview
Breaking rename that aligns media-host vocabulary with the extension packages: plug-ins that register on a media host are now called media extensions instead of media components.

In @videojs/media, MediaComponent / MediaComponents become MediaExtension / MediaExtensions, with addMediaExtension and getMediaExtensions replacing the *Component helpers (registry logic is unchanged; media-components.ts is now media-extensions.ts). Composed media types are renamed from MediaFull / MediaFullEvents to CommonMedia / CommonMediaEvents.

@videojs/html renames the custom-element base from MediaComponentElement to MediaExtensionElement; Google Cast and Mux Data elements extend it and call addMediaExtension. @videojs/react exports useMediaExtension instead of useMediaComponent, and Cast/Mux wrappers use the new hook.

Tests and integration packages (google-cast, hlsjs-video) follow the new names. Docs use the use-media-extension reference slug, sidebar entry, and a Netlify 301 from use-media-component.

Reviewed by Cursor Bugbot for commit 19f4a9a. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
v10-sandbox Ready Ready Preview Sep 3, 2026 9:13pm UTC

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Sep 2, 2026

Copy link
Copy Markdown
@videojs/cdn

pnpm add https://pkg.pr.new/videojs/v10/@videojs/cdn@2601

@videojs/cloudflare-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/cloudflare-video@2601

@videojs/core

pnpm add https://pkg.pr.new/videojs/v10/@videojs/core@2601

@videojs/dash-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/dash-video@2601

@videojs/element

pnpm add https://pkg.pr.new/videojs/v10/@videojs/element@2601

@videojs/google-cast

pnpm add https://pkg.pr.new/videojs/v10/@videojs/google-cast@2601

@videojs/hlsjs-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/hlsjs-video@2601

@videojs/html

pnpm add https://pkg.pr.new/videojs/v10/@videojs/html@2601

@videojs/media

pnpm add https://pkg.pr.new/videojs/v10/@videojs/media@2601

@videojs/mux-audio

pnpm add https://pkg.pr.new/videojs/v10/@videojs/mux-audio@2601

@videojs/mux-data

pnpm add https://pkg.pr.new/videojs/v10/@videojs/mux-data@2601

@videojs/mux-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/mux-video@2601

@videojs/native-hls-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/native-hls-video@2601

@videojs/react

pnpm add https://pkg.pr.new/videojs/v10/@videojs/react@2601

@videojs/shaka-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/shaka-video@2601

@videojs/spf

pnpm add https://pkg.pr.new/videojs/v10/@videojs/spf@2601

@videojs/spotify-audio

pnpm add https://pkg.pr.new/videojs/v10/@videojs/spotify-audio@2601

@videojs/store

pnpm add https://pkg.pr.new/videojs/v10/@videojs/store@2601

@videojs/tiktok-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/tiktok-video@2601

@videojs/twitch-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/twitch-video@2601

@videojs/utils

pnpm add https://pkg.pr.new/videojs/v10/@videojs/utils@2601

@videojs/vimeo-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/vimeo-video@2601

@videojs/wistia-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/wistia-video@2601

@videojs/youtube-video

pnpm add https://pkg.pr.new/videojs/v10/@videojs/youtube-video@2601

commit: a640e92

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

🎨 @videojs/html — 6 small size changes
Path Base initial PR initial Initial diff Lazy diff
/media/mux-audio 2.69 kB 2.69 kB -1 B (-0.0%)
/media/dash-video 2.62 kB 2.62 kB -1 B (-0.0%)
/media/hls-video 27.98 kB 28.02 kB +33 B (+0.1%)
/media/hlsjs-video 2.62 kB 2.63 kB +3 B (+0.1%)
/media/native-hls-video 7.59 kB 7.54 kB -44 B (-0.6%)
/media/shaka-video 2.62 kB 2.62 kB -3 B (-0.1%)
Presets (7)
Entry Initial Lazy
/video (default) 62.68 kB 56.87 kB
/video (default + hls) 64.47 kB 56.87 kB
/video (minimal) 63.04 kB 56.87 kB
/video (minimal + hls) 64.81 kB 56.87 kB
/audio (default) 47.02 kB 56.87 kB
/audio (minimal) 47.23 kB 56.87 kB
/background 11.57 kB 56.87 kB
Media (18)
Entry Initial
/media/mux-video 3.02 kB
/media/mux-audio 2.69 kB
/media/background-video 1.16 kB
/media/cloudflare-video 2.89 kB
/media/dash-video 2.62 kB
/media/hls-audio 22.05 kB
/media/hls-background-video 16.80 kB
/media/hls-video 28.02 kB
/media/hlsjs-video 2.63 kB
/media/mux-background-video 16.83 kB
/media/native-hls-video 7.54 kB
/media/shaka-video 2.62 kB
/media/spotify-audio 3.01 kB
/media/tiktok-video 3.12 kB
/media/twitch-video 2.93 kB
/media/vimeo-video 2.90 kB
/media/wistia-video 604 B
/media/youtube-video 2.90 kB
Players (5)
Entry Initial Lazy
/video/player 9.70 kB 56.87 kB
/audio/player 6.14 kB 56.87 kB
/background/player 4.46 kB 56.87 kB
/live-video/player 9.06 kB 56.87 kB
/live-audio/player 6.15 kB 56.87 kB
Skins (29)
Entry Type Initial Lazy
/video/minimal-skin.css css 7.65 kB
/video/skin.css css 7.46 kB
/video/minimal-skin js 61.46 kB 56.87 kB
/video/minimal-skin2 js 8.09 kB
/video/skin js 61.34 kB 56.87 kB
/video/skin2 js 7.95 kB
/audio/minimal-skin.css css 5.53 kB
/audio/skin.css css 5.34 kB
/audio/minimal-skin js 45.76 kB 56.87 kB
/audio/minimal-skin2 js 5.83 kB
/audio/skin js 45.52 kB 56.87 kB
/audio/skin2 js 5.65 kB
/background/skin.css css 139 B
/background/skin js 9.81 kB 56.87 kB
/background/skin2 js 187 B
/live-video/minimal-skin.css css 6.21 kB
/live-video/skin.css css 6.18 kB
/live-video/minimal-skin js 49.42 kB 56.87 kB
/live-video/minimal-skin2 js 6.55 kB
/live-video/skin js 49.42 kB 56.87 kB
/live-video/skin2 js 6.58 kB
/live-audio/minimal-skin.css css 4.39 kB
/live-audio/skin.css css 4.37 kB
/live-audio/minimal-skin js 35.39 kB 56.87 kB
/live-audio/minimal-skin2 js 4.64 kB
/live-audio/skin js 35.40 kB 56.87 kB
/live-audio/skin2 js 4.63 kB
/global.css css 190 B
/shared.css css 118 B
UI Components (62)
Entry Initial Lazy
/ui/airplay-button 11.26 kB 56.87 kB
/ui/alert-dialog 8.79 kB 56.87 kB
/ui/audio-track-radio-group 11.38 kB 56.87 kB
/ui/buffering-indicator 8.61 kB 56.87 kB
/ui/captions-button 11.51 kB 56.87 kB
/ui/captions-radio-group 11.46 kB 56.87 kB
/ui/cast-button 11.25 kB 56.87 kB
/ui/container 9.47 kB 56.87 kB
/ui/controls 8.77 kB 56.87 kB
/ui/controls-backdrop 1.69 kB 56.87 kB
/ui/controls-content 1.67 kB 56.87 kB
/ui/dialog 8.73 kB 56.87 kB
/ui/dialog-backdrop 1.70 kB 56.87 kB
/ui/dialog-close 2.06 kB 56.87 kB
/ui/dialog-description 1.69 kB 56.87 kB
/ui/dialog-popup 1.90 kB 56.87 kB
/ui/dialog-title 1.70 kB 56.87 kB
/ui/error-dialog 12.38 kB 56.87 kB
/ui/fullscreen-button 11.27 kB 56.87 kB
/ui/gesture 9.56 kB 56.87 kB
/ui/hotkey 9.97 kB 56.87 kB
/ui/live-button 9.74 kB 56.87 kB
/ui/menu 18.45 kB 56.87 kB
/ui/menu-checkbox-item 1.97 kB 56.87 kB
/ui/menu-content 7.52 kB 56.87 kB
/ui/menu-group 2.09 kB 56.87 kB
/ui/menu-group-label 1.64 kB
/ui/menu-item 2.29 kB 56.87 kB
/ui/menu-item-indicator 1.37 kB 56.87 kB
/ui/menu-radio-group 3.01 kB 56.87 kB
/ui/menu-radio-item 2.13 kB 56.87 kB
/ui/menu-separator 1.30 kB 56.87 kB
/ui/mute-button 11.28 kB 56.87 kB
/ui/pip-button 11.22 kB 56.87 kB
/ui/play-button 11.23 kB 56.87 kB
/ui/playback-rate-button 11.32 kB 56.87 kB
/ui/playback-rate-radio-group 11.37 kB 56.87 kB
/ui/popover 8.57 kB 56.87 kB
/ui/poster 8.67 kB 56.87 kB
/ui/quality-radio-group 11.97 kB 56.87 kB
/ui/seek-button 11.27 kB 56.87 kB
/ui/seek-indicator 12.69 kB 56.87 kB
/ui/seek-indicator-value 1.10 kB
/ui/slider 11.65 kB 56.87 kB
/ui/slider-preview 2.01 kB 56.87 kB
/ui/status-announcer 10.59 kB 56.87 kB
/ui/status-indicator 13.02 kB 56.87 kB
/ui/status-indicator-value 1.10 kB
/ui/thumbnail 9.84 kB 56.87 kB
/ui/time 10.79 kB 56.87 kB
/ui/time-slider 12.99 kB 56.87 kB
/ui/time-slider-chapter-title 8.79 kB 56.87 kB
/ui/time-slider-chapters 9.63 kB 56.87 kB
/ui/title 8.17 kB 56.87 kB
/ui/tooltip 9.95 kB 56.87 kB
/ui/tooltip-label 1.21 kB
/ui/tooltip-shortcut 1.18 kB
/ui/volume-indicator 13.01 kB 56.87 kB
/ui/volume-indicator-fill 1.11 kB
/ui/volume-indicator-value 1.10 kB
/ui/volume-popover 14.74 kB 56.87 kB
/ui/volume-slider 12.31 kB 56.87 kB
⚛️ @videojs/react — 5 small size changes
Path Base initial PR initial Initial diff Lazy diff
/extensions/google-cast 1.59 kB 1.59 kB -1 B (-0.1%)
/extensions/mux-data 1.63 kB 1.63 kB +3 B (+0.2%)
/media/hls-audio 20.32 kB 20.38 kB +60 B (+0.3%)
/media/hls-video 26.33 kB 26.36 kB +32 B (+0.1%)
/media/native-hls-video 5.76 kB 5.76 kB -4 B (-0.1%)
Presets (7)
Entry Initial Lazy
/video (default) 50.60 kB 56.87 kB
/video (default + hls) 50.85 kB 56.87 kB
/video (minimal) 50.74 kB 56.87 kB
/video (minimal + hls) 50.94 kB 56.87 kB
/audio (default) 39.53 kB 56.87 kB
/audio (minimal) 39.57 kB 56.87 kB
/background 581 B 56.87 kB
Media (22)
Entry Initial
/media/mux-video/hls-js 986 B
/media/mux-video/spf 23.03 kB
/media/mux-audio/hls-js 733 B
/media/mux-audio/spf 19.49 kB
/media/background-video 402 B
/media/cloudflare-video 914 B
/media/dash-video 710 B
/media/hls-audio 20.38 kB
/media/hls-background-video 16.46 kB
/media/hls-video 26.36 kB
/media/hlsjs-video 711 B
/media/mux-audio 726 B
/media/mux-background-video 16.45 kB
/media/mux-video 980 B
/media/native-hls-video 5.76 kB
/media/shaka-video 711 B
/media/spotify-audio 902 B
/media/tiktok-video 908 B
/media/twitch-video 929 B
/media/vimeo-video 887 B
/media/wistia-video 619 B
/media/youtube-video 891 B
Extensions (2)
Entry Initial
/extensions/google-cast 1.59 kB
/extensions/mux-data 1.63 kB
Players (5)
Entry Initial Lazy
/video/player 7.56 kB 56.87 kB
/audio/player 4.00 kB 56.87 kB
/background/player 2.27 kB 56.87 kB
/live-video/player 6.95 kB 56.87 kB
/live-audio/player 3.99 kB 56.87 kB
Skins (18)
Entry Type Initial Lazy
/video/minimal-skin.css css 7.52 kB
/video/skin.css css 7.34 kB
/video/minimal-skin js 50.59 kB 56.87 kB
/video/skin js 50.49 kB 56.87 kB
/audio/minimal-skin.css css 5.37 kB
/audio/skin.css css 5.18 kB
/audio/minimal-skin js 39.47 kB 56.87 kB
/audio/skin js 39.41 kB 56.87 kB
/background/skin.css css 90 B
/background/skin js 277 B
/live-video/minimal-skin.css css 6.07 kB
/live-video/skin.css css 6.05 kB
/live-video/minimal-skin js 42.56 kB 56.87 kB
/live-video/skin js 42.52 kB 56.87 kB
/live-audio/minimal-skin.css css 4.24 kB
/live-audio/skin.css css 4.21 kB
/live-audio/minimal-skin js 30.37 kB 56.87 kB
/live-audio/skin js 30.35 kB 56.87 kB
UI Components (39)
Entry Initial Lazy
/ui/airplay-button 10.45 kB 56.87 kB
/ui/alert-dialog 4.73 kB 56.87 kB
/ui/audio-track 7.94 kB 56.87 kB
/ui/audio-track-radio-group 9.48 kB 56.87 kB
/ui/buffering-indicator 7.80 kB 56.87 kB
/ui/captions-button 10.44 kB 56.87 kB
/ui/captions-radio-group 9.59 kB 56.87 kB
/ui/cast-button 10.44 kB 56.87 kB
/ui/controls 7.71 kB 56.87 kB
/ui/dialog 4.75 kB 56.87 kB
/ui/error-dialog 11.80 kB 56.87 kB
/ui/fullscreen-button 10.40 kB 56.87 kB
/ui/gesture 7.99 kB 56.87 kB
/ui/hotkey 8.38 kB 56.87 kB
/ui/live-button 8.80 kB 56.87 kB
/ui/menu 19.45 kB 56.87 kB
/ui/mute-button 10.44 kB 56.87 kB
/ui/pip-button 10.39 kB 56.87 kB
/ui/play-button 10.37 kB 56.87 kB
/ui/playback-rate 7.99 kB 56.87 kB
/ui/playback-rate-button 10.37 kB 56.87 kB
/ui/playback-rate-radio-group 9.53 kB 56.87 kB
/ui/popover 8.16 kB 56.87 kB
/ui/poster 7.57 kB 56.87 kB
/ui/quality 8.42 kB 56.87 kB
/ui/quality-radio-group 9.95 kB 56.87 kB
/ui/seek-button 10.41 kB 56.87 kB
/ui/seek-indicator 11.98 kB 56.87 kB
/ui/slider 12.76 kB 56.87 kB
/ui/status-announcer 10.10 kB 56.87 kB
/ui/status-indicator 12.29 kB 56.87 kB
/ui/thumbnail 8.73 kB 56.87 kB
/ui/time 9.77 kB 56.87 kB
/ui/time-slider 14.17 kB 56.87 kB
/ui/title 7.28 kB 56.87 kB
/ui/tooltip 8.93 kB 56.87 kB
/ui/volume-indicator 12.33 kB 56.87 kB
/ui/volume-popover 14.20 kB 56.87 kB
/ui/volume-slider 12.14 kB 56.87 kB
🧩 @videojs/core — no changes
Entries (76)
Entry Initial Lazy
. 13.15 kB
/dom 22.53 kB 56.87 kB
/vjsc 1.82 kB
/i18n 3.23 kB 56.87 kB
/i18n/locales/all 34.97 kB
/i18n/locales/ar 1.22 kB
/i18n/locales/az 1.09 kB
/i18n/locales/bg 1.29 kB
/i18n/locales/bn 1.23 kB
/i18n/locales/bs 1.00 kB
/i18n/locales/ca 1.07 kB
/i18n/locales/cs 1.07 kB
/i18n/locales/cy 1.02 kB
/i18n/locales/da 1006 B
/i18n/locales/de 1.09 kB
/i18n/locales/el 1.49 kB
/i18n/locales/en 785 B
/i18n/locales/es 1018 B
/i18n/locales/et 1.05 kB
/i18n/locales/eu 1.03 kB
/i18n/locales/fa 1.22 kB
/i18n/locales/fi 1.04 kB
/i18n/locales/fr 1.07 kB
/i18n/locales/gd 1.10 kB
/i18n/locales/gl 1022 B
/i18n/locales/he 1.14 kB
/i18n/locales/hi 1.30 kB
/i18n/locales/hr 1.02 kB
/i18n/locales/hu 1.10 kB
/i18n/locales/id 919 B
/i18n/locales/it 1.01 kB
/i18n/locales/ja 1.18 kB
/i18n/locales/ko 1.14 kB
/i18n/locales/lt 1.02 kB
/i18n/locales/lv 1.09 kB
/i18n/locales/mr 1.30 kB
/i18n/locales/nb 987 B
/i18n/locales/ne 1.29 kB
/i18n/locales/nl 1.00 kB
/i18n/locales/nn 987 B
/i18n/locales/oc 1.08 kB
/i18n/locales/pl 1.14 kB
/i18n/locales/pt 1.03 kB
/i18n/locales/pt-BR 1.03 kB
/i18n/locales/pt-PT 1.01 kB
/i18n/locales/ro 1.07 kB
/i18n/locales/ru 1.40 kB
/i18n/locales/sk 1.10 kB
/i18n/locales/sl 1.04 kB
/i18n/locales/sr 1.07 kB
/i18n/locales/sv 1.01 kB
/i18n/locales/te 1.32 kB
/i18n/locales/th 1.29 kB
/i18n/locales/tr 1.08 kB
/i18n/locales/uk 1.41 kB
/i18n/locales/vi 1.11 kB
/i18n/locales/zh 1.02 kB
/i18n/locales/zh-CN 1.02 kB
/i18n/locales/zh-TW 1.02 kB
/i18n/text/airplay 101 B
/i18n/text/buttons 137 B
/i18n/text/captions 93 B
/i18n/text/cast 114 B
/i18n/text/common 90 B
/i18n/text/container 75 B
/i18n/text/errors 285 B
/i18n/text/fullscreen 98 B
/i18n/text/live 126 B
/i18n/text/menu 249 B
/i18n/text/pip 101 B
/i18n/text/playback 80 B
/i18n/text/seek 105 B
/i18n/text/slider 65 B
/i18n/text/status 222 B
/i18n/text/time 280 B
/i18n/text/volume 133 B
🏷️ @videojs/element — no changes
Entries (2)
Entry Initial
. 1.05 kB
/context 943 B
📦 @videojs/store — no changes
Entries (3)
Entry Initial
. 1.72 kB
/html 703 B
/react 365 B
🔧 @videojs/utils — no changes
Entries (13)
Entry Initial
/array 271 B
/dom 5.02 kB
/events 320 B
/function 386 B
/i18n 249 B
/jwt 176 B
/object 535 B
/predicate 297 B
/percent 281 B
/string 239 B
/style 212 B
/time 976 B
/number 199 B
📦 @videojs/cdn — no changes
📦 @videojs/cloudflare-video — no changes
📦 @videojs/dash-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 3.29 kB 3.29 kB -4 B (-0.1%)
📦 @videojs/google-cast — no changes
📦 @videojs/hlsjs-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 134.71 kB 134.64 kB -74 B (-0.1%)
📦 @videojs/media — no changes
Entries (3)
Entry Initial
. 1.12 kB
/dom 4.11 kB
/media-tracks 2.05 kB
📦 @videojs/mux — no changes
📦 @videojs/mux-audio — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
/spf 20.84 kB 20.78 kB -57 B (-0.3%)
Entries (2)
Entry Initial
. 135.55 kB
/spf 20.78 kB
📦 @videojs/mux-data — no changes
📦 @videojs/mux-video — no changes
Entries (2)
Entry Initial
. 135.59 kB
/spf 26.70 kB
📦 @videojs/native-hls-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 5.25 kB 5.25 kB +9 B (+0.2%)
📦 @videojs/shaka-video — no changes
📦 @videojs/spf — 2 small size changes
Path Base initial PR initial Initial diff Lazy diff
/hls-audio 19.83 kB 19.88 kB +48 B (+0.2%)
/hls-video 25.89 kB 25.83 kB -59 B (-0.2%)
Entries (7)
Entry Initial
. 4.55 kB
/dom 6.60 kB
/hls 22.06 kB
/media-tracks 504 B
/hls-background-video 15.89 kB
/hls-audio 19.88 kB
/hls-video 25.83 kB
📦 @videojs/spotify-audio — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 3.59 kB 3.59 kB -2 B (-0.1%)
📦 @videojs/tiktok-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 3.56 kB 3.56 kB +2 B (+0.1%)
📦 @videojs/twitch-video — no changes
📦 @videojs/vimeo-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
. 10.59 kB 10.60 kB +10 B (+0.1%)
📦 @videojs/wistia-video — 1 small size change
Path Base initial PR initial Initial diff Lazy diff
/helpers 1.81 kB 1.81 kB +2 B (+0.1%)
Entries (2)
Entry Initial
. 1.91 kB
/helpers 1.81 kB
📦 @videojs/youtube-video — no changes

ℹ️ How to interpret

Each 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 pnpm size locally to check current initial sizes.

@netlify

netlify Bot commented Sep 3, 2026

Copy link
Copy Markdown

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 19f4a9a
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/6a99e29241ef060008135274
😎 Deploy Preview https://deploy-preview-2601--vjs10-site.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@mihar-22
mihar-22 force-pushed the pr4/media-extension branch from db7e6b0 to c71b84c Compare September 3, 2026 03:19
@mihar-22
mihar-22 force-pushed the pr4/media-extension branch from c71b84c to 75ccb55 Compare September 3, 2026 04:13
@mihar-22
mihar-22 force-pushed the pr4/media-extension branch from 75ccb55 to 862d445 Compare September 3, 2026 05:04
@mihar-22
mihar-22 requested a review from luwes September 3, 2026 05:32
@mihar-22
mihar-22 marked this pull request as ready for review September 3, 2026 05:33
@mihar-22
mihar-22 force-pushed the pr4/media-extension branch from 862d445 to eaf3163 Compare September 3, 2026 05:52
@mihar-22 mihar-22 changed the title refactor(packages)!: rename MediaComponent to MediaExtension and MediaFull to CommonMedia refactor(packages)!: MediaComponent => MediaExtension Sep 3, 2026
@mihar-22
mihar-22 force-pushed the pr4/media-extension branch from eaf3163 to aa49d5f Compare September 3, 2026 06:57
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

E2E triage: real regression. The external Next registry consumer fails before Playwright runs because @videojs/react/media/hlsjs-video imports @videojs/hlsjs-video, but the generated install omits that optional peer. Filed #2623 with the log, report, and diff evidence; the PR is the trigger, not proven introduction point.

mihar-22 and others added 2 commits September 3, 2026 14:09
…aFull to CommonMedia

Aligns the media-host vocabulary with the extension packages:

- `@videojs/media`: `MediaComponent` -> `MediaExtension`,
  `MediaComponentConstructor` -> `MediaExtensionConstructor`,
  `MediaComponents` -> `MediaExtensions`, `addMediaComponent` ->
  `addMediaExtension`, `getMediaComponents` -> `getMediaExtensions`,
  `MediaFull` -> `CommonMedia`, `MediaFullEvents` -> `CommonMediaEvents`
- `@videojs/html`: `MediaComponentElement` -> `MediaExtensionElement`
- `@videojs/react`: `useMediaComponent` -> `useMediaExtension`

The reference page moves to `use-media-extension` with a redirect from the
old slug.

BREAKING CHANGE: the exports listed above are renamed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…section

The MediaExtension rename swept a fragment link whose heading still reads
"Techs become media components", which is about media elements rather than
extensions. Restore the anchor so the link resolves.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@mihar-22
mihar-22 merged commit eebe675 into main Sep 3, 2026
51 of 52 checks passed
@mihar-22
mihar-22 deleted the pr4/media-extension branch September 3, 2026 22:13
@videojs-release videojs-release Bot mentioned this pull request Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants