@gcorevideo/player 2.28.25 → 2.28.26
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.
- package/dist/core.js +38 -32
- package/dist/index.css +223 -223
- package/dist/index.embed.js +95 -38
- package/dist/index.js +227 -122
- package/lib/Player.d.ts.map +1 -1
- package/lib/index.core.d.ts +1 -1
- package/lib/index.core.d.ts.map +1 -1
- package/lib/index.core.js +1 -1
- package/lib/index.plugins.d.ts +34 -34
- package/lib/index.plugins.d.ts.map +1 -1
- package/lib/index.plugins.js +34 -34
- package/lib/playback/types.d.ts.map +1 -1
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
- package/lib/plugins/bottom-gear/BottomGear.js +3 -1
- package/lib/plugins/clappr-nerd-stats/speedtest/index.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/speedtest/index.js +9 -5
- package/lib/plugins/clappr-nerd-stats/speedtest/types.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/utils.d.ts +2 -2
- package/lib/plugins/clips/utils.d.ts.map +1 -1
- package/lib/plugins/cmcd-config/CmcdConfig.js +1 -1
- package/lib/plugins/favicon/Favicon.d.ts.map +1 -1
- package/lib/plugins/google-analytics/GoogleAnalytics.d.ts.map +1 -1
- package/lib/plugins/google-analytics/GoogleAnalytics.js +10 -3
- package/lib/plugins/kibo/index.d.ts.map +1 -1
- package/lib/plugins/kibo/index.js +69 -20
- package/lib/plugins/level-selector/QualityLevels.js +2 -2
- package/lib/plugins/logo/Logo.d.ts.map +1 -1
- package/lib/plugins/logo/Logo.js +19 -15
- package/lib/plugins/logo/utils/index.d.ts.map +1 -1
- package/lib/plugins/logo/utils/index.js +11 -7
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
- package/lib/plugins/multi-camera/MultiCamera.js +42 -20
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts.map +1 -1
- package/lib/plugins/picture-in-picture/PictureInPicture.js +3 -2
- package/lib/plugins/share/Share.d.ts.map +1 -1
- package/lib/plugins/share/Share.js +17 -12
- package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/subtitles/ClosedCaptions.d.ts.map +1 -1
- package/lib/plugins/subtitles/ClosedCaptions.js +4 -3
- package/lib/plugins/thumbnails/Thumbnails.js +2 -3
- package/lib/plugins/thumbnails/utils.d.ts.map +1 -1
- package/lib/plugins/utils/fullscreen.d.ts.map +1 -1
- package/lib/plugins/utils.d.ts.map +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/vast-ads/VastAds.d.ts.map +1 -1
- package/lib/plugins/vast-ads/VastAds.js +2 -1
- package/lib/plugins/vast-ads/loaderxml.d.ts.map +1 -1
- package/lib/plugins/vast-ads/loaderxml.js +8 -5
- package/lib/plugins/vast-ads/roll.d.ts +2 -2
- package/lib/plugins/vast-ads/roll.d.ts.map +1 -1
- package/lib/plugins/vast-ads/roll.js +16 -10
- package/lib/plugins/vast-ads/rollmanager.d.ts.map +1 -1
- package/lib/plugins/vast-ads/rollmanager.js +17 -7
- package/lib/plugins/vast-ads/sctemanager.d.ts +1 -1
- package/lib/plugins/vast-ads/sctemanager.d.ts.map +1 -1
- package/lib/plugins/vast-ads/sctemanager.js +6 -5
- package/lib/plugins/vast-ads/types.d.ts.map +1 -1
- package/lib/plugins/vast-ads/urlhandler.d.ts.map +1 -1
- package/lib/plugins/vast-ads/xmlhttprequest.d.ts.map +1 -1
- package/lib/plugins/vast-ads/xmlhttprequest.js +3 -2
- package/lib/plugins/vast-ads/xmlmerge.d.ts.map +1 -1
- package/lib/plugins/vast-ads/xmlmerge.js +4 -3
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/utils/clickaway.d.ts.map +1 -1
- package/lib/utils/mediaSources.d.ts.map +1 -1
- package/lib/utils/mediaSources.js +1 -3
- package/lib/utils/types.d.ts.map +1 -1
- package/lib/version.js +2 -2
- package/package.json +2 -2
- package/src/Player.ts +10 -10
- package/src/__tests__/Player.test.ts +33 -10
- package/src/index.core.ts +9 -1
- package/src/index.plugins.ts +35 -35
- package/src/playback/BasePlayback.ts +1 -1
- package/src/playback/__tests__/HTML5Video.test.ts +10 -4
- package/src/playback/dash-playback/__tests__/DashPlayback.test.ts +10 -38
- package/src/playback/hls-playback/__tests__/HlsPlayback.test.ts +12 -45
- package/src/playback/types.ts +0 -1
- package/src/playback.types.ts +1 -2
- package/src/plugins/audio-selector/AudioTracks.ts +1 -1
- package/src/plugins/audio-selector/__tests__/AudioTracks.test.ts +30 -11
- package/src/plugins/bottom-gear/BottomGear.ts +3 -2
- package/src/plugins/clappr-nerd-stats/NerdStats.ts +1 -1
- package/src/plugins/clappr-nerd-stats/speedtest/index.ts +104 -82
- package/src/plugins/clappr-nerd-stats/speedtest/types.ts +3 -3
- package/src/plugins/clappr-nerd-stats/utils.ts +2 -2
- package/src/plugins/clappr-stats/__tests__/ClapprStats.test.ts +30 -18
- package/src/plugins/clips/utils.ts +5 -1
- package/src/plugins/cmcd-config/CmcdConfig.ts +1 -1
- package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +21 -15
- package/src/plugins/favicon/Favicon.ts +73 -49
- package/src/plugins/google-analytics/GoogleAnalytics.ts +93 -58
- package/src/plugins/kibo/index.ts +183 -109
- package/src/plugins/level-selector/QualityLevels.ts +2 -2
- package/src/plugins/logo/Logo.ts +134 -105
- package/src/plugins/logo/utils/index.ts +27 -20
- package/src/plugins/media-control/MediaControl.ts +12 -6
- package/src/plugins/multi-camera/MultiCamera.ts +218 -157
- package/src/plugins/picture-in-picture/PictureInPicture.ts +41 -37
- package/src/plugins/playback-rate/__tests__/PlaybackRate.test.ts +25 -11
- package/src/plugins/poster/__tests__/Poster.test.ts +8 -9
- package/src/plugins/share/Share.ts +85 -60
- package/src/plugins/skip-time/SkipTime.ts +5 -1
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +8 -5
- package/src/plugins/subtitles/ClosedCaptions.ts +7 -5
- package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +0 -1
- package/src/plugins/thumbnails/Thumbnails.ts +22 -21
- package/src/plugins/thumbnails/__tests__/Thumbnails.test.ts +14 -7
- package/src/plugins/thumbnails/utils.ts +3 -1
- package/src/plugins/typings/globals.d.ts +7 -7
- package/src/plugins/typings/workers.d.ts +3 -3
- package/src/plugins/utils/fullscreen.ts +2 -2
- package/src/plugins/utils.ts +17 -13
- package/src/plugins/vast-ads/VastAds.ts +4 -5
- package/src/plugins/vast-ads/loaderxml.ts +142 -101
- package/src/plugins/vast-ads/roll.ts +381 -284
- package/src/plugins/vast-ads/rollmanager.ts +214 -170
- package/src/plugins/vast-ads/sctemanager.ts +66 -48
- package/src/plugins/vast-ads/types.ts +15 -9
- package/src/plugins/vast-ads/urlhandler.ts +18 -13
- package/src/plugins/vast-ads/xmlhttprequest.ts +25 -20
- package/src/plugins/vast-ads/xmlmerge.ts +42 -32
- package/src/plugins/video360/VRControls.js +50 -42
- package/src/plugins/video360/VREffect.js +298 -206
- package/src/plugins/video360/Video360.js +553 -423
- package/src/plugins/video360/orbit-oriention-controls.js +526 -421
- package/src/plugins/video360/utils.js +18 -18
- package/src/types.ts +5 -3
- package/src/typings/@clappr/core/error_mixin.d.ts +9 -9
- package/src/typings/@clappr/core/index.d.ts +1 -3
- package/src/typings/@clappr/core/playback.d.ts +3 -3
- package/src/typings/@clappr/index.d.ts +1 -1
- package/src/typings/globals.d.ts +15 -15
- package/src/utils/__tests__/mediaSources.test.ts +42 -26
- package/src/utils/clickaway.ts +24 -24
- package/src/utils/errors.ts +2 -2
- package/src/utils/mediaSources.ts +5 -4
- package/src/utils/types.ts +1 -1
- package/src/version.ts +2 -2
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// check if the browser supports cors
|
|
2
|
-
export const corsSupport = (function() {
|
|
3
|
-
const video = document.createElement('video')
|
|
2
|
+
export const corsSupport = (function () {
|
|
3
|
+
const video = document.createElement('video')
|
|
4
4
|
|
|
5
|
-
video.crossOrigin = 'anonymous'
|
|
5
|
+
video.crossOrigin = 'anonymous'
|
|
6
6
|
|
|
7
|
-
return video.hasAttribute('crossorigin')
|
|
8
|
-
})()
|
|
7
|
+
return video.hasAttribute('crossorigin')
|
|
8
|
+
})()
|
|
9
9
|
|
|
10
10
|
export const validProjections = [
|
|
11
11
|
'360',
|
|
@@ -19,31 +19,31 @@ export const validProjections = [
|
|
|
19
19
|
'Sphere',
|
|
20
20
|
'Cube',
|
|
21
21
|
'equirectangular',
|
|
22
|
-
'180'
|
|
23
|
-
]
|
|
22
|
+
'180',
|
|
23
|
+
]
|
|
24
24
|
|
|
25
|
-
export const getInternalProjectionName = function(projection) {
|
|
25
|
+
export const getInternalProjectionName = function (projection) {
|
|
26
26
|
if (!projection) {
|
|
27
|
-
return
|
|
27
|
+
return
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
projection = projection.toString().trim()
|
|
30
|
+
projection = projection.toString().trim()
|
|
31
31
|
|
|
32
|
-
if (
|
|
33
|
-
return '360'
|
|
32
|
+
if (/sphere/i.test(projection)) {
|
|
33
|
+
return '360'
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
if (
|
|
37
|
-
return '360_CUBE'
|
|
36
|
+
if (/cube/i.test(projection)) {
|
|
37
|
+
return '360_CUBE'
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
if (
|
|
41
|
-
return '360'
|
|
40
|
+
if (/equirectangular/i.test(projection)) {
|
|
41
|
+
return '360'
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
for (let i = 0; i < validProjections.length; i++) {
|
|
45
45
|
if (new RegExp('^' + validProjections[i] + '$', 'i').test(projection)) {
|
|
46
|
-
return validProjections[i]
|
|
46
|
+
return validProjections[i]
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
}
|
|
49
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $, Container, Core } from
|
|
1
|
+
import { $, Container, Core } from '@clappr/core'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Describes a media source with its MIME type and URL.
|
|
@@ -63,7 +63,9 @@ export type PlayerPlugin = {
|
|
|
63
63
|
/**
|
|
64
64
|
* @public
|
|
65
65
|
*/
|
|
66
|
-
export type PlayerPluginConstructor =
|
|
66
|
+
export type PlayerPluginConstructor =
|
|
67
|
+
| CorePluginConstructor
|
|
68
|
+
| ContainerPluginConstructor
|
|
67
69
|
|
|
68
70
|
/**
|
|
69
71
|
* @public
|
|
@@ -302,4 +304,4 @@ export enum PlayerEvent {
|
|
|
302
304
|
* {@link https://zeptojs.com/#$() | Zepto query result}
|
|
303
305
|
* @public
|
|
304
306
|
*/
|
|
305
|
-
export type ZeptoResult = ReturnType<typeof
|
|
307
|
+
export type ZeptoResult = ReturnType<typeof $>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import '@clappr/core'
|
|
1
|
+
import '@clappr/core'
|
|
2
2
|
|
|
3
|
-
declare module
|
|
4
|
-
|
|
3
|
+
declare module '@clappr/core' {
|
|
4
|
+
// export ErrorMixin;
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
type ErrorOptions = {
|
|
7
|
+
useCodePrefix: boolean
|
|
8
|
+
}
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
declare interface ErrorMixin {
|
|
11
|
+
createError(error: object, options?: ErrorOptions): Error
|
|
12
|
+
}
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
declare module '@clappr' {}
|
|
1
|
+
declare module '@clappr' {}
|
package/src/typings/globals.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
declare interface HTMLVideoElement {
|
|
2
|
-
|
|
2
|
+
webkitDisplayingFullscreen?: boolean
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
declare interface HTMLMediaElement {
|
|
6
|
-
|
|
6
|
+
audioTracks?: AudioTrackList
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
declare interface AudioTrackW3C {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
readonly id: string
|
|
11
|
+
enabled: boolean
|
|
12
|
+
readonly kind: string
|
|
13
|
+
readonly label: string
|
|
14
|
+
readonly language: string
|
|
15
|
+
readonly sourceBuffer: SourceBuffer | null
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
declare interface AudioTrackList {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
getTrackById(id: string): AudioTrackW3C | null
|
|
20
|
+
length: number
|
|
21
|
+
[index: number]: AudioTrackW3C
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
declare module
|
|
25
|
-
declare module
|
|
26
|
-
declare module
|
|
27
|
-
declare module
|
|
24
|
+
declare module '*.css'
|
|
25
|
+
declare module '*.scss'
|
|
26
|
+
declare module '*.svg'
|
|
27
|
+
declare module '*.ejs'
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
2
|
import { Loader } from '@clappr/core'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
isDashSource,
|
|
6
|
+
isHlsSource,
|
|
7
|
+
buildMediaSourcesList,
|
|
8
|
+
} from '../mediaSources'
|
|
5
9
|
import { TransportPreference } from '../../types'
|
|
6
10
|
import { canPlayDash, canPlayHls } from '../../playback/index'
|
|
7
11
|
|
|
@@ -11,10 +15,13 @@ vi.mock('@clappr/core', () => ({
|
|
|
11
15
|
{
|
|
12
16
|
_supported: true,
|
|
13
17
|
prototype: {
|
|
14
|
-
|
|
18
|
+
name: 'dash',
|
|
15
19
|
},
|
|
16
20
|
canPlay(source, mimeType) {
|
|
17
|
-
return
|
|
21
|
+
return (
|
|
22
|
+
this._supported &&
|
|
23
|
+
(mimeType === 'application/dash+xml' || source.endsWith('.mpd'))
|
|
24
|
+
)
|
|
18
25
|
},
|
|
19
26
|
},
|
|
20
27
|
{
|
|
@@ -23,7 +30,14 @@ vi.mock('@clappr/core', () => ({
|
|
|
23
30
|
name: 'hls',
|
|
24
31
|
},
|
|
25
32
|
canPlay(source, mimeType) {
|
|
26
|
-
return
|
|
33
|
+
return (
|
|
34
|
+
this._supported &&
|
|
35
|
+
([
|
|
36
|
+
'application/vnd.apple.mpegurl',
|
|
37
|
+
'application/x-mpegurl',
|
|
38
|
+
].includes(mimeType) ||
|
|
39
|
+
source.endsWith('.m3u8'))
|
|
40
|
+
)
|
|
27
41
|
},
|
|
28
42
|
},
|
|
29
43
|
{
|
|
@@ -199,28 +213,30 @@ describe('mediaSources', () => {
|
|
|
199
213
|
mimeType: 'application/dash+xml',
|
|
200
214
|
},
|
|
201
215
|
],
|
|
202
|
-
],
|
|
203
216
|
],
|
|
204
|
-
)(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
217
|
+
])(
|
|
218
|
+
'prefer %s, dash=%s,hls=%s',
|
|
219
|
+
(preference, dash, hls, sources, expected) => {
|
|
220
|
+
beforeEach(() => {
|
|
221
|
+
if (!dash) {
|
|
222
|
+
Loader.registeredPlaybacks[0]._supported = false
|
|
223
|
+
}
|
|
224
|
+
if (!hls) {
|
|
225
|
+
Loader.registeredPlaybacks[1]._supported = false
|
|
226
|
+
}
|
|
227
|
+
})
|
|
228
|
+
afterEach(() => {
|
|
229
|
+
Loader.registeredPlaybacks[0]._supported = true
|
|
230
|
+
Loader.registeredPlaybacks[1]._supported = true
|
|
231
|
+
})
|
|
232
|
+
it('should build the ordered list of available sources', () => {
|
|
233
|
+
const ordered = buildMediaSourcesList(
|
|
234
|
+
sources,
|
|
235
|
+
preference as TransportPreference,
|
|
236
|
+
)
|
|
237
|
+
expect(ordered).toEqual(expect.objectContaining(expected))
|
|
238
|
+
})
|
|
239
|
+
},
|
|
240
|
+
)
|
|
225
241
|
})
|
|
226
242
|
})
|
package/src/utils/clickaway.ts
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
import { Browser } from '@clappr/core'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
*
|
|
5
5
|
* @param {() => void} callback - The callback to call when the user clicks away from the element
|
|
6
6
|
* @returns {(HTMLElement | null) => void}
|
|
7
7
|
*/
|
|
8
8
|
export function clickaway(callback: () => void) {
|
|
9
|
-
|
|
9
|
+
let handler = (event: MouseEvent | TouchEvent) => {}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
return (node: HTMLElement | null) => {
|
|
12
|
+
window.removeEventListener('click', handler)
|
|
13
|
+
if (!node) {
|
|
14
|
+
return
|
|
15
|
+
}
|
|
16
|
+
handler = (event: MouseEvent | TouchEvent) => {
|
|
17
|
+
if (!node.contains(event.target as Node)) {
|
|
12
18
|
window.removeEventListener('click', handler)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
handler = (event: MouseEvent | TouchEvent) => {
|
|
17
|
-
if (!node.contains(event.target as Node)) {
|
|
18
|
-
window.removeEventListener('click', handler)
|
|
19
|
-
callback()
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
window.addEventListener('click', handler)
|
|
19
|
+
callback()
|
|
20
|
+
}
|
|
23
21
|
}
|
|
22
|
+
window.addEventListener('click', handler)
|
|
23
|
+
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Sets up a clickaway handler for the media control on mobile devices.
|
|
28
28
|
* The handler is deferred to ensure it is called after the next event loop tick.
|
|
29
|
-
*
|
|
29
|
+
*
|
|
30
30
|
* @param {() => void} callback - The callback to call when the user clicks away from the media control
|
|
31
31
|
* @returns {(HTMLElement | null) => void}
|
|
32
32
|
*/
|
|
33
33
|
export function mediaControlClickaway(callback: () => void) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
34
|
+
if (!Browser.isMobile) {
|
|
35
|
+
return () => {}
|
|
36
|
+
}
|
|
37
|
+
const cw = clickaway(callback)
|
|
38
|
+
return (node: HTMLElement | null) => {
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
cw(node)
|
|
41
|
+
}, 0)
|
|
42
|
+
}
|
|
43
|
+
}
|
package/src/utils/errors.ts
CHANGED
|
@@ -19,11 +19,12 @@ export function buildMediaSourcesList(
|
|
|
19
19
|
})
|
|
20
20
|
}
|
|
21
21
|
const [preferred, rest] = sources.reduce(
|
|
22
|
-
(
|
|
22
|
+
(
|
|
23
|
+
[preferred, rest]: [PlayerMediaSourceDesc[], PlayerMediaSourceDesc[]],
|
|
24
|
+
item: PlayerMediaSourceDesc,
|
|
25
|
+
): [PlayerMediaSourceDesc[], PlayerMediaSourceDesc[]] => {
|
|
23
26
|
for (const p of playbacks) {
|
|
24
|
-
if ([
|
|
25
|
-
'html5_audio', 'html_img', 'no_op'
|
|
26
|
-
].includes(p.prototype.name)) {
|
|
27
|
+
if (['html5_audio', 'html_img', 'no_op'].includes(p.prototype.name)) {
|
|
27
28
|
continue
|
|
28
29
|
}
|
|
29
30
|
const canPlay = p.canPlay(item.source, item.mimeType)
|
package/src/utils/types.ts
CHANGED
package/src/version.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as pkg from '../package.json' with {
|
|
2
|
-
import * as lock from '../package-lock.json' with {
|
|
1
|
+
import * as pkg from '../package.json' with { type: 'json' }
|
|
2
|
+
import * as lock from '../package-lock.json' with { type: 'json' }
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Version information about the gplayer and its main dependencies
|