fix: avoid vite optional stream import resolution
This commit is contained in:
@@ -7,6 +7,18 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.0.1] - 2026-02-13
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated `baseline-browser-mapping` to the latest version to refresh Baseline data.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed Vite import-analysis failures for optional stream libraries by switching to runtime dynamic imports with `@vite-ignore` in `hlsLoader`, `rtmpLoader`, and `mpegtsLoader`.
|
||||
- Preserved CDN fallback behavior when `hls.js`, `flv.js`, or `mpegts.js` are not installed locally.
|
||||
- Ensured examples build flow remains stable with optional streaming dependencies.
|
||||
|
||||
## [3.0.0] - 2026-02-13
|
||||
|
||||
### Added
|
||||
|
||||
Generated
+6
-3
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@source/player",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@source/player",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.1",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.38.0",
|
||||
@@ -19,6 +19,7 @@
|
||||
"@typescript-eslint/parser": "^8.46.2",
|
||||
"@vitejs/plugin-react": "^5.1.0",
|
||||
"@vitest/ui": "^4.0.4",
|
||||
"baseline-browser-mapping": "^2.9.19",
|
||||
"eslint": "^9.38.0",
|
||||
"eslint-plugin-react-hooks": "^7.0.1",
|
||||
"eslint-plugin-react-refresh": "^0.4.24",
|
||||
@@ -2618,7 +2619,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.8.23",
|
||||
"version": "2.9.19",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
|
||||
"integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
|
||||
+2
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@source/player",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.1",
|
||||
"description": "Modern, feature-rich video player library for React",
|
||||
"type": "module",
|
||||
"main": "./dist/video-player.umd.cjs",
|
||||
@@ -44,6 +44,7 @@
|
||||
"@typescript-eslint/parser": "^8.46.2",
|
||||
"@vitejs/plugin-react": "^5.1.0",
|
||||
"@vitest/ui": "^4.0.4",
|
||||
"baseline-browser-mapping": "^2.9.19",
|
||||
"eslint": "^9.38.0",
|
||||
"eslint-plugin-react-hooks": "^7.0.1",
|
||||
"eslint-plugin-react-refresh": "^0.4.24",
|
||||
|
||||
@@ -50,9 +50,11 @@ export const loadHls = async (): Promise<HlsConstructor> => {
|
||||
try {
|
||||
logger.log('[HLS Loader] Attempting to load from npm package...')
|
||||
// Try loading from npm package first
|
||||
const hlsModule = await import('hls.js')
|
||||
const hlsModuleName = 'hls.js'
|
||||
const hlsModule = await import(/* @vite-ignore */ hlsModuleName)
|
||||
const moduleWithDefault = hlsModule as { default?: HlsConstructor }
|
||||
logger.log('[HLS Loader] Successfully loaded from npm package')
|
||||
return hlsModule.default
|
||||
return moduleWithDefault.default ?? (hlsModule as unknown as HlsConstructor)
|
||||
} catch (npmError) {
|
||||
logger.warn('[HLS Loader] Failed to load from npm, trying CDN...', npmError)
|
||||
try {
|
||||
|
||||
@@ -77,8 +77,10 @@ export const loadMpegts = async (): Promise<MpegtsStatic> => {
|
||||
loadingPromise = (async () => {
|
||||
try {
|
||||
logger.log('[MPEG-TS Loader] Attempting to load from npm package...')
|
||||
const module = await import('mpegts.js')
|
||||
mpegtsInstance = module.default || module
|
||||
const mpegtsModuleName = 'mpegts.js'
|
||||
const mpegtsModule = await import(/* @vite-ignore */ mpegtsModuleName)
|
||||
const moduleWithDefault = mpegtsModule as { default?: MpegtsStatic }
|
||||
mpegtsInstance = moduleWithDefault.default ?? (mpegtsModule as unknown as MpegtsStatic)
|
||||
logger.log('[MPEG-TS Loader] Successfully loaded from npm package')
|
||||
return mpegtsInstance!
|
||||
} catch (npmError) {
|
||||
|
||||
@@ -46,8 +46,10 @@ const loadFlvjsFromCDN = async (): Promise<FlvjsStatic> => {
|
||||
export const loadFlvjs = async (): Promise<FlvjsStatic> => {
|
||||
try {
|
||||
// Try loading from NPM package first
|
||||
const flvModule = await import('flv.js')
|
||||
return flvModule.default || flvModule
|
||||
const flvModuleName = 'flv.js'
|
||||
const flvModule = await import(/* @vite-ignore */ flvModuleName)
|
||||
const moduleWithDefault = flvModule as { default?: FlvjsStatic }
|
||||
return moduleWithDefault.default ?? (flvModule as unknown as FlvjsStatic)
|
||||
} catch (npmError) {
|
||||
logger.warn('flv.js NPM package not available, loading from CDN...', npmError)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user