diff --git a/codecs/build-rust-nightly.sh b/codecs/build-rust-nightly.sh deleted file mode 100644 index ab5ae1ea..00000000 --- a/codecs/build-rust-nightly.sh +++ /dev/null @@ -1,4 +0,0 @@ -set -e - -docker build -t squoosh-rust-nightly --build-arg RUST_IMG=rustlang/rust:nightly - < ../rust.Dockerfile -docker run --rm -v $PWD:/src squoosh-rust-nightly "$@" diff --git a/codecs/oxipng/Cargo.lock b/codecs/oxipng/Cargo.lock index 7f763f45..d3abbefa 100644 --- a/codecs/oxipng/Cargo.lock +++ b/codecs/oxipng/Cargo.lock @@ -247,18 +247,18 @@ checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" [[package]] name = "libdeflate-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e39efa87b84db3e13ff4e2dfac1e57220abcbd7fe8ec44d238f7f4f787cc1f" +checksum = "2f5b1582a0ebf8c55a46166c04d7c66f6bb17add3a6cbf69a082ac2219f31671" dependencies = [ "cc", ] [[package]] name = "libdeflater" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4810980d791f26d470e2d7d91a3d4d22aa3a4b709fb7e9c5e43ee54f83a01f2" +checksum = "93edd93a53970951da84ef733a8b6e30189a8f8a9e19610f69e4cc5bb1f4d654" dependencies = [ "libdeflate-sys", ] @@ -359,9 +359,9 @@ checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0" [[package]] name = "oxipng" -version = "4.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea40b366cecfce76ee3b082e7e6567b82cdef75644a22442ca8584bc666ff4eb" +checksum = "9fefb26bde273c3db896a313151301a69e698a7495ee577fe2168ed7065c29c4" dependencies = [ "bit-vec", "byteorder", diff --git a/codecs/oxipng/build.sh b/codecs/oxipng/build.sh index 3f7568df..0f2536fa 100644 --- a/codecs/oxipng/build.sh +++ b/codecs/oxipng/build.sh @@ -3,6 +3,8 @@ set -e rm -rf pkg,{-parallel} -wasm-pack build --target web +wasm-pack build -t web RUSTFLAGS='-C target-feature=+atomics,+bulk-memory' wasm-pack build -t web -d pkg-parallel -- -Z build-std=panic_abort,std --features=parallel +# Workaround https://github.com/rustwasm/wasm-bindgen/issues/2133: +sed -i "s|maybe_memory:|maybe_memory?:|" pkg-parallel/squoosh_oxipng.d.ts rm pkg{,-parallel}/.gitignore diff --git a/codecs/oxipng/package.json b/codecs/oxipng/package.json index 6d7a7bad..f12e88ab 100644 --- a/codecs/oxipng/package.json +++ b/codecs/oxipng/package.json @@ -1,6 +1,6 @@ { "name": "oxipng", "scripts": { - "build": "RUST_IMG=rustlang/rust:8bb115b1090d ../build-rust.sh ./build.sh" + "build": "RUST_IMG=rustlang/rust@sha256:744aeea5a38f95aa7a96ec37269a65f0c6197a1cdd87d6534e12bb869141d807 ../build-rust.sh ./build.sh" } } diff --git a/codecs/oxipng/pkg-parallel/package.json b/codecs/oxipng/pkg-parallel/package.json index 33415cae..80ba0476 100644 --- a/codecs/oxipng/pkg-parallel/package.json +++ b/codecs/oxipng/pkg-parallel/package.json @@ -12,4 +12,4 @@ "module": "squoosh_oxipng.js", "types": "squoosh_oxipng.d.ts", "sideEffects": false -} +} \ No newline at end of file diff --git a/codecs/oxipng/pkg-parallel/squoosh_oxipng.d.ts b/codecs/oxipng/pkg-parallel/squoosh_oxipng.d.ts index e062e01a..a5cfa570 100644 --- a/codecs/oxipng/pkg-parallel/squoosh_oxipng.d.ts +++ b/codecs/oxipng/pkg-parallel/squoosh_oxipng.d.ts @@ -1,29 +1,24 @@ /* tslint:disable */ /* eslint-disable */ /** - * @param {Uint8Array} data - * @param {number} level - * @returns {Uint8Array} - */ +* @param {Uint8Array} data +* @param {number} level +* @returns {Uint8Array} +*/ export function optimise(data: Uint8Array, level: number): Uint8Array; /** - * @param {number} num - * @returns {any} - */ +* @param {number} num +* @returns {any} +*/ export function worker_initializer(num: number): any; /** - */ +*/ export function start_main_thread(): void; /** - */ +*/ export function start_worker_thread(): void; -export type InitInput = - | RequestInfo - | URL - | Response - | BufferSource - | WebAssembly.Module; +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly optimise: (a: number, b: number, c: number, d: number) => void; @@ -39,15 +34,13 @@ export interface InitOutput { } /** - * If `module_or_path` is {RequestInfo} or {URL}, makes a request and - * for everything else, calls `WebAssembly.instantiate` directly. - * - * @param {InitInput | Promise} module_or_path - * @param {WebAssembly.Memory} maybe_memory - * - * @returns {Promise} - */ -export default function init( - module_or_path?: InitInput | Promise, - maybe_memory?: WebAssembly.Memory, -): Promise; +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {InitInput | Promise} module_or_path +* @param {WebAssembly.Memory} maybe_memory +* +* @returns {Promise} +*/ +export default function init (module_or_path?: InitInput | Promise, maybe_memory?: WebAssembly.Memory): Promise; + \ No newline at end of file diff --git a/codecs/oxipng/pkg-parallel/squoosh_oxipng.js b/codecs/oxipng/pkg-parallel/squoosh_oxipng.js index 63b7e03c..1111760d 100644 --- a/codecs/oxipng/pkg-parallel/squoosh_oxipng.js +++ b/codecs/oxipng/pkg-parallel/squoosh_oxipng.js @@ -1,3 +1,4 @@ + let wasm; let memory; @@ -8,189 +9,172 @@ heap.push(undefined, null, true, false); let heap_next = heap.length; function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; - heap[idx] = obj; - return idx; + heap[idx] = obj; + return idx; } -let cachedTextDecoder = new TextDecoder('utf-8', { - ignoreBOM: true, - fatal: true, -}); +let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); let cachegetUint8Memory0 = null; function getUint8Memory0() { - if ( - cachegetUint8Memory0 === null || - cachegetUint8Memory0.buffer !== wasm.__wbindgen_export_0.buffer - ) { - cachegetUint8Memory0 = new Uint8Array(wasm.__wbindgen_export_0.buffer); - } - return cachegetUint8Memory0; + if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.__wbindgen_export_0.buffer) { + cachegetUint8Memory0 = new Uint8Array(wasm.__wbindgen_export_0.buffer); + } + return cachegetUint8Memory0; } function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len)); + return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len)); } let WASM_VECTOR_LEN = 0; function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); - getUint8Memory0().set(arg, ptr / 1); - WASM_VECTOR_LEN = arg.length; - return ptr; + const ptr = malloc(arg.length * 1); + getUint8Memory0().set(arg, ptr / 1); + WASM_VECTOR_LEN = arg.length; + return ptr; } let cachegetInt32Memory0 = null; function getInt32Memory0() { - if ( - cachegetInt32Memory0 === null || - cachegetInt32Memory0.buffer !== wasm.__wbindgen_export_0.buffer - ) { - cachegetInt32Memory0 = new Int32Array(wasm.__wbindgen_export_0.buffer); - } - return cachegetInt32Memory0; + if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.__wbindgen_export_0.buffer) { + cachegetInt32Memory0 = new Int32Array(wasm.__wbindgen_export_0.buffer); + } + return cachegetInt32Memory0; } function getArrayU8FromWasm0(ptr, len) { - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); + return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } /** - * @param {Uint8Array} data - * @param {number} level - * @returns {Uint8Array} - */ +* @param {Uint8Array} data +* @param {number} level +* @returns {Uint8Array} +*/ export function optimise(data, level) { - try { - const retptr = wasm.__wbindgen_export_1.value - 16; - wasm.__wbindgen_export_1.value = retptr; - var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); - var len0 = WASM_VECTOR_LEN; - wasm.optimise(retptr, ptr0, len0, level); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1); - return v1; - } finally { - wasm.__wbindgen_export_1.value += 16; - } + try { + const retptr = wasm.__wbindgen_export_1.value - 16; + wasm.__wbindgen_export_1.value = retptr; + var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + var len0 = WASM_VECTOR_LEN; + wasm.optimise(retptr, ptr0, len0, level); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1); + return v1; + } finally { + wasm.__wbindgen_export_1.value += 16; + } } -function getObject(idx) { - return heap[idx]; -} +function getObject(idx) { return heap[idx]; } function dropObject(idx) { - if (idx < 36) return; - heap[idx] = heap_next; - heap_next = idx; + if (idx < 36) return; + heap[idx] = heap_next; + heap_next = idx; } function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; + const ret = getObject(idx); + dropObject(idx); + return ret; } /** - * @param {number} num - * @returns {any} - */ +* @param {number} num +* @returns {any} +*/ export function worker_initializer(num) { - var ret = wasm.worker_initializer(num); - return takeObject(ret); + var ret = wasm.worker_initializer(num); + return takeObject(ret); } /** - */ +*/ export function start_main_thread() { - wasm.start_main_thread(); + wasm.start_main_thread(); } /** - */ +*/ export function start_worker_thread() { - wasm.start_worker_thread(); + wasm.start_worker_thread(); } async function load(module, imports, maybe_memory) { - if (typeof Response === 'function' && module instanceof Response) { - memory = imports.wbg.memory = new WebAssembly.Memory({ - initial: 17, - maximum: 16384, - shared: true, - }); - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn( - '`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n', - e, - ); - } else { - throw e; + if (typeof Response === 'function' && module instanceof Response) { + memory = imports.wbg.memory = new WebAssembly.Memory({initial:17,maximum:16384,shared:true}); + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } } - } - } - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - } else { - memory = imports.wbg.memory = maybe_memory; - const instance = await WebAssembly.instantiate(module, imports); + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; } else { - return instance; + memory = imports.wbg.memory = maybe_memory; + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } } - } } async function init(input, maybe_memory) { - if (typeof input === 'undefined') { - input = import.meta.url.replace(/\.js$/, '_bg.wasm'); - } - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_module = function () { - var ret = init.__wbindgen_wasm_module; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_memory = function () { - var ret = wasm.__wbindgen_export_0; - return addHeapObject(ret); - }; - imports.wbg.__wbg_of_6510501edc06d65e = function (arg0, arg1) { - var ret = Array.of(takeObject(arg0), takeObject(arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; + if (typeof input === 'undefined') { + input = import.meta.url.replace(/\.js$/, '_bg.wasm'); + } + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_module = function() { + var ret = init.__wbindgen_wasm_module; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_memory = function() { + var ret = wasm.__wbindgen_export_0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_of_6510501edc06d65e = function(arg0, arg1) { + var ret = Array.of(takeObject(arg0), takeObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; - if ( - typeof input === 'string' || - (typeof Request === 'function' && input instanceof Request) || - (typeof URL === 'function' && input instanceof URL) - ) { - input = fetch(input); - } + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } - const { instance, module } = await load(await input, imports, maybe_memory); + const { instance, module } = await load(await input, imports, maybe_memory); - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - wasm.__wbindgen_start(); - return wasm; + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + wasm.__wbindgen_start(); + return wasm; } export default init; + diff --git a/codecs/oxipng/pkg-parallel/squoosh_oxipng_bg.wasm b/codecs/oxipng/pkg-parallel/squoosh_oxipng_bg.wasm index 93eff79b..bb9559c8 100644 Binary files a/codecs/oxipng/pkg-parallel/squoosh_oxipng_bg.wasm and b/codecs/oxipng/pkg-parallel/squoosh_oxipng_bg.wasm differ diff --git a/codecs/oxipng/pkg/squoosh_oxipng.d.ts b/codecs/oxipng/pkg/squoosh_oxipng.d.ts index c8377d5a..196593fb 100644 --- a/codecs/oxipng/pkg/squoosh_oxipng.d.ts +++ b/codecs/oxipng/pkg/squoosh_oxipng.d.ts @@ -1,18 +1,13 @@ /* tslint:disable */ /* eslint-disable */ /** - * @param {Uint8Array} data - * @param {number} level - * @returns {Uint8Array} - */ +* @param {Uint8Array} data +* @param {number} level +* @returns {Uint8Array} +*/ export function optimise(data: Uint8Array, level: number): Uint8Array; -export type InitInput = - | RequestInfo - | URL - | Response - | BufferSource - | WebAssembly.Module; +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; @@ -24,13 +19,12 @@ export interface InitOutput { } /** - * If `module_or_path` is {RequestInfo} or {URL}, makes a request and - * for everything else, calls `WebAssembly.instantiate` directly. - * - * @param {InitInput | Promise} module_or_path - * - * @returns {Promise} - */ -export default function init( - module_or_path?: InitInput | Promise, -): Promise; +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {InitInput | Promise} module_or_path +* +* @returns {Promise} +*/ +export default function init (module_or_path?: InitInput | Promise): Promise; + \ No newline at end of file diff --git a/codecs/oxipng/pkg/squoosh_oxipng.js b/codecs/oxipng/pkg/squoosh_oxipng.js index ca755b63..74c98c89 100644 --- a/codecs/oxipng/pkg/squoosh_oxipng.js +++ b/codecs/oxipng/pkg/squoosh_oxipng.js @@ -1,126 +1,118 @@ + let wasm; -let cachedTextDecoder = new TextDecoder('utf-8', { - ignoreBOM: true, - fatal: true, -}); +let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); let cachegetUint8Memory0 = null; function getUint8Memory0() { - if ( - cachegetUint8Memory0 === null || - cachegetUint8Memory0.buffer !== wasm.memory.buffer - ) { - cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachegetUint8Memory0; + if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { + cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachegetUint8Memory0; } function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } let WASM_VECTOR_LEN = 0; function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1); - getUint8Memory0().set(arg, ptr / 1); - WASM_VECTOR_LEN = arg.length; - return ptr; + const ptr = malloc(arg.length * 1); + getUint8Memory0().set(arg, ptr / 1); + WASM_VECTOR_LEN = arg.length; + return ptr; } let cachegetInt32Memory0 = null; function getInt32Memory0() { - if ( - cachegetInt32Memory0 === null || - cachegetInt32Memory0.buffer !== wasm.memory.buffer - ) { - cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachegetInt32Memory0; + if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { + cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachegetInt32Memory0; } function getArrayU8FromWasm0(ptr, len) { - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); + return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); } /** - * @param {Uint8Array} data - * @param {number} level - * @returns {Uint8Array} - */ +* @param {Uint8Array} data +* @param {number} level +* @returns {Uint8Array} +*/ export function optimise(data, level) { - try { - const retptr = wasm.__wbindgen_export_0.value - 16; - wasm.__wbindgen_export_0.value = retptr; - var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); - var len0 = WASM_VECTOR_LEN; - wasm.optimise(retptr, ptr0, len0, level); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1); - return v1; - } finally { - wasm.__wbindgen_export_0.value += 16; - } + try { + const retptr = wasm.__wbindgen_export_0.value - 16; + wasm.__wbindgen_export_0.value = retptr; + var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + var len0 = WASM_VECTOR_LEN; + wasm.optimise(retptr, ptr0, len0, level); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1); + return v1; + } finally { + wasm.__wbindgen_export_0.value += 16; + } } async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn( - '`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n', - e, - ); - } else { - throw e; + if (typeof Response === 'function' && module instanceof Response) { + + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } } - } - } - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - } else { - const instance = await WebAssembly.instantiate(module, imports); + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; } else { - return instance; + + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } } - } } async function init(input) { - if (typeof input === 'undefined') { - input = import.meta.url.replace(/\.js$/, '_bg.wasm'); - } - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; + if (typeof input === 'undefined') { + input = import.meta.url.replace(/\.js$/, '_bg.wasm'); + } + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; - if ( - typeof input === 'string' || - (typeof Request === 'function' && input instanceof Request) || - (typeof URL === 'function' && input instanceof URL) - ) { - input = fetch(input); - } + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } - const { instance, module } = await load(await input, imports); + const { instance, module } = await load(await input, imports); - wasm = instance.exports; - init.__wbindgen_wasm_module = module; + wasm = instance.exports; + init.__wbindgen_wasm_module = module; - return wasm; + return wasm; } export default init; + diff --git a/codecs/oxipng/pkg/squoosh_oxipng_bg.wasm b/codecs/oxipng/pkg/squoosh_oxipng_bg.wasm index e18ca4fb..ab9e78e9 100644 Binary files a/codecs/oxipng/pkg/squoosh_oxipng_bg.wasm and b/codecs/oxipng/pkg/squoosh_oxipng_bg.wasm differ diff --git a/codecs/rust.Dockerfile b/codecs/rust.Dockerfile index d0f89433..e72f0803 100644 --- a/codecs/rust.Dockerfile +++ b/codecs/rust.Dockerfile @@ -7,7 +7,7 @@ RUN wget -qO- https://github.com/rustwasm/wasm-pack/releases/download/v0.9.1/was FROM $RUST_IMG AS rust ARG RUST_IMG RUN rustup target add wasm32-unknown-unknown -RUN if [[ $RUST_IMG = rustlang/rust:* ]] ; then rustup component add rust-src ; fi +RUN case $RUST_IMG in rustlang/rust@*) rustup component add rust-src; esac COPY --from=wasm-tools /emsdk/upstream/bin/wasm-opt /emsdk/upstream/bin/clang /usr/local/bin/ COPY --from=wasm-tools /emsdk/upstream/lib/ /usr/local/lib/ COPY --from=wasm-tools /emsdk/upstream/emscripten/system/include/libc/ /wasm32/include/