From f3accb6c572ce98f90ce7dcf2ff60186cc739765 Mon Sep 17 00:00:00 2001 From: Rob Marscher Date: Wed, 8 May 2024 14:59:31 -0400 Subject: [PATCH] Patch wasm-pack bundler target for Cloudflare Workers Following Cloudflare's documentation found here: https://developers.cloudflare.com/workers/languages/rust/#javascript-plumbing-wasm-bindgen Fixes #156 --- minify-html-wasm/build | 2 ++ minify-html-wasm/index.cloudflare.js | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 minify-html-wasm/index.cloudflare.js diff --git a/minify-html-wasm/build b/minify-html-wasm/build index d0dfc0d3..d75869cc 100755 --- a/minify-html-wasm/build +++ b/minify-html-wasm/build @@ -14,6 +14,8 @@ if [[ "$target" = "bundler" ]]; then jq -s '.[0] * .[1]' package.json ../package.merge.json > package.new.json mv package.new.json package.json rm .gitignore + # https://developers.cloudflare.com/workers/languages/rust/#javascript-plumbing-wasm-bindgen + cp ../index.cloudflare.js index.js elif [[ "$target" = "web" ]]; then rm package.json .gitignore fi diff --git a/minify-html-wasm/index.cloudflare.js b/minify-html-wasm/index.cloudflare.js new file mode 100644 index 00000000..181ad47a --- /dev/null +++ b/minify-html-wasm/index.cloudflare.js @@ -0,0 +1,13 @@ +import * as imports from "./index_bg.js" + +// switch between both syntax for node and for workerd +import wkmod from "./index_bg.wasm" +import * as wasm from "./index_bg.wasm" +if (typeof process !== "undefined" && process.release.name === "node") { + imports.__wbg_set_wasm(wasm) +} else { + const instance = new WebAssembly.Instance(wkmod, { "./index_bg.js": imports }) + imports.__wbg_set_wasm(instance.exports) +} + +export * from "./index_bg.js"