diff --git a/web/build.sh b/web/build.sh index 364fdca9..99b9cad7 100755 --- a/web/build.sh +++ b/web/build.sh @@ -31,6 +31,9 @@ THE SOFTWARE. Includes code from https://github.com/aws/aws-sdk-js-crypto-helpers which is used under the terms of the Apache 2 license. +Includes code written in Rust and transpiled from WebAssembly to JavaScript +which is used under the terms of the licenses that comprise those crates. + @licend The above is the entire license notice for the JavaScript code in this page. */' @@ -49,7 +52,7 @@ for file in js/**/*.ts js/**/*.mjs; do mkdir -p "$(dirname "$out")" - esbuild "$file" --sourcemap --bundle --outfile="$out" --banner:js="$LICENSE" + esbuild "$file" --sourcemap --minify --bundle --outfile="$out" --banner:js="$LICENSE" gzip -f -k -n "$out" zstd -f -k --ultra -22 "$out" brotli -fZk "$out" diff --git a/web/js/algorithms/wasm/index.ts b/web/js/algorithms/wasm/index.ts index d949fed0..c071d82e 100644 --- a/web/js/algorithms/wasm/index.ts +++ b/web/js/algorithms/wasm/index.ts @@ -13,21 +13,20 @@ interface ProcessOptions { const getHardwareConcurrency = () => navigator.hardwareConcurrency !== undefined ? navigator.hardwareConcurrency : 1; -// // https://stackoverflow.com/questions/47879864/how-can-i-check-if-a-browser-supports-webassembly -// const isWASMSupported = (() => { -// try { -// if (typeof WebAssembly === "object" -// && typeof WebAssembly.instantiate === "function") { -// const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00)); -// if (module instanceof WebAssembly.Module) -// return new WebAssembly.Instance(module) instanceof WebAssembly.Instance; -// } -// } catch (e) { -// return false; -// } -// return false; -// })(); -const isWASMSupported = false; +// https://stackoverflow.com/questions/47879864/how-can-i-check-if-a-browser-supports-webassembly +const isWASMSupported = (() => { + try { + if (typeof WebAssembly === "object" + && typeof WebAssembly.instantiate === "function") { + const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00)); + if (module instanceof WebAssembly.Module) + return new WebAssembly.Instance(module) instanceof WebAssembly.Instance; + } + } catch (e) { + return false; + } + return false; +})(); export default function process( options: ProcessOptions,