You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Export internal media component building blocks so external consumers can build custom media components (e.g., new streaming protocol integrations) without reaching into internal module paths.
Changes
Export Delegate interface and DelegateMixin from @videojs/core, re-exported through @videojs/html and @videojs/react
Export MediaProxyMixin from @videojs/core/dom (auto-flows to @videojs/html and @videojs/react)
Export useOptionalPlayer hook from @videojs/react
Export media utilities from @videojs/react: useMediaInstance, attachMediaElement, mediaProps, composeRefs, useComposedRefs, useDestroy, useLatestRef
Implementation details
All items were already exported from their source files but not re-exported from package entry points. The built-in HLS, DASH, and SimpleHLS components used them via relative imports. This change makes the same APIs available to external consumers.
Delegate requires export type due to verbatimModuleSyntax.
MediaProxyMixin added to @videojs/core/dom automatically flows to both @videojs/html and @videojs/react via their existing export * from '@videojs/core/dom' re-exports.
Testing
Covered by existing tests — re-exports only, no behavior changes. All 956 tests pass across core, react, and html packages.
Note
Low Risk
Low risk because this is limited to package entry-point re-exports (types/mixins/hooks/utilities) with no runtime behavior changes, but it does expand the public API surface that must be supported going forward.
Overview
Exposes previously-internal media building blocks via public package entry points so downstream consumers can build custom media components without importing internal paths.
@videojs/core now re-exports Delegate/DelegateMixin, and @videojs/core/dom re-exports MediaProxyMixin, which then flow through @videojs/html and @videojs/react. @videojs/react also re-exports useOptionalPlayer plus several media/React utilities (attachMediaElement, mediaProps, useMediaInstance, composeRefs/useComposedRefs, useDestroy, useLatestRef).
Written by Cursor Bugbot for commit 90b64f0. This will update automatically on new commits. Configure here.
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
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.
Closes #1099
Summary
Export internal media component building blocks so external consumers can build custom media components (e.g., new streaming protocol integrations) without reaching into internal module paths.
Changes
Delegateinterface andDelegateMixinfrom@videojs/core, re-exported through@videojs/htmland@videojs/reactMediaProxyMixinfrom@videojs/core/dom(auto-flows to@videojs/htmland@videojs/react)useOptionalPlayerhook from@videojs/react@videojs/react:useMediaInstance,attachMediaElement,mediaProps,composeRefs,useComposedRefs,useDestroy,useLatestRefImplementation details
All items were already exported from their source files but not re-exported from package entry points. The built-in HLS, DASH, and SimpleHLS components used them via relative imports. This change makes the same APIs available to external consumers.
Delegaterequiresexport typedue toverbatimModuleSyntax.MediaProxyMixinadded to@videojs/core/domautomatically flows to both@videojs/htmland@videojs/reactvia their existingexport * from '@videojs/core/dom're-exports.Testing
Covered by existing tests — re-exports only, no behavior changes. All 956 tests pass across core, react, and html packages.
Note
Low Risk
Low risk because this is limited to package entry-point re-exports (types/mixins/hooks/utilities) with no runtime behavior changes, but it does expand the public API surface that must be supported going forward.
Overview
Exposes previously-internal media building blocks via public package entry points so downstream consumers can build custom media components without importing internal paths.
@videojs/corenow re-exportsDelegate/DelegateMixin, and@videojs/core/domre-exportsMediaProxyMixin, which then flow through@videojs/htmland@videojs/react.@videojs/reactalso re-exportsuseOptionalPlayerplus several media/React utilities (attachMediaElement,mediaProps,useMediaInstance,composeRefs/useComposedRefs,useDestroy,useLatestRef).Written by Cursor Bugbot for commit 90b64f0. This will update automatically on new commits. Configure here.