From c42f4668010e940d309ec39bf13b803ccf5af041 Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Mon, 29 Jan 2024 21:39:36 +0000 Subject: [PATCH] Changes to make the module load properly --- package.json | 3 ++- src/index.ts | 18 ++++++++++++------ webpack.config.js | 1 + 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index fc38dff..abc5bab 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "name": "xxdk-wasm", "version": "0.3.9", "description": "WebAssembly bindings for xxDK.", - "module": "src/index.ts", + "main": "dist/bundle.js", + "module": "dist/bundle.js", "directories": { "test": "test", "src": "src" diff --git a/src/index.ts b/src/index.ts index ca4fac4..b4b7079 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,15 +4,21 @@ declare global { interface Window extends XXDKUtils {} } -import '../wasm_exec'; // @ts-ignore -import makeWasm from '../xxdk.wasm'; +// import makeWasm from '../xxdk.wasm'; export const loadUtils = () => new Promise<XXDKUtils>(async (res) => { - const go = new (window as any).Go(); - const result = await makeWasm(go.importObject); - - go.run(result.instance); + const Go = require('../wasm_exec'); + const go = new Go(); + let mod, inst; + WebAssembly.instantiateStreaming(fetch("../xxdk.wasm"), go.importObject).then(async (result) => { + mod = result.module; + inst = result.instance; + await go.run(inst); + inst = await WebAssembly.instantiate(mod, go.importObject); // reset instance + }).catch((err) => { + console.error(err); + }); const { Base64ToUint8Array, diff --git a/webpack.config.js b/webpack.config.js index 2278cc2..88f4e3c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -11,6 +11,7 @@ module.exports = { name: 'xxdk-wasm', type: 'umd', }, + publicPath: '', }, module: { rules: [ -- GitLab