Skip to content

Instantly share code, notes, and snippets.

@Security2431
Last active June 12, 2024 13:49
Show Gist options
  • Save Security2431/2b28f17e11870bb4b0e347673e16d5ba to your computer and use it in GitHub Desktop.
Save Security2431/2b28f17e11870bb4b0e347673e16d5ba to your computer and use it in GitHub Desktop.
shaka-player 4.3.4.patch
{
"scripts": {
"postinstall": "patch-package"
},
"devDependencies": {
"patch-package": "6.5.1",
"shaka-player": "4.3.4"
}
}
diff --git a/node_modules/shaka-player/dist/shaka-player.compiled.d.ts b/node_modules/shaka-player/dist/shaka-player.compiled.d.ts
index e8cb5c3..08e6c9a 100644
--- a/node_modules/shaka-player/dist/shaka-player.compiled.d.ts
+++ b/node_modules/shaka-player/dist/shaka-player.compiled.d.ts
@@ -4468,3 +4468,5 @@ declare namespace ಠ_ಠ.clutz {
static isTypeSupported (keySystem : string , contentType : string ) : boolean ;
}
}
+
+export default shaka;
\ No newline at end of file
diff --git a/node_modules/shaka-player/dist/shaka-player.ui.d.ts b/node_modules/shaka-player/dist/shaka-player.ui.d.ts
index 6dbd94e..0ad95ab 100644
--- a/node_modules/shaka-player/dist/shaka-player.ui.d.ts
+++ b/node_modules/shaka-player/dist/shaka-player.ui.d.ts
@@ -5054,3 +5054,5 @@ declare namespace shaka.extern {
declare namespace shaka.extern {
type UIVolumeBarColors = { base : string , level : string } ;
}
+
+export default shaka;
\ No newline at end of file
diff --git a/node_modules/shaka-player/index.d.ts b/node_modules/shaka-player/index.d.ts
new file mode 100644
index 0000000..86130b2
--- /dev/null
+++ b/node_modules/shaka-player/index.d.ts
@@ -0,0 +1,2 @@
+/// <reference path="./dist/shaka-player.compiled.d.ts" />
+/// <reference path="./dist/shaka-player.ui.d.ts" />
diff --git a/node_modules/shaka-player/ui.d.ts b/node_modules/shaka-player/ui.d.ts
new file mode 100644
index 0000000..7471371
--- /dev/null
+++ b/node_modules/shaka-player/ui.d.ts
@@ -0,0 +1,3 @@
+import shaka from 'shaka-player/dist/shaka-player.ui'
+export * from 'shaka-player/dist/shaka-player.ui'
+export default shaka;
@Security2431
Copy link
Author

Way to go. This is the possible solution webpack ignoring warnings. It will turn off all the node_modules warnings.
FYI: node_modules is a self-contained library that we shouldn't tamper with. So, I think it's a good solution 👍

P.S. I've dug into the shaka-player library and found a lot of errors under the hood 🤫

@loicraux
Copy link

loicraux commented Sep 11, 2023

Thank you for the gist @Security2431! I followed your instructions, but still running into TS errors during compilation:

[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:503:62 - error TS2694: Namespace 'google.ima.dai.api' has no exported member 'StreamRequest'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 503     requestServerSideStream (imaRequest : google.ima.dai.api.StreamRequest , backupUrl ? : string ) : Promise < string > ;
[build:watch:lib:types:tsc]                                                                  ~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:636:37 - error TS2694: Namespace 'google.ima' has no exported member 'Ad'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 636     constructor (imaAd : google.ima.Ad , imaAdManager : google.ima.AdsManager , video : HTMLMediaElement | null ) ;
[build:watch:lib:types:tsc]                                         ~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:664:45 - error TS2694: Namespace 'google.ima.dai.api' has no exported member 'Ad'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 664     constructor (imaAd : google.ima.dai.api.Ad | null , video : HTMLMediaElement | null ) ;
[build:watch:lib:types:tsc]                                                 ~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:1537:9 - error TS2506: 'AbortController' is referenced directly or indirectly in its own base expression.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 1537   class AbortController extends AbortController {
[build:watch:lib:types:tsc]              ~~~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3092:41 - error TS2694: Namespace 'google.ima' has no exported member 'AdDisplayContainer'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3092     constructor (container : google.ima.AdDisplayContainer ) ;
[build:watch:lib:types:tsc]                                              ~~~~~~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3097:34 - error TS2694: Namespace 'google.ima' has no exported member 'ImaSdkSettings'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3097     getSettings ( ) : google.ima.ImaSdkSettings | null ;
[build:watch:lib:types:tsc]                                       ~~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3176:130 - error TS2694: Namespace 'google.ima.dai.api' has no exported member 'UiSettings'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3176     constructor (videoElement : HTMLMediaElement | null , adUiElement ? : HTMLElement | null , uiSettings ? : google.ima.dai.api.UiSettings | null ) ;
[build:watch:lib:types:tsc]                                                                                                                                       ~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3185:55 - error TS2694: Namespace 'google.ima.dai.api' has no exported member 'StreamRequest'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3185     requestStream (streamRequest : google.ima.dai.api.StreamRequest | null ) : any ;
[build:watch:lib:types:tsc]                                                            ~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3193:29 - error TS2694: Namespace 'google.ima' has no exported member 'ImaSdkSettings'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3193   let settings : google.ima.ImaSdkSettings ;
[build:watch:lib:types:tsc]                                  ~~~~~~~~~~~~~~
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] node_modules/shaka-player/dist/shaka-player.compiled.d.ts:3596:62 - error TS2694: Namespace 'google.ima.dai.api' has no exported member 'StreamRequest'.
[build:watch:lib:types:tsc]
[build:watch:lib:types:tsc] 3596     requestServerSideStream (imaRequest : google.ima.dai.api.StreamRequest , backupUrl ? : string ) : Promise < string > ;

Any suggestions?

You should set skipLibCheck option to true in your tsconfig.json file.

@enjikaka
Copy link

enjikaka commented May 6, 2024

shaka-player@4.8.1.patch

diff --git a/dist/shaka-player.compiled.d.ts b/dist/shaka-player.compiled.d.ts
index e6dcbc69da69831c5b327d4ca4a28c4a648caf8a..19c4e9b9d816f5cf12a4e2b8b3d3cf2e326c4e57 100644
--- a/dist/shaka-player.compiled.d.ts
+++ b/dist/shaka-player.compiled.d.ts
@@ -5424,6 +5424,7 @@ declare namespace ಠ_ಠ.clutz {
     static isTypeSupported (keySystem : string , contentType : string ) : boolean ;
   }
 }
+export default shaka;
 // Generated from /home/runner/work/shaka-player/shaka-player/externs/webos.js
 declare namespace PalmSystem {
   let deviceInfo : string ;
diff --git a/dist/shaka-player.ui.d.ts b/dist/shaka-player.ui.d.ts
index 5b3b8753930568a83a6d1d8d6d18357de4d8424a..4301fa807b03741f3384137432cb206df390287b 100644
--- a/dist/shaka-player.ui.d.ts
+++ b/dist/shaka-player.ui.d.ts
@@ -6128,3 +6128,4 @@ declare namespace shaka.extern {
 declare namespace shaka.extern {
   type UIVolumeBarColors = { base : string , level : string } ;
 }
+export default shaka;
\ No newline at end of file
diff --git a/index.d.ts b/index.d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..86130b219f20157404545f817f41485ab13ced25
--- /dev/null
+++ b/index.d.ts
@@ -0,0 +1,2 @@
+/// <reference path="./dist/shaka-player.compiled.d.ts" />
+/// <reference path="./dist/shaka-player.ui.d.ts" />
diff --git a/ui.d.ts b/ui.d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5118563d30558c6692fd35b4f4bd04b6e8874288
--- /dev/null
+++ b/ui.d.ts
@@ -0,0 +1,3 @@
+import shaka from './dist/shaka-player.ui'
+export * from './dist/shaka-player.ui'
+export default shaka;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment