Skip to content

Commit ff4d342

Browse files
committedApr 29, 2024·
chore(components): fix VidStack dash
1 parent 03c04fb commit ff4d342

File tree

8 files changed

+61
-53
lines changed

8 files changed

+61
-53
lines changed
 

Diff for: ‎demo/components/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"hls.js": "1.5.8",
2626
"mpegts.js": "1.7.3",
2727
"sass-loader": "14.2.1",
28-
"vidstack": "1.11.19",
28+
"vidstack": "1.11.20",
2929
"vue": "3.4.25",
3030
"vuepress": "2.0.0-rc.9",
3131
"vuepress-plugin-components": "workspace:*"

Diff for: ‎docs/components/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"hls.js": "1.5.8",
3131
"mpegts.js": "1.7.3",
3232
"sass-loader": "14.2.1",
33-
"vidstack": "1.11.19",
33+
"vidstack": "1.11.20",
3434
"vue": "3.4.25",
3535
"vuepress": "2.0.0-rc.9",
3636
"vuepress-plugin-components": "workspace:*",

Diff for: ‎packages/components/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"hls.js": "^1.4.12",
6464
"mpegts.js": "^1.7.3",
6565
"sass-loader": "^14.0.0",
66-
"vidstack": "^1.11.18",
66+
"vidstack": "^1.11.20",
6767
"vuepress": "2.0.0-rc.9"
6868
},
6969
"peerDependenciesMeta": {

Diff for: ‎packages/components/src/client/components/AudioPlayer.ts

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import { isArray, isString } from "@vuepress/helper/client";
2-
import type { PlayerSrc, PlyrLayoutProps, TextTrackInit } from "vidstack";
2+
import type {
3+
DASHNamespaceLoader,
4+
HLSConstructorLoader,
5+
PlayerSrc,
6+
PlyrLayoutProps,
7+
TextTrackInit,
8+
} from "vidstack";
39
import type { MediaPlayerElement } from "vidstack/elements";
410
import type { VidstackPlayerConfig } from "vidstack/global/player";
511
import { PlyrLayout, VidstackPlayer } from "vidstack/global/player";
@@ -113,19 +119,17 @@ export default defineComponent({
113119

114120
player = await VidstackPlayer.create(options);
115121

116-
player.addEventListener("provider-change", (event) => {
117-
const provider = event.detail;
118-
119-
if (provider?.type === "hls" && HLS_JS_INSTALLED)
120-
// @ts-expect-error: Issue in vidstack
121-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
122-
provider.library = () =>
123-
import(/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js");
124-
else if (provider?.type === "dashjs" && DASHJS_INSTALLED)
125-
// @ts-expect-error: Issue in vidstack
126-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
127-
provider.library = () =>
128-
import(/* webpackChunkName: "dashjs" */ "dashjs");
122+
player.addEventListener("provider-change", () => {
123+
if (player!.provider?.type === "hls" && HLS_JS_INSTALLED)
124+
player!.provider.library = (() =>
125+
import(
126+
/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js"
127+
)) as HLSConstructorLoader;
128+
else if (player!.provider?.type === "dash" && DASHJS_INSTALLED)
129+
player!.provider.library = (() =>
130+
import(
131+
/* webpackChunkName: "dashjs" */ "dashjs"
132+
)) as DASHNamespaceLoader;
129133
});
130134
});
131135

Diff for: ‎packages/components/src/client/components/VidStack.ts

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { isArray, isString, useLocaleConfig } from "@vuepress/helper/client";
22
import type {
3-
DASHConstructor,
3+
DASHNamespaceLoader,
44
DefaultLayoutProps,
5-
HLSConstructor,
5+
HLSConstructorLoader,
66
PlayerSrc,
77
TextTrackInit,
88
} from "vidstack";
@@ -125,16 +125,16 @@ export default defineComponent({
125125
player = await VidstackPlayer.create(options);
126126

127127
player.addEventListener("provider-change", () => {
128-
const provider = player!.provider;
129-
130-
if (provider?.type === "hls" && HLS_JS_INSTALLED)
131-
provider.library = (): Promise<{ default: HLSConstructor }> =>
132-
import(/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js");
133-
else if (provider?.type === "dash" && DASHJS_INSTALLED)
134-
provider.library = (): Promise<{ default: DASHConstructor }> =>
135-
import(/* webpackChunkName: "dashjs" */ "dashjs").then(
136-
({ default: dash }) => ({ default: dash.MediaPlayer }),
137-
);
128+
if (player!.provider?.type === "hls" && HLS_JS_INSTALLED)
129+
player!.provider.library = (() =>
130+
import(
131+
/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js"
132+
)) as HLSConstructorLoader;
133+
else if (player!.provider?.type === "dash" && DASHJS_INSTALLED)
134+
player!.provider.library = (() =>
135+
import(
136+
/* webpackChunkName: "dashjs" */ "dashjs"
137+
)) as DASHNamespaceLoader;
138138
});
139139
});
140140

Diff for: ‎packages/components/src/client/components/VideoPlayer.ts

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import { isArray, isString } from "@vuepress/helper/client";
2-
import type { PlayerSrc, PlyrLayoutProps, TextTrackInit } from "vidstack";
2+
import type {
3+
DASHNamespaceLoader,
4+
HLSConstructorLoader,
5+
PlayerSrc,
6+
PlyrLayoutProps,
7+
TextTrackInit,
8+
} from "vidstack";
39
import type { MediaPlayerElement } from "vidstack/elements";
410
import type { VidstackPlayerConfig } from "vidstack/global/player";
511
import { PlyrLayout, VidstackPlayer } from "vidstack/global/player";
@@ -113,19 +119,17 @@ export default defineComponent({
113119

114120
player = await VidstackPlayer.create(options);
115121

116-
player.addEventListener("provider-change", (event) => {
117-
const provider = event.detail;
118-
119-
if (provider?.type === "hls" && HLS_JS_INSTALLED)
120-
// @ts-expect-error: Issue in vidstack
121-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
122-
provider.library = () =>
123-
import(/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js");
124-
else if (provider?.type === "dashjs" && DASHJS_INSTALLED)
125-
// @ts-expect-error: Issue in vidstack
126-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
127-
provider.library = () =>
128-
import(/* webpackChunkName: "dashjs" */ "dashjs");
122+
player.addEventListener("provider-change", () => {
123+
if (player!.provider?.type === "hls" && HLS_JS_INSTALLED)
124+
player!.provider.library = (() =>
125+
import(
126+
/* webpackChunkName: "hls" */ "hls.js/dist/hls.min.js"
127+
)) as HLSConstructorLoader;
128+
else if (player!.provider?.type === "dash" && DASHJS_INSTALLED)
129+
player!.provider.library = (() =>
130+
import(
131+
/* webpackChunkName: "dashjs" */ "dashjs"
132+
)) as DASHNamespaceLoader;
129133
});
130134
});
131135

Diff for: ‎packages/theme/src/client/components/transitions/DropTransition.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export const DropTransition = defineComponent({
5656
onAfterEnter: unsetStyle,
5757
onBeforeLeave: setStyle,
5858
};
59-
const children = () => slots.default();
59+
const children = (): VNode | VNode[] => slots.default();
6060

6161
return props.type === "group"
6262
? h(TransitionGroup, attrs, children)

Diff for: ‎pnpm-lock.yaml

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
Please sign in to comment.