From 66382a7754ec5cdd31857eb47d542cb6cfac7521 Mon Sep 17 00:00:00 2001 From: leonardotc Date: Fri, 12 Sep 2025 11:03:15 +0200 Subject: [PATCH 1/2] Browser support --- Makefile | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 667ee95..a9c2f9c 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ emcc -O3 -msimd128 -msse4.1 $^ -o $@ \ -sASSERTIONS=0 \ -sALLOW_MEMORY_GROWTH=0 \ -flto \ - -sENVIRONMENT=shell,node \ + -sENVIRONMENT=web,webview,worker,node,shell \ -Os \ -DNDEBUG \ -DIS_WASM -DBLAKE3_NO_AVX512 -DBLAKE3_NO_SSE2 -DBLAKE3_NO_AVX2 \ @@ -28,7 +28,7 @@ emcc -O3 -msimd128 -msse4.1 $^ -o $@ \ -sASSERTIONS=0 \ -sALLOW_MEMORY_GROWTH=0 \ -flto \ - -sENVIRONMENT=shell,node \ + -sENVIRONMENT=web,webview,worker,node,shell \ -Os \ -DNDEBUG \ -DIS_WASM -DBLAKE3_NO_AVX512 -DBLAKE3_NO_SSE2 -DBLAKE3_NO_AVX2 \ diff --git a/package.json b/package.json index e664baa..eb2da87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tracsystems/blake3", - "version": "0.0.6", + "version": "0.0.7", "scripts": { "build": "make", "clean": "make clean", From 5ac883c6b63e0557b9eca39a6db87866e44e13e0 Mon Sep 17 00:00:00 2001 From: leonardotc Date: Fri, 12 Sep 2025 11:55:17 +0200 Subject: [PATCH 2/2] Fix browser build --- Makefile | 4 ++-- package.json | 2 +- src/index.mjs | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index a9c2f9c..f35d9ea 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ WASM_OUT_ESM = dist/wasm/internal/blake3_wasm.mjs define wasm-compile-cjs = emcc -O3 -msimd128 -msse4.1 $^ -o $@ \ -sEXPORTED_FUNCTIONS=_malloc,_free -sEXPORTED_RUNTIME_METHODS=ccall \ - -Iblake3-src/c -sMODULARIZE -s 'EXPORT_NAME="createBlake3"' \ + -Iblake3-src/c -sMODULARIZE=1 -s 'EXPORT_NAME="createBlake3"' \ -sASSERTIONS=0 \ -sALLOW_MEMORY_GROWTH=0 \ -flto \ @@ -24,7 +24,7 @@ endef define wasm-compile-esm = emcc -O3 -msimd128 -msse4.1 $^ -o $@ \ -sEXPORTED_FUNCTIONS=_malloc,_free -sEXPORTED_RUNTIME_METHODS=ccall \ - -Iblake3-src/c -sMODULARIZE -s 'EXPORT_NAME="createBlake3"' \ + -Iblake3-src/c -sMODULARIZE=1 -s 'EXPORT_NAME="createBlake3"' \ -sASSERTIONS=0 \ -sALLOW_MEMORY_GROWTH=0 \ -flto \ diff --git a/package.json b/package.json index eb2da87..0462ef5 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "test": "mocha \"test/**/*.test.js\"" }, "main": "dist/wasm/blake3.js", - "browser": "dist/wasm/blake3.js", + "browser": "dist/wasm/blake3.mjs", "module": "dist/wasm/blake3.mjs", "files": [ "dist/" diff --git a/src/index.mjs b/src/index.mjs index af7b6f9..b1d0107 100644 --- a/src/index.mjs +++ b/src/index.mjs @@ -1,4 +1,4 @@ -import createBlake3 from './internal/blake3_wasm' +import createBlake3 from './internal/blake3_wasm.mjs' const DEFAULT_LENGTH = 32 let wasm @@ -13,14 +13,14 @@ export const blake3 = async (bytes, hashLength = DEFAULT_LENGTH) => { const wasm = await getWasm() const inputAddr = wasm._malloc(bytes.length) - wasm.HEAPU8.set(bytes, ptr) + wasm.HEAPU8.set(bytes, inputAddr) const outputAddr = wasm._malloc(hashLength) wasm.ccall( 'hash', null, ['number', 'number', 'number', 'number'], - [ptr, bytes.length, outputAddr, hashLength], + [inputAddr, bytes.length, outputAddr, hashLength], ) const res = wasm.HEAPU8.subarray(outputAddr, outputAddr + hashLength)