@mux/playback-core 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/hls.js/dist/hls.js.d.ts","../src/util.ts","../src/autoplay.ts","../src/errors.ts","../src/tracks.ts","../src/index.ts","../../../types/media-chrome.d.ts","../../../types/mux-embed.d.ts","../../../types/mux.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","3359566cd3e1d64199b5cc028817490162edcf5aa7954f35133a462a507cdb48","bc1d26eb06cfb9d5b7006b2e388f253e2998738bdb40687bc572ff95fd86a9e7","38c58afd3d594ed92cf4dd92bf3bea59bc38e9ede507d017c89cb2f12aabc670","2c90891ab2ef9273ebe2db728e271417f71625600221a13d11e19ec6f58fa673","bac66c2c75bcbaa4a05164e3b9284891f9ff82f809c9ddf123b30838df5d0ef6","91fdf3ad09ff6a793d469ad407806fef7b61283f756031d48c15cb2c2ad2773f","3cf4c7825a6c0ef1965e8906b85844aafdcdda9d95c8b4bcfcb3a20811cfd0b1","c5a4764697efe3b6b4eaf19b3dc1880cf3df665d30ec93e212233c29a2fa7207",{"version":"ee8e401f800f3d48020eda76c4fd27afd5bab992195252939329ae56dc9d1889","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":5,"noImplicitAny":true,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"fileIdsList":[[36,37],[36,37,38,39,40,43],[36]],"referencedMap":[[38,1],[41,2],[40,1],[44,3]],"exportedModulesMap":[[38,1],[41,2],[40,1],[44,3]],"semanticDiagnosticsPerFile":[36,7,8,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,1,10,9,38,39,41,40,37,42,43,44]},"version":"4.6.4"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/hls.js/dist/hls.js.d.ts","../src/types.ts","../src/util.ts","../src/autoplay.ts","../src/errors.ts","../src/preload.ts","../src/tracks.ts","../src/index.ts","../../../types/media-chrome.d.ts","../../../types/mux-embed.d.ts","../../../types/mux.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","3359566cd3e1d64199b5cc028817490162edcf5aa7954f35133a462a507cdb48","bcf396eacb3b929c1550a349407d43f636c7f7f816285610c195e202107d3dcb","491d1964801fd3b68f3da9f63c1de6294dd65d2014c67f8dcdbf4e9e8db11776","28ba34a75d351f9f9a044197fd9edda7a02d746d1ef0862e465e9b021b477c27","19d0b22f4d25a0720bd13093c6043aa5790d264c866c3f73b6a5e7417300fb35","f2f32229ba4dab150a38f79f270bc2c58652bc617cf80ccd44b56f03f0e54609","b00d84fbefb2b3f84359821d688ffbf19a3d62984255e3efde6035903fdacb6e","d26b5fbf12d96031cfa72d54ecf3532863e93ed478b36bb22753d6ea8ae698c7","3cf4c7825a6c0ef1965e8906b85844aafdcdda9d95c8b4bcfcb3a20811cfd0b1","c5a4764697efe3b6b4eaf19b3dc1880cf3df665d30ec93e212233c29a2fa7207",{"version":"ee8e401f800f3d48020eda76c4fd27afd5bab992195252939329ae56dc9d1889","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":5,"noImplicitAny":true,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"fileIdsList":[[36,37,38],[36,37,38,39,40,41,42,45],[37,38],[36],[36,45],[37]],"referencedMap":[[39,1],[43,2],[41,3],[42,4],[37,5],[38,6],[46,4]],"exportedModulesMap":[[39,1],[43,2],[41,3],[42,4],[37,5],[38,6],[46,4]],"semanticDiagnosticsPerFile":[36,7,8,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,1,10,9,39,40,43,41,42,37,38,44,45,46]},"version":"4.6.4"}
@@ -1,15 +1,7 @@
1
1
  import Hls from 'hls.js';
2
- declare type PlaybackEngine = Hls;
3
- export declare type AutoplayTypes = {
4
- ANY: 'any';
5
- MUTED: 'muted';
6
- };
7
- export declare const AutoplayTypes: AutoplayTypes;
8
- declare type ValueOf<T> = T[keyof T];
9
- declare type Maybe<T> = T | null | undefined;
10
- export declare type Autoplay = boolean | ValueOf<AutoplayTypes>;
11
- export declare type UpdateAutoplay = (newAutoplay: Maybe<string | boolean>) => void;
2
+ import { Autoplay } from './types';
12
3
  export declare const isAutoplayValue: (value: unknown) => value is Autoplay;
13
- export declare const setupAutoplay: (mediaEl: HTMLMediaElement, maybeAutoplay: Maybe<string | boolean>, hls: PlaybackEngine | undefined) => UpdateAutoplay;
4
+ export declare const setupAutoplay: ({ autoplay: maybeAutoplay }: {
5
+ autoplay?: Autoplay;
6
+ }, mediaEl?: HTMLMediaElement | null | undefined, hls?: Hls | undefined) => (newAutoplay?: Autoplay | undefined) => void;
14
7
  export declare const handleAutoplay: (mediaEl: HTMLMediaElement, autoplay: Autoplay) => void;
15
- export {};
@@ -1,70 +1,23 @@
1
- import mux, { Options } from 'mux-embed';
2
- import Hls, { HlsConfig } from 'hls.js';
3
- import { AutoplayTypes, setupAutoplay } from './autoplay';
1
+ import mux from 'mux-embed';
2
+ import Hls from 'hls.js';
4
3
  import { MediaError } from './errors';
5
4
  import { addTextTrack, removeTextTrack } from './tracks';
6
- import type { Autoplay, UpdateAutoplay } from './autoplay';
7
- export declare type ValueOf<T> = T[keyof T];
8
- export declare type Metadata = Partial<Options['data']>;
9
- export declare type PlaybackEngine = Hls;
10
- export { mux, Hls, MediaError, Autoplay, UpdateAutoplay, setupAutoplay, addTextTrack, removeTextTrack };
5
+ import { StreamTypes, type ValueOf, type PlaybackCore, type MuxMediaProps, type MuxMediaPropsInternal } from './types';
6
+ export { mux, Hls, MediaError, addTextTrack, removeTextTrack };
7
+ export * from './types';
11
8
  export declare const generatePlayerInitTime: () => any;
12
- export declare type StreamTypes = {
13
- VOD: 'on-demand';
14
- ON_DEMAND: 'on-demand';
15
- LIVE: 'live';
16
- LL_LIVE: 'll-live';
17
- DVR: 'live:dvr';
18
- LL_DVR: 'll-live:dvr';
19
- };
20
- export declare const StreamTypes: StreamTypes;
21
- export declare type ExtensionMimeTypeMap = {
22
- M3U8: 'application/vnd.apple.mpegurl';
23
- MP4: 'video/mp4';
24
- };
25
- export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
26
- export declare type MimeTypeShorthandMap = {
27
- HLS: ExtensionMimeTypeMap['M3U8'];
28
- };
29
- export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
30
- export declare const shorthandKeys: string[];
31
- export declare type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
32
- /** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
33
- | 'hls';
34
- export declare const allMediaTypes: MediaTypes[];
35
- export declare type MuxMediaPropTypes = {
36
- envKey: Options['data']['env_key'];
37
- debug: Options['debug'] & Hls['config']['debug'];
38
- metadata: Partial<Options['data']>;
39
- customDomain: string;
40
- beaconCollectionDomain: Options['beaconCollectionDomain'];
41
- errorTranslator: Options['errorTranslator'];
42
- playbackId: string;
43
- playerInitTime: Options['data']['player_init_time'];
44
- preferMse: boolean;
45
- type: MediaTypes;
46
- streamType: ValueOf<StreamTypes>;
47
- startTime: HlsConfig['startPosition'];
48
- autoPlay: boolean | ValueOf<AutoplayTypes>;
49
- autoplay: boolean | ValueOf<AutoplayTypes>;
50
- };
51
- export declare type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src'>>;
52
- export declare type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
53
- export declare type MuxMediaPropsInternal = MuxMediaProps & {
54
- playerSoftwareName: Options['data']['player_software_name'];
55
- playerSoftwareVersion: Options['data']['player_software_version'];
56
- };
57
- export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [string, string?];
58
9
  export declare const toMuxVideoURL: (playbackId?: string | undefined, { domain }?: {
59
10
  domain?: string | undefined;
60
11
  }) => string | undefined;
61
- export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
62
- export declare const getType: (props: Partial<Pick<MuxMediaProps, 'type' | 'src'>>) => "" | MediaTypes;
63
- export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes> | undefined) => {};
64
12
  export declare const getError: (mediaEl: HTMLMediaElement) => MediaError | undefined;
65
- export declare const teardown: (mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "destroy" | "detachMedia"> | undefined) => void;
66
- export declare const setupHls: (props: Partial<Pick<MuxMediaProps, 'debug' | 'preferMse' | 'streamType' | 'type' | 'src' | 'startTime'>>, mediaEl?: Pick<HTMLMediaElement, "canPlayType"> | null | undefined) => Hls | undefined;
13
+ export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl?: HTMLMediaElement | null | undefined, core?: PlaybackCore | undefined) => {
14
+ engine: Hls | undefined;
15
+ setAutoplay: (newAutoplay?: import("./types").Autoplay | undefined) => void;
16
+ setPreload: (val?: "" | "none" | "metadata" | "auto" | undefined) => void;
17
+ };
18
+ export declare const teardown: (mediaEl?: HTMLMediaElement | null | undefined, core?: PlaybackCore | undefined) => void;
19
+ export declare const setupHls: (props: Partial<Pick<MuxMediaProps, 'debug' | 'streamType' | 'type' | 'startTime'>>, mediaEl?: Pick<HTMLMediaElement, "canPlayType"> | null | undefined) => Hls | undefined;
20
+ export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes> | undefined) => {};
67
21
  export declare const isMuxVideoSrc: ({ playbackId, src, customDomain, }: Partial<Pick<MuxMediaPropsInternal, 'playbackId' | 'src' | 'customDomain'>>) => boolean;
68
22
  export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, 'envKey' | 'playerInitTime' | 'beaconCollectionDomain' | 'errorTranslator' | 'metadata' | 'debug' | 'playerSoftwareName' | 'playerSoftwareVersion' | 'playbackId' | 'src' | 'customDomain'>>, mediaEl?: HTMLMediaElement | null | undefined, hlsjs?: Hls | undefined) => void;
69
- export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferMse' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "once" | "liveSyncPosition" | "on" | "subtitleTracks" | "subtitleTrack" | "config" | "destroy" | "attachMedia" | "loadSource" | "startLoad" | "stopLoad" | "recoverMediaError"> | undefined) => void;
70
- export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Hls | undefined) => Hls | undefined;
23
+ export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "config" | "once" | "liveSyncPosition" | "loadSource" | "on" | "subtitleTracks" | "subtitleTrack" | "destroy" | "attachMedia" | "startLoad" | "stopLoad" | "recoverMediaError"> | undefined) => void;
@@ -0,0 +1 @@
1
+ export declare const setupPreload: ({ preload, src }: Partial<HTMLMediaElement>, mediaEl?: HTMLMediaElement | null | undefined, hls?: import("hls.js").default | undefined) => (val?: "" | "none" | "metadata" | "auto" | undefined) => void;
@@ -0,0 +1,69 @@
1
+ import { Options } from 'mux-embed';
2
+ import Hls, { HlsConfig } from 'hls.js';
3
+ declare type KeyTypes = string | number | symbol;
4
+ export declare const isKeyOf: <T = any>(k: KeyTypes, o: T) => k is keyof T;
5
+ export declare type ValueOf<T> = T[keyof T];
6
+ export declare type Metadata = Partial<Options['data']>;
7
+ export declare type PlaybackEngine = Hls;
8
+ export declare type PlaybackCore = {
9
+ engine?: PlaybackEngine;
10
+ setAutoplay: (autoplay?: Autoplay) => void;
11
+ setPreload: (preload?: HTMLMediaElement['preload']) => void;
12
+ };
13
+ export declare type AutoplayTypes = {
14
+ ANY: 'any';
15
+ MUTED: 'muted';
16
+ };
17
+ export declare const AutoplayTypes: AutoplayTypes;
18
+ export declare type Autoplay = boolean | ValueOf<AutoplayTypes>;
19
+ export declare type StreamTypes = {
20
+ VOD: 'on-demand';
21
+ ON_DEMAND: 'on-demand';
22
+ LIVE: 'live';
23
+ LL_LIVE: 'll-live';
24
+ DVR: 'live:dvr';
25
+ LL_DVR: 'll-live:dvr';
26
+ };
27
+ export declare const StreamTypes: StreamTypes;
28
+ export declare type PlaybackTypes = {
29
+ MSE: 'mse';
30
+ NATIVE: 'native';
31
+ };
32
+ export declare const PlaybackTypes: PlaybackTypes;
33
+ export declare type ExtensionMimeTypeMap = {
34
+ M3U8: 'application/vnd.apple.mpegurl';
35
+ MP4: 'video/mp4';
36
+ };
37
+ export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
38
+ export declare type MimeTypeShorthandMap = {
39
+ HLS: ExtensionMimeTypeMap['M3U8'];
40
+ };
41
+ export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
42
+ export declare const shorthandKeys: string[];
43
+ export declare type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
44
+ /** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
45
+ | 'hls';
46
+ export declare const allMediaTypes: MediaTypes[];
47
+ export declare type MuxMediaPropTypes = {
48
+ envKey: Options['data']['env_key'];
49
+ debug: Options['debug'] & Hls['config']['debug'];
50
+ metadata: Partial<Options['data']>;
51
+ customDomain: string;
52
+ beaconCollectionDomain: Options['beaconCollectionDomain'];
53
+ errorTranslator: Options['errorTranslator'];
54
+ playbackId: string;
55
+ playerInitTime: Options['data']['player_init_time'];
56
+ preferPlayback: ValueOf<PlaybackTypes> | undefined;
57
+ type: MediaTypes;
58
+ streamType: ValueOf<StreamTypes>;
59
+ startTime: HlsConfig['startPosition'];
60
+ autoPlay?: Autoplay;
61
+ autoplay?: Autoplay;
62
+ };
63
+ export declare type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload'>>;
64
+ export declare type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
65
+ export declare type MuxMediaPropsInternal = MuxMediaProps & {
66
+ playerSoftwareName: Options['data']['player_software_name'];
67
+ playerSoftwareVersion: Options['data']['player_software_version'];
68
+ };
69
+ export {};
@@ -1,6 +1,8 @@
1
- declare type KeyTypes = string | number | symbol;
1
+ import { type MuxMediaProps } from './types';
2
2
  declare type addEventListenerWithTeardown = <K extends keyof HTMLMediaElementEventMap>(mediaEl: HTMLMediaElement, type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions) => void;
3
3
  export declare const addEventListenerWithTeardown: addEventListenerWithTeardown;
4
- export declare const isKeyOf: <T = any>(k: KeyTypes, o: T) => k is keyof T;
5
4
  export declare function inSeekableRange(seekable: TimeRanges, duration: number, time: number): boolean;
5
+ export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [string, string?];
6
+ export declare const getType: (props: Partial<Pick<MuxMediaProps, 'type' | 'src'>>) => "" | import("./types").MediaTypes;
7
+ export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
6
8
  export {};
@@ -1,15 +1,7 @@
1
1
  import Hls from 'hls.js';
2
- declare type PlaybackEngine = Hls;
3
- export declare type AutoplayTypes = {
4
- ANY: 'any';
5
- MUTED: 'muted';
6
- };
7
- export declare const AutoplayTypes: AutoplayTypes;
8
- declare type ValueOf<T> = T[keyof T];
9
- declare type Maybe<T> = T | null | undefined;
10
- export declare type Autoplay = boolean | ValueOf<AutoplayTypes>;
11
- export declare type UpdateAutoplay = (newAutoplay: Maybe<string | boolean>) => void;
2
+ import { Autoplay } from './types';
12
3
  export declare const isAutoplayValue: (value: unknown) => value is Autoplay;
13
- export declare const setupAutoplay: (mediaEl: HTMLMediaElement, maybeAutoplay: Maybe<string | boolean>, hls: PlaybackEngine | undefined) => UpdateAutoplay;
4
+ export declare const setupAutoplay: ({ autoplay: maybeAutoplay }: {
5
+ autoplay?: Autoplay;
6
+ }, mediaEl?: HTMLMediaElement | null | undefined, hls?: Hls | undefined) => (newAutoplay?: Autoplay | undefined) => void;
14
7
  export declare const handleAutoplay: (mediaEl: HTMLMediaElement, autoplay: Autoplay) => void;
15
- export {};
@@ -1,73 +1,23 @@
1
- import mux, { Options } from 'mux-embed';
2
- import Hls, { HlsConfig } from 'hls.js';
3
- import { AutoplayTypes, setupAutoplay } from './autoplay';
1
+ import mux from 'mux-embed';
2
+ import Hls from 'hls.js';
4
3
  import { MediaError } from './errors';
5
4
  import { addTextTrack, removeTextTrack } from './tracks';
6
- import { Autoplay, UpdateAutoplay } from './autoplay';
7
- export declare type ValueOf<T> = T[keyof T];
8
- export declare type Metadata = Partial<Options['data']>;
9
- export declare type PlaybackEngine = Hls;
10
- export { mux, Hls, MediaError, Autoplay, UpdateAutoplay, setupAutoplay, addTextTrack, removeTextTrack };
5
+ import { StreamTypes, ValueOf, PlaybackCore, MuxMediaProps, MuxMediaPropsInternal } from './types';
6
+ export { mux, Hls, MediaError, addTextTrack, removeTextTrack };
7
+ export * from './types';
11
8
  export declare const generatePlayerInitTime: () => any;
12
- export declare type StreamTypes = {
13
- VOD: 'on-demand';
14
- ON_DEMAND: 'on-demand';
15
- LIVE: 'live';
16
- LL_LIVE: 'll-live';
17
- DVR: 'live:dvr';
18
- LL_DVR: 'll-live:dvr';
19
- };
20
- export declare const StreamTypes: StreamTypes;
21
- export declare type ExtensionMimeTypeMap = {
22
- M3U8: 'application/vnd.apple.mpegurl';
23
- MP4: 'video/mp4';
24
- };
25
- export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
26
- export declare type MimeTypeShorthandMap = {
27
- HLS: ExtensionMimeTypeMap['M3U8'];
28
- };
29
- export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
30
- export declare const shorthandKeys: string[];
31
- export declare type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
32
- /** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
33
- | 'hls';
34
- export declare const allMediaTypes: MediaTypes[];
35
- export declare type MuxMediaPropTypes = {
36
- envKey: Options['data']['env_key'];
37
- debug: Options['debug'] & Hls['config']['debug'];
38
- metadata: Partial<Options['data']>;
39
- customDomain: string;
40
- beaconCollectionDomain: Options['beaconCollectionDomain'];
41
- errorTranslator: Options['errorTranslator'];
42
- playbackId: string;
43
- playerInitTime: Options['data']['player_init_time'];
44
- preferMse: boolean;
45
- type: MediaTypes;
46
- streamType: ValueOf<StreamTypes>;
47
- startTime: HlsConfig['startPosition'];
48
- autoPlay: boolean | ValueOf<AutoplayTypes>;
49
- autoplay: boolean | ValueOf<AutoplayTypes>;
50
- };
51
- export declare type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src'>>;
52
- export declare type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
53
- export declare type MuxMediaPropsInternal = MuxMediaProps & {
54
- playerSoftwareName: Options['data']['player_software_name'];
55
- playerSoftwareVersion: Options['data']['player_software_version'];
56
- };
57
- export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [
58
- string,
59
- string?
60
- ];
61
9
  export declare const toMuxVideoURL: (playbackId?: string | undefined, { domain }?: {
62
10
  domain?: string | undefined;
63
11
  }) => string | undefined;
64
- export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
65
- export declare const getType: (props: Partial<Pick<MuxMediaProps, 'type' | 'src'>>) => "" | MediaTypes;
66
- export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes> | undefined) => {};
67
12
  export declare const getError: (mediaEl: HTMLMediaElement) => MediaError | undefined;
68
- export declare const teardown: (mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "destroy" | "detachMedia"> | undefined) => void;
69
- export declare const setupHls: (props: Partial<Pick<MuxMediaProps, 'debug' | 'preferMse' | 'streamType' | 'type' | 'src' | 'startTime'>>, mediaEl?: Pick<HTMLMediaElement, "canPlayType"> | null | undefined) => Hls | undefined;
13
+ export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl?: HTMLMediaElement | null | undefined, core?: PlaybackCore | undefined) => {
14
+ engine: Hls | undefined;
15
+ setAutoplay: (newAutoplay?: import("./types").Autoplay | undefined) => void;
16
+ setPreload: (val?: "" | "none" | "metadata" | "auto" | undefined) => void;
17
+ };
18
+ export declare const teardown: (mediaEl?: HTMLMediaElement | null | undefined, core?: PlaybackCore | undefined) => void;
19
+ export declare const setupHls: (props: Partial<Pick<MuxMediaProps, 'debug' | 'streamType' | 'type' | 'startTime'>>, mediaEl?: Pick<HTMLMediaElement, "canPlayType"> | null | undefined) => Hls | undefined;
20
+ export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes> | undefined) => {};
70
21
  export declare const isMuxVideoSrc: ({ playbackId, src, customDomain, }: Partial<Pick<MuxMediaPropsInternal, 'playbackId' | 'src' | 'customDomain'>>) => boolean;
71
22
  export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, 'envKey' | 'playerInitTime' | 'beaconCollectionDomain' | 'errorTranslator' | 'metadata' | 'debug' | 'playerSoftwareName' | 'playerSoftwareVersion' | 'playbackId' | 'src' | 'customDomain'>>, mediaEl?: HTMLMediaElement | null | undefined, hlsjs?: Hls | undefined) => void;
72
- export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferMse' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "once" | "liveSyncPosition" | "on" | "subtitleTracks" | "subtitleTrack" | "config" | "destroy" | "attachMedia" | "loadSource" | "startLoad" | "stopLoad" | "recoverMediaError"> | undefined) => void;
73
- export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Hls | undefined) => Hls | undefined;
23
+ export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, mediaEl?: HTMLMediaElement | null | undefined, hls?: Pick<Hls, "config" | "once" | "liveSyncPosition" | "loadSource" | "on" | "subtitleTracks" | "subtitleTrack" | "destroy" | "attachMedia" | "startLoad" | "stopLoad" | "recoverMediaError"> | undefined) => void;
@@ -0,0 +1 @@
1
+ export declare const setupPreload: ({ preload, src }: Partial<HTMLMediaElement>, mediaEl?: HTMLMediaElement | null | undefined, hls?: import("hls.js").default | undefined) => (val?: "" | "none" | "metadata" | "auto" | undefined) => void;
@@ -0,0 +1,69 @@
1
+ import { Options } from 'mux-embed';
2
+ import Hls, { HlsConfig } from 'hls.js';
3
+ declare type KeyTypes = string | number | symbol;
4
+ export declare const isKeyOf: <T = any>(k: KeyTypes, o: T) => k is keyof T;
5
+ export declare type ValueOf<T> = T[keyof T];
6
+ export declare type Metadata = Partial<Options['data']>;
7
+ export declare type PlaybackEngine = Hls;
8
+ export declare type PlaybackCore = {
9
+ engine?: PlaybackEngine;
10
+ setAutoplay: (autoplay?: Autoplay) => void;
11
+ setPreload: (preload?: HTMLMediaElement['preload']) => void;
12
+ };
13
+ export declare type AutoplayTypes = {
14
+ ANY: 'any';
15
+ MUTED: 'muted';
16
+ };
17
+ export declare const AutoplayTypes: AutoplayTypes;
18
+ export declare type Autoplay = boolean | ValueOf<AutoplayTypes>;
19
+ export declare type StreamTypes = {
20
+ VOD: 'on-demand';
21
+ ON_DEMAND: 'on-demand';
22
+ LIVE: 'live';
23
+ LL_LIVE: 'll-live';
24
+ DVR: 'live:dvr';
25
+ LL_DVR: 'll-live:dvr';
26
+ };
27
+ export declare const StreamTypes: StreamTypes;
28
+ export declare type PlaybackTypes = {
29
+ MSE: 'mse';
30
+ NATIVE: 'native';
31
+ };
32
+ export declare const PlaybackTypes: PlaybackTypes;
33
+ export declare type ExtensionMimeTypeMap = {
34
+ M3U8: 'application/vnd.apple.mpegurl';
35
+ MP4: 'video/mp4';
36
+ };
37
+ export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
38
+ export declare type MimeTypeShorthandMap = {
39
+ HLS: ExtensionMimeTypeMap['M3U8'];
40
+ };
41
+ export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
42
+ export declare const shorthandKeys: string[];
43
+ export declare type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
44
+ /** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
45
+ | 'hls';
46
+ export declare const allMediaTypes: MediaTypes[];
47
+ export declare type MuxMediaPropTypes = {
48
+ envKey: Options['data']['env_key'];
49
+ debug: Options['debug'] & Hls['config']['debug'];
50
+ metadata: Partial<Options['data']>;
51
+ customDomain: string;
52
+ beaconCollectionDomain: Options['beaconCollectionDomain'];
53
+ errorTranslator: Options['errorTranslator'];
54
+ playbackId: string;
55
+ playerInitTime: Options['data']['player_init_time'];
56
+ preferPlayback: ValueOf<PlaybackTypes> | undefined;
57
+ type: MediaTypes;
58
+ streamType: ValueOf<StreamTypes>;
59
+ startTime: HlsConfig['startPosition'];
60
+ autoPlay?: Autoplay;
61
+ autoplay?: Autoplay;
62
+ };
63
+ export declare type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload'>>;
64
+ export declare type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
65
+ export declare type MuxMediaPropsInternal = MuxMediaProps & {
66
+ playerSoftwareName: Options['data']['player_software_name'];
67
+ playerSoftwareVersion: Options['data']['player_software_version'];
68
+ };
69
+ export {};
@@ -1,6 +1,11 @@
1
- declare type KeyTypes = string | number | symbol;
1
+ import { MuxMediaProps } from './types';
2
2
  declare type addEventListenerWithTeardown = <K extends keyof HTMLMediaElementEventMap>(mediaEl: HTMLMediaElement, type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions) => void;
3
3
  export declare const addEventListenerWithTeardown: addEventListenerWithTeardown;
4
- export declare const isKeyOf: <T = any>(k: KeyTypes, o: T) => k is keyof T;
5
4
  export declare function inSeekableRange(seekable: TimeRanges, duration: number, time: number): boolean;
5
+ export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [
6
+ string,
7
+ string?
8
+ ];
9
+ export declare const getType: (props: Partial<Pick<MuxMediaProps, 'type' | 'src'>>) => "" | import("./types").MediaTypes;
10
+ export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
6
11
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mux/playback-core",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Core library for media playback in the browser shared by mux elements",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.mjs",
@@ -28,6 +28,9 @@
28
28
  "license": "MIT",
29
29
  "scripts": {
30
30
  "clean": "shx rm -rf dist/",
31
+ "lint": "eslint src/ --ext .js,.jsx,.ts,.tsx",
32
+ "test": "web-test-runner **/*test.js --port 8004 --coverage --config test/web-test-runner.config.mjs --root-dir ../..",
33
+ "posttest": "replace 'SF:src/' 'SF:packages/playback-core/src/' coverage/lcov.info --silent",
31
34
  "dev:cjs": "yarn build:cjs --watch=forever",
32
35
  "dev:esm": "yarn build:esm --watch=forever",
33
36
  "dev:esm-module": "yarn build:esm-module --watch=forever",
@@ -40,8 +43,7 @@
40
43
  "build:iife": "esbuild --metafile=./dist/iife.json src/index.ts --target=es2019 --bundle --sourcemap --format=iife --outfile=./dist/playback-core.js",
41
44
  "build:types": "tsc --declaration --emitDeclarationOnly --outDir './dist/types'",
42
45
  "postbuild:types": "downlevel-dts ./dist/types ./dist/types-ts3.4 --to=3.4",
43
- "build": "npm-run-all --parallel build:types 'build:esm -- --minify' 'build:iife -- --minify' 'build:cjs -- --minify' 'build:esm-module -- --minify'",
44
- "prebuild": "yarn clean",
46
+ "build": "npm-run-all --parallel 'build:esm --minify' 'build:iife --minify' 'build:cjs --minify' 'build:esm-module --minify'",
45
47
  "create-release-notes": "create-release-notes ./CHANGELOG.md",
46
48
  "publish-release": "../../scripts/publish.sh"
47
49
  },
@@ -50,12 +52,19 @@
50
52
  "mux-embed": "^4.7.0"
51
53
  },
52
54
  "devDependencies": {
55
+ "@mux/test-esm-exports": "0.1.0",
56
+ "@open-wc/testing": "^3.0.3",
57
+ "@typescript-eslint/parser": "^5.38.1",
58
+ "@web/dev-server-esbuild": "^0.3.2",
59
+ "@web/dev-server-import-maps": "^0.0.6",
60
+ "@web/test-runner": "^0.13.26",
53
61
  "downlevel-dts": "^0.9.0",
54
62
  "esbuild": "^0.15.7",
63
+ "eslint": "^8.24.0",
55
64
  "npm-run-all": "^4.1.5",
56
65
  "shared-polyfills": "0.1.0",
57
66
  "shx": "^0.3.4",
58
67
  "typescript": "^4.5.2"
59
68
  },
60
- "gitHead": "807de779d0c22eec622957f02362d122e1dcd686"
69
+ "gitHead": "fed1f3227335c31c2b25f58137b1293e11fd2c96"
61
70
  }