Skip to content

docs(site): label beta API references - #2513

Merged
decepulis merged 2 commits into
mainfrom
codex/docs-api-beta-status
Sep 3, 2026
Merged

docs(site): label beta API references#2513
decepulis merged 2 commits into
mainfrom
codex/docs-api-beta-status

Conversation

@decepulis

@decepulis decepulis commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add page-owned API stability metadata so individual references can communicate maturity consistently. Mark the Dash and Shaka media APIs as Beta in both the page header and docs sidebar.

Changes

  • Add an optional stability: beta field to docs frontmatter
  • Render the shared Beta badge in reference headers and sidebar entries
  • Mark DashVideo and ShakaVideo as Beta
  • Document how reference authors opt an individual API into the status

Testing

  • pnpm -F site api-docs
  • pnpm -F site astro check
  • env CI=true pnpm -F site test
  • pnpm check:workspace
  • env -u SENTRY_AUTH_TOKEN CI=true pnpm build:site
  • Visually verified Dash and Shaka references in HTML and React modes

Note

Low Risk
Documentation-site presentation and content schema only; no player runtime or security-sensitive behavior changes.

Overview
Adds optional stability: beta on docs reference frontmatter (validated via DOC_STABILITIES) so individual APIs can declare maturity on the page.

When set, ApiStabilityBadge (built on a new shared Pill component; BetaPill now composes Pill) appears next to the title in the reference header and on matching sidebar links. The docs layout builds a docStabilities map from all docs and threads it through DocsSidebar / SidebarItem.

DashVideo and ShakaVideo are marked beta, and author guides (mdx-structure.md, write-references.mdx) document the field.

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

@netlify

netlify Bot commented Aug 27, 2026

Copy link
Copy Markdown

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 60ad21e
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/6a90c1aaeae2b20008a80427
😎 Deploy Preview https://deploy-preview-2513--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.

@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
v10-sandbox Ready Ready Preview Aug 27, 2026 11:01pm

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Aug 27, 2026

Copy link
Copy Markdown
@videojs/core

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

@videojs/element

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

@videojs/html

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

@videojs/media

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

@videojs/react

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

@videojs/spf

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

@videojs/store

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

@videojs/utils

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

commit: 60ad21e

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

🎨 @videojs/html — 75 small size changes
Path Base initial PR initial Initial diff Lazy diff
/video/minimal-skin.css 6.55 kB 6.55 kB -2 B (-0.0%)
/video/skin.css 6.36 kB 6.37 kB +16 B (+0.2%)
/video/minimal-skin 60.02 kB 60.22 kB +201 B (+0.3%) 0 B
/video/minimal-skin2 7.11 kB 7.11 kB +5 B (+0.1%)
/video/player 9.65 kB 9.64 kB -4 B (-0.0%) 0 B
/video/skin 60.23 kB 60.31 kB +82 B (+0.1%) 0 B
/video/skin2 6.94 kB 6.96 kB +13 B (+0.2%)
/audio/minimal-skin.css 4.88 kB 4.87 kB -9 B (-0.2%)
/audio/skin.css 4.81 kB 4.80 kB -6 B (-0.1%)
/audio/minimal-skin 46.20 kB 46.23 kB +32 B (+0.1%) 0 B
/audio/minimal-skin2 5.28 kB 5.26 kB -12 B (-0.2%)
/audio/player 6.09 kB 6.09 kB +1 B (+0.0%) 0 B
/audio/skin 50.06 kB 50.16 kB +102 B (+0.2%) 0 B
/audio/skin2 5.24 kB 5.24 kB -4 B (-0.1%)
/background/player 4.45 kB 4.46 kB +6 B (+0.1%) 0 B
/background/skin 9.72 kB 9.71 kB -9 B (-0.1%) 0 B
/live-video/minimal-skin.css 6.55 kB 6.55 kB -2 B (-0.0%)
/live-video/skin.css 6.36 kB 6.37 kB +16 B (+0.2%)
/live-video/minimal-skin 54.16 kB 54.19 kB +35 B (+0.1%) 0 B
/live-video/minimal-skin2 7.11 kB 7.11 kB +5 B (+0.1%)
/live-video/player 9.03 kB 9.02 kB -5 B (-0.1%) 0 B
/live-video/skin 56.70 kB 56.79 kB +91 B (+0.2%) 0 B
/live-video/skin2 6.94 kB 6.96 kB +13 B (+0.2%)
/live-audio/minimal-skin.css 4.88 kB 4.87 kB -9 B (-0.2%)
/live-audio/skin.css 4.81 kB 4.80 kB -6 B (-0.1%)
/live-audio/minimal-skin 39.47 kB 39.52 kB +50 B (+0.1%) 0 B
/live-audio/minimal-skin2 5.28 kB 5.26 kB -12 B (-0.2%)
/live-audio/skin 43.00 kB 43.21 kB +209 B (+0.5%) 0 B
/live-audio/skin2 5.24 kB 5.24 kB -4 B (-0.1%)
/ui/airplay-button 11.22 kB 11.21 kB -3 B (-0.0%) 0 B
/ui/alert-dialog 9.42 kB 9.42 kB -2 B (-0.0%) 0 B
/ui/audio-track-radio-group 11.31 kB 11.31 kB +3 B (+0.0%) 0 B
/ui/buffering-indicator 8.56 kB 8.55 kB -10 B (-0.1%) 0 B
/ui/captions-button 11.48 kB 11.47 kB -11 B (-0.1%) 0 B
/ui/captions-radio-group 11.39 kB 11.39 kB -1 B (-0.0%) 0 B
/ui/cast-button 11.20 kB 11.19 kB -11 B (-0.1%) 0 B
/ui/container 9.41 kB 9.42 kB +8 B (+0.1%) 0 B
/ui/controls 8.77 kB 8.78 kB +5 B (+0.1%) 0 B
/ui/dialog 9.35 kB 9.34 kB -7 B (-0.1%) 0 B
/ui/dialog-description 1.69 kB 1.69 kB +1 B (+0.1%) 0 B
/ui/error-dialog 12.96 kB 12.97 kB +6 B (+0.0%) 0 B
/ui/gesture 9.41 kB 9.51 kB +106 B (+1.1%) 0 B
/ui/hotkey 9.82 kB 9.92 kB +105 B (+1.0%) 0 B
/ui/live-button 9.71 kB 9.70 kB -12 B (-0.1%) 0 B
/ui/menu 20.01 kB 20.02 kB +7 B (+0.0%) 0 B
/ui/mute-button 11.22 kB 11.21 kB -11 B (-0.1%) 0 B
/ui/pip-button 11.18 kB 11.16 kB -20 B (-0.2%) 0 B
/ui/play-button 11.17 kB 11.19 kB +16 B (+0.1%) 0 B
/ui/playback-rate-button 11.27 kB 11.27 kB -2 B (-0.0%) 0 B
/ui/playback-rate-radio-group 11.32 kB 11.30 kB -21 B (-0.2%) 0 B
/ui/popover 8.55 kB 8.56 kB +6 B (+0.1%) 0 B
/ui/poster 8.62 kB 8.63 kB +4 B (+0.0%) 0 B
/ui/quality-radio-group 11.90 kB 11.89 kB -11 B (-0.1%) 0 B
/ui/seek-button 11.21 kB 11.22 kB +15 B (+0.1%) 0 B
/ui/seek-indicator 12.52 kB 12.65 kB +126 B (+1.0%) 0 B
/ui/slider 12.08 kB 12.07 kB -12 B (-0.1%) 0 B
/ui/status-announcer 10.56 kB 10.55 kB -10 B (-0.1%) 0 B
/ui/status-indicator 12.87 kB 13.00 kB +129 B (+1.0%) 0 B
/ui/thumbnail 9.77 kB 9.78 kB +12 B (+0.1%) 0 B
/ui/time 10.84 kB 10.83 kB -10 B (-0.1%) 0 B
/ui/time-slider 14.98 kB 14.97 kB -17 B (-0.1%) 0 B
/ui/time-slider-chapter-title 8.74 kB 8.75 kB +9 B (+0.1%) 0 B
/ui/time-slider-chapters 9.69 kB 9.71 kB +21 B (+0.2%) 0 B
/ui/title 8.13 kB 8.13 kB +5 B (+0.1%) 0 B
/ui/tooltip 9.95 kB 9.95 kB +4 B (+0.0%) 0 B
/ui/volume-indicator 12.86 kB 12.98 kB +127 B (+1.0%) 0 B
/ui/volume-popover 14.68 kB 14.69 kB +8 B (+0.1%) 0 B
/ui/volume-slider 12.71 kB 12.71 kB +1 B (+0.0%) 0 B
/video (default) 61.75 kB 61.84 kB +88 B (+0.1%) 0 B
/video (default + hls) 200.75 kB 200.91 kB +155 B (+0.1%) 0 B
/video (minimal) 61.58 kB 61.76 kB +179 B (+0.3%) 0 B
/video (minimal + hls) 200.55 kB 200.64 kB +91 B (+0.0%) 0 B
/audio (default) 51.64 kB 51.68 kB +47 B (+0.1%) 0 B
/audio (minimal) 47.67 kB 47.82 kB +162 B (+0.3%) 0 B
/background 11.47 kB 11.47 kB +8 B (+0.1%) 0 B
Presets (7)
Entry Initial Lazy
/video (default) 61.84 kB 56.87 kB
/video (default + hls) 200.91 kB 56.87 kB
/video (minimal) 61.76 kB 56.87 kB
/video (minimal + hls) 200.64 kB 56.87 kB
/audio (default) 51.68 kB 56.87 kB
/audio (minimal) 47.82 kB 56.87 kB
/background 11.47 kB 56.87 kB
Media (20)
Entry Initial
/media/mux-video 142.40 kB
/media/mux-audio 142.23 kB
/media/background-video 1.16 kB
/media/cloudflare-video 6.28 kB
/media/dash-video 211.61 kB
/media/google-cast 6.52 kB
/media/hls-audio 22.04 kB
/media/hls-background-video 16.80 kB
/media/hls-video 27.97 kB
/media/hlsjs-video 141.22 kB
/media/mux-background-video 16.84 kB
/media/mux-data 26.70 kB
/media/native-hls-video 7.57 kB
/media/shaka-video 199.18 kB
/media/spotify-audio 6.27 kB
/media/tiktok-video 6.33 kB
/media/twitch-video 6.22 kB
/media/vimeo-video 13.05 kB
/media/wistia-video 60.23 kB
/media/youtube-video 6.81 kB
Players (5)
Entry Initial Lazy
/video/player 9.64 kB 56.87 kB
/audio/player 6.09 kB 56.87 kB
/background/player 4.46 kB 56.87 kB
/live-video/player 9.02 kB 56.87 kB
/live-audio/player 6.12 kB 56.87 kB
Skins (29)
Entry Type Initial Lazy
/video/minimal-skin.css css 6.55 kB
/video/skin.css css 6.37 kB
/video/minimal-skin js 60.22 kB 56.87 kB
/video/minimal-skin2 js 7.11 kB
/video/skin js 60.31 kB 56.87 kB
/video/skin2 js 6.96 kB
/audio/minimal-skin.css css 4.87 kB
/audio/skin.css css 4.80 kB
/audio/minimal-skin js 46.23 kB 56.87 kB
/audio/minimal-skin2 js 5.26 kB
/audio/skin js 50.16 kB 56.87 kB
/audio/skin2 js 5.24 kB
/background/skin.css css 145 B
/background/skin js 9.71 kB 56.87 kB
/background/skin2 js 190 B
/live-video/minimal-skin.css css 6.55 kB
/live-video/skin.css css 6.37 kB
/live-video/minimal-skin js 54.19 kB 56.87 kB
/live-video/minimal-skin2 js 7.11 kB
/live-video/skin js 56.79 kB 56.87 kB
/live-video/skin2 js 6.96 kB
/live-audio/minimal-skin.css css 4.87 kB
/live-audio/skin.css css 4.80 kB
/live-audio/minimal-skin js 39.52 kB 56.87 kB
/live-audio/minimal-skin2 js 5.26 kB
/live-audio/skin js 43.21 kB 56.87 kB
/live-audio/skin2 js 5.24 kB
/global.css css 190 B
/shared.css css 118 B
UI Components (50)
Entry Initial Lazy
/ui/airplay-button 11.21 kB 56.87 kB
/ui/alert-dialog 9.42 kB 56.87 kB
/ui/audio-track-radio-group 11.31 kB 56.87 kB
/ui/buffering-indicator 8.55 kB 56.87 kB
/ui/captions-button 11.47 kB 56.87 kB
/ui/captions-radio-group 11.39 kB 56.87 kB
/ui/cast-button 11.19 kB 56.87 kB
/ui/container 9.42 kB 56.87 kB
/ui/controls 8.78 kB 56.87 kB
/ui/controls-backdrop 1.69 kB 56.87 kB
/ui/controls-content 1.67 kB 56.87 kB
/ui/dialog 9.34 kB 56.87 kB
/ui/dialog-backdrop 1.70 kB 56.87 kB
/ui/dialog-close 2.07 kB 56.87 kB
/ui/dialog-description 1.69 kB 56.87 kB
/ui/dialog-popup 1.91 kB 56.87 kB
/ui/dialog-title 1.70 kB 56.87 kB
/ui/error-dialog 12.97 kB 56.87 kB
/ui/fullscreen-button 11.21 kB 56.87 kB
/ui/gesture 9.51 kB 56.87 kB
/ui/hotkey 9.92 kB 56.87 kB
/ui/live-button 9.70 kB 56.87 kB
/ui/menu 20.02 kB 56.87 kB
/ui/mute-button 11.21 kB 56.87 kB
/ui/pip-button 11.16 kB 56.87 kB
/ui/play-button 11.19 kB 56.87 kB
/ui/playback-rate-button 11.27 kB 56.87 kB
/ui/playback-rate-radio-group 11.30 kB 56.87 kB
/ui/popover 8.56 kB 56.87 kB
/ui/poster 8.63 kB 56.87 kB
/ui/quality-radio-group 11.89 kB 56.87 kB
/ui/seek-button 11.22 kB 56.87 kB
/ui/seek-indicator 12.65 kB 56.87 kB
/ui/seek-indicator-value 1.10 kB
/ui/slider 12.07 kB 56.87 kB
/ui/status-announcer 10.55 kB 56.87 kB
/ui/status-indicator 13.00 kB 56.87 kB
/ui/status-indicator-value 1.10 kB
/ui/thumbnail 9.78 kB 56.87 kB
/ui/time 10.83 kB 56.87 kB
/ui/time-slider 14.97 kB 56.87 kB
/ui/time-slider-chapter-title 8.75 kB 56.87 kB
/ui/time-slider-chapters 9.71 kB 56.87 kB
/ui/title 8.13 kB 56.87 kB
/ui/tooltip 9.95 kB 56.87 kB
/ui/volume-indicator 12.98 kB 56.87 kB
/ui/volume-indicator-fill 1.11 kB
/ui/volume-indicator-value 1.10 kB
/ui/volume-popover 14.69 kB 56.87 kB
/ui/volume-slider 12.71 kB 56.87 kB
⚛️ @videojs/react — 70 small size changes
Path Base initial PR initial Initial diff Lazy diff
/video/minimal-skin.css 6.45 kB 6.44 kB -8 B (-0.1%)
/video/skin.css 6.24 kB 6.25 kB +15 B (+0.2%)
/video/minimal-skin 48.08 kB 48.10 kB +22 B (+0.0%) 0 B
/video/minimal-skin.tailwind 54.95 kB 55.08 kB +132 B (+0.2%) 0 B
/video/player 7.51 kB 7.51 kB -3 B (-0.0%) 0 B
/video/skin 48.08 kB 48.13 kB +55 B (+0.1%) 0 B
/video/skin.tailwind 54.70 kB 54.83 kB +137 B (+0.2%) 0 B
/audio/minimal-skin.css 4.74 kB 4.73 kB -7 B (-0.1%)
/audio/skin.css 4.66 kB 4.66 kB -4 B (-0.1%)
/audio/minimal-skin 37.45 kB 37.44 kB -11 B (-0.0%) 0 B
/audio/minimal-skin.tailwind 42.58 kB 42.58 kB +10 B (+0.0%) 0 B
/audio/skin 37.36 kB 37.40 kB +42 B (+0.1%) 0 B
/audio/skin.tailwind 42.49 kB 42.55 kB +69 B (+0.2%) 0 B
/live-video/minimal-skin.css 6.45 kB 6.44 kB -8 B (-0.1%)
/live-video/skin.css 6.24 kB 6.25 kB +15 B (+0.2%)
/live-video/minimal-skin 40.17 kB 40.33 kB +163 B (+0.4%) 0 B
/live-video/minimal-skin.tailwind 46.87 kB 47.06 kB +201 B (+0.4%) 0 B
/live-video/player 6.91 kB 6.91 kB +4 B (+0.1%) 0 B
/live-video/skin 40.19 kB 40.36 kB +174 B (+0.4%) 0 B
/live-video/skin.tailwind 46.86 kB 46.92 kB +59 B (+0.1%) 0 B
/live-audio/minimal-skin.css 4.74 kB 4.73 kB -7 B (-0.1%)
/live-audio/skin.css 4.66 kB 4.66 kB -4 B (-0.1%)
/live-audio/minimal-skin 29.25 kB 29.27 kB +24 B (+0.1%) 0 B
/live-audio/minimal-skin.tailwind 33.15 kB 33.20 kB +52 B (+0.2%) 0 B
/live-audio/player 3.95 kB 3.95 kB -1 B (-0.0%) 0 B
/live-audio/skin 29.26 kB 29.26 kB -6 B (-0.0%) 0 B
/live-audio/skin.tailwind 33.27 kB 33.30 kB +30 B (+0.1%) 0 B
/ui/airplay-button 10.38 kB 10.37 kB -2 B (-0.0%) 0 B
/ui/audio-track 7.89 kB 7.89 kB +1 B (+0.0%) 0 B
/ui/audio-track-radio-group 9.05 kB 9.06 kB +6 B (+0.1%) 0 B
/ui/buffering-indicator 7.71 kB 7.72 kB +3 B (+0.0%) 0 B
/ui/captions-button 10.35 kB 10.35 kB -4 B (-0.0%) 0 B
/ui/captions-radio-group 9.17 kB 9.17 kB -8 B (-0.1%) 0 B
/ui/cast-button 10.35 kB 10.35 kB -4 B (-0.0%) 0 B
/ui/controls 7.51 kB 7.50 kB -1 B (-0.0%) 0 B
/ui/dialog 4.72 kB 4.73 kB +2 B (+0.0%) 0 B
/ui/error-dialog 11.73 kB 11.72 kB -10 B (-0.1%) 0 B
/ui/fullscreen-button 10.31 kB 10.31 kB -2 B (-0.0%) 0 B
/ui/gesture 7.83 kB 7.95 kB +119 B (+1.5%) 0 B
/ui/hotkey 8.23 kB 8.33 kB +105 B (+1.2%) 0 B
/ui/live-button 8.71 kB 8.71 kB -4 B (-0.0%) 0 B
/ui/menu 18.91 kB 18.87 kB -37 B (-0.2%) 0 B
/ui/mute-button 10.37 kB 10.36 kB -10 B (-0.1%) 0 B
/ui/pip-button 10.32 kB 10.31 kB -10 B (-0.1%) 0 B
/ui/play-button 10.30 kB 10.30 kB -1 B (-0.0%) 0 B
/ui/playback-rate 7.94 kB 7.95 kB +7 B (+0.1%) 0 B
/ui/playback-rate-button 10.29 kB 10.29 kB +1 B (+0.0%) 0 B
/ui/playback-rate-radio-group 9.09 kB 9.09 kB -8 B (-0.1%) 0 B
/ui/popover 8.12 kB 8.13 kB +7 B (+0.1%) 0 B
/ui/poster 7.49 kB 7.50 kB +4 B (+0.1%) 0 B
/ui/quality 8.38 kB 8.37 kB -4 B (-0.0%) 0 B
/ui/quality-radio-group 9.54 kB 9.54 kB +2 B (+0.0%) 0 B
/ui/seek-button 10.32 kB 10.32 kB +3 B (+0.0%) 0 B
/ui/seek-indicator 11.79 kB 11.89 kB +99 B (+0.8%) 0 B
/ui/slider 12.63 kB 12.63 kB +5 B (+0.0%) 0 B
/ui/status-indicator 12.11 kB 12.20 kB +93 B (+0.8%) 0 B
/ui/thumbnail 8.64 kB 8.63 kB -5 B (-0.1%) 0 B
/ui/time 9.69 kB 9.70 kB +6 B (+0.1%) 0 B
/ui/time-slider 14.10 kB 14.10 kB -4 B (-0.0%) 0 B
/ui/title 7.19 kB 7.19 kB +4 B (+0.1%) 0 B
/ui/tooltip 8.90 kB 8.90 kB -3 B (-0.0%) 0 B
/ui/volume-indicator 12.16 kB 12.25 kB +92 B (+0.7%) 0 B
/ui/volume-popover 14.13 kB 14.12 kB -9 B (-0.1%) 0 B
/ui/volume-slider 12.06 kB 12.06 kB +4 B (+0.0%) 0 B
/video (default) 48.16 kB 48.20 kB +36 B (+0.1%) 0 B
/video (default + hls) 185.97 kB 186.03 kB +58 B (+0.0%) 0 B
/video (minimal) 48.18 kB 48.22 kB +41 B (+0.1%) 0 B
/video (minimal + hls) 186.19 kB 186.11 kB -81 B (-0.0%) 0 B
/audio (default) 37.45 kB 37.46 kB +4 B (+0.0%) 0 B
/audio (minimal) 37.51 kB 37.53 kB +21 B (+0.1%) 0 B
Presets (7)
Entry Initial Lazy
/video (default) 48.20 kB 56.87 kB
/video (default + hls) 186.03 kB 56.87 kB
/video (minimal) 48.22 kB 56.87 kB
/video (minimal + hls) 186.11 kB 56.87 kB
/audio (default) 37.46 kB 56.87 kB
/audio (minimal) 37.53 kB 56.87 kB
/background 581 B 56.87 kB
Media (24)
Entry Initial
/media/mux-video/hls-js 140.61 kB
/media/mux-video/spf 27.31 kB
/media/mux-audio/hls-js 140.55 kB
/media/mux-audio/spf 21.28 kB
/media/background-video 402 B
/media/cloudflare-video 4.35 kB
/media/dash-video 210.29 kB
/media/google-cast 5.34 kB
/media/hls-audio 20.32 kB
/media/hls-background-video 16.42 kB
/media/hls-video 26.29 kB
/media/hlsjs-video 139.44 kB
/media/mux-audio 140.56 kB
/media/mux-background-video 16.42 kB
/media/mux-data 25.49 kB
/media/mux-video 140.54 kB
/media/native-hls-video 5.76 kB
/media/shaka-video 197.52 kB
/media/spotify-audio 4.22 kB
/media/tiktok-video 4.18 kB
/media/twitch-video 4.30 kB
/media/vimeo-video 11.21 kB
/media/wistia-video 60.05 kB
/media/youtube-video 4.86 kB
Players (5)
Entry Initial Lazy
/video/player 7.51 kB 56.87 kB
/audio/player 3.95 kB 56.87 kB
/background/player 2.27 kB 56.87 kB
/live-video/player 6.91 kB 56.87 kB
/live-audio/player 3.95 kB 56.87 kB
Skins (26)
Entry Type Initial Lazy
/video/minimal-skin.css css 6.44 kB
/video/skin.css css 6.25 kB
/video/minimal-skin js 48.10 kB 56.87 kB
/video/minimal-skin.tailwind js 55.08 kB 56.87 kB
/video/skin js 48.13 kB 56.87 kB
/video/skin.tailwind js 54.83 kB 56.87 kB
/audio/minimal-skin.css css 4.73 kB
/audio/skin.css css 4.66 kB
/audio/minimal-skin js 37.44 kB 56.87 kB
/audio/minimal-skin.tailwind js 42.58 kB 56.87 kB
/audio/skin js 37.40 kB 56.87 kB
/audio/skin.tailwind js 42.55 kB 56.87 kB
/background/skin.css css 90 B
/background/skin js 277 B
/live-video/minimal-skin.css css 6.44 kB
/live-video/skin.css css 6.25 kB
/live-video/minimal-skin js 40.33 kB 56.87 kB
/live-video/minimal-skin.tailwind js 47.06 kB 56.87 kB
/live-video/skin js 40.36 kB 56.87 kB
/live-video/skin.tailwind js 46.92 kB 56.87 kB
/live-audio/minimal-skin.css css 4.73 kB
/live-audio/skin.css css 4.66 kB
/live-audio/minimal-skin js 29.27 kB 56.87 kB
/live-audio/minimal-skin.tailwind js 33.20 kB 56.87 kB
/live-audio/skin js 29.26 kB 56.87 kB
/live-audio/skin.tailwind js 33.30 kB 56.87 kB
UI Components (39)
Entry Initial Lazy
/ui/airplay-button 10.37 kB 56.87 kB
/ui/alert-dialog 4.71 kB 56.87 kB
/ui/audio-track 7.89 kB 56.87 kB
/ui/audio-track-radio-group 9.06 kB 56.87 kB
/ui/buffering-indicator 7.72 kB 56.87 kB
/ui/captions-button 10.35 kB 56.87 kB
/ui/captions-radio-group 9.17 kB 56.87 kB
/ui/cast-button 10.35 kB 56.87 kB
/ui/controls 7.50 kB 56.87 kB
/ui/dialog 4.73 kB 56.87 kB
/ui/error-dialog 11.72 kB 56.87 kB
/ui/fullscreen-button 10.31 kB 56.87 kB
/ui/gesture 7.95 kB 56.87 kB
/ui/hotkey 8.33 kB 56.87 kB
/ui/live-button 8.71 kB 56.87 kB
/ui/menu 18.87 kB 56.87 kB
/ui/mute-button 10.36 kB 56.87 kB
/ui/pip-button 10.31 kB 56.87 kB
/ui/play-button 10.30 kB 56.87 kB
/ui/playback-rate 7.95 kB 56.87 kB
/ui/playback-rate-button 10.29 kB 56.87 kB
/ui/playback-rate-radio-group 9.09 kB 56.87 kB
/ui/popover 8.13 kB 56.87 kB
/ui/poster 7.50 kB 56.87 kB
/ui/quality 8.37 kB 56.87 kB
/ui/quality-radio-group 9.54 kB 56.87 kB
/ui/seek-button 10.32 kB 56.87 kB
/ui/seek-indicator 11.89 kB 56.87 kB
/ui/slider 12.63 kB 56.87 kB
/ui/status-announcer 10.01 kB 56.87 kB
/ui/status-indicator 12.20 kB 56.87 kB
/ui/thumbnail 8.63 kB 56.87 kB
/ui/time 9.70 kB 56.87 kB
/ui/time-slider 14.10 kB 56.87 kB
/ui/title 7.19 kB 56.87 kB
/ui/tooltip 8.90 kB 56.87 kB
/ui/volume-indicator 12.25 kB 56.87 kB
/ui/volume-popover 14.12 kB 56.87 kB
/ui/volume-slider 12.06 kB 56.87 kB
🧩 @videojs/core — 2 small size changes
Path Base initial PR initial Initial diff Lazy diff
. 13.01 kB 13.04 kB +28 B (+0.2%)
/dom 22.21 kB 22.34 kB +135 B (+0.6%) 0 B
Entries (76)
Entry Initial Lazy
. 13.04 kB
/dom 22.34 kB 56.87 kB
/vjsc 1.74 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/media

Path Base initial PR initial Initial diff Lazy diff
/dom/dash 209.83 kB 3.28 kB -206.54 kB (-98.4%)
/dom/wistia 60.09 kB 1.89 kB -58.20 kB (-96.9%)
Entries (23)
Entry Initial
. 1.07 kB
/dom 121 B
/dom/dash 3.28 kB
/dom/wistia 1.89 kB
/dom/audio-host 1.10 kB
/dom/cloudflare 3.69 kB
/dom/custom-media-element 2.13 kB
/dom/dash 209.83 kB
/dom/google-cast 4.06 kB
/dom/hls-js 139.16 kB
/dom/media-host 1.20 kB
/dom/media-played-ranges 576 B
/dom/mux 162.78 kB
/dom/native-hls 5.25 kB
/dom/shaka 197.02 kB
/dom/spotify 3.58 kB
/dom/tiktok 3.57 kB
/dom/twitch 3.62 kB
/dom/video-host 1.39 kB
/dom/vimeo 10.62 kB
/dom/wistia 60.09 kB
/dom/youtube 4.25 kB
/media-tracks 2.05 kB
📦 @videojs/spf — no changes
Entries (10)
Entry Initial
. 4.55 kB
/dom 6.60 kB
/hls 22.09 kB
/media-tracks 504 B
/hls-background-video 15.92 kB
/hls-audio 19.84 kB
/hls-video 25.82 kB
/mux-audio 20.75 kB
/mux-background-video 15.87 kB
/mux-video 26.63 kB

ℹ️ 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.

@decepulis
decepulis marked this pull request as ready for review August 27, 2026 23:13
@decepulis
decepulis merged commit cb68515 into main Sep 3, 2026
33 checks passed
@decepulis
decepulis deleted the codex/docs-api-beta-status branch September 3, 2026 23:22
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