@@ -96,16 +96,28 @@ async function patchCoreJs({ js, name }: { js: ResolvableFile; name: string }) {
9696 }
9797 }`
9898 } else if ( isEsmScript ( jsContent ) ) {
99- jsContent = `${ jsContent . replace ( 'var setImmediate' , '' ) . replace (
100- 'readyPromiseResolve(Module)' ,
101- `readyPromiseResolve({
102- AL: typeof AL === 'undefined' ? null: AL,
103- Browser: typeof Browser === 'undefined' ? null: Browser,
104- JSEvents,
105- Module,
106- exit: _emscripten_force_exit
107- })` ,
108- ) } ;
99+ jsContent = `${ jsContent
100+ . replace ( 'var setImmediate' , '' )
101+ . replace (
102+ 'readyPromiseResolve(Module)' ,
103+ `readyPromiseResolve({
104+ AL: typeof AL === 'undefined' ? null: AL,
105+ Browser: typeof Browser === 'undefined' ? null: Browser,
106+ JSEvents,
107+ Module,
108+ exit: _emscripten_force_exit
109+ })` ,
110+ )
111+ . replace (
112+ 'return moduleRtn;' ,
113+ `return moduleRtn.then((Module) => ({
114+ AL: typeof AL === 'undefined' ? null: AL,
115+ Browser: typeof Browser === 'undefined' ? null: Browser,
116+ JSEvents,
117+ exit: _emscripten_force_exit,
118+ ...Module,
119+ }));` ,
120+ ) } ;
109121 export function getEmscripten({ Module }) {
110122 const fnA = (typeof libretro_${ name } === "function") ? libretro_${ name } : null;
111123 const fnB = (typeof ${ name } === "function") ? ${ name } : null;
0 commit comments