From 8571b86b1d681adb452558e4bc2b95ca769522cd Mon Sep 17 00:00:00 2001 From: Surma Date: Mon, 6 Feb 2023 16:24:14 +0000 Subject: [PATCH] Update dependencies --- codecs/resize/Cargo.lock | 134 ++++++++++++++++------- codecs/resize/Cargo.toml | 6 +- codecs/resize/package-lock.json | 8 +- codecs/resize/pkg/squoosh_resize.d.ts | 11 ++ codecs/resize/pkg/squoosh_resize.js | 80 ++++++++++---- codecs/resize/pkg/squoosh_resize_bg.wasm | Bin 37052 -> 29841 bytes codecs/resize/src/lib.rs | 17 ++- codecs/rust.Dockerfile | 4 +- package-lock.json | 10 +- 9 files changed, 193 insertions(+), 77 deletions(-) diff --git a/codecs/resize/Cargo.lock b/codecs/resize/Cargo.lock index 26b9dbac..e82d11f5 100644 --- a/codecs/resize/Cargo.lock +++ b/codecs/resize/Cargo.lock @@ -1,5 +1,18 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "bumpalo" version = "3.4.0" @@ -8,9 +21,9 @@ checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820" [[package]] name = "bytemuck" -version = "1.4.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41aa2ec95ca3b5c54cf73c91acf06d24f4495d5f1b1c12506ae3483d646177ac" +checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" [[package]] name = "cfg-if" @@ -34,12 +47,41 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "fallible_collections" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f57ccc32870366ae684be48b32a1a2e196f98a42a9b4361fe77e13fd4a34755" +dependencies = [ + "hashbrown", +] + [[package]] name = "futures" version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + [[package]] name = "js-sys" version = "0.3.41" @@ -49,17 +91,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - [[package]] name = "libc" -version = "0.2.72" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f8082297d534141b30c8d39e9b1773713ab50fdbe4ff30f750d063b3bfd701" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "log" @@ -76,22 +112,28 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +[[package]] +name = "once_cell" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" + [[package]] name = "proc-macro2" version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" dependencies = [ - "unicode-xid 0.1.0", + "unicode-xid", ] [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ - "unicode-xid 0.2.1", + "unicode-ident", ] [[package]] @@ -109,23 +151,24 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.51", ] [[package]] name = "resize" -version = "0.5.5" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a08c42ea86684dc00256494c4eb8b54707890ddac50c05060a717f29669029" +checksum = "87e7bdfff05e26408cf8f82fe896ce3d7624f0c0b06c84b2f1009c50452ead41" dependencies = [ + "fallible_collections", "rgb", ] [[package]] name = "rgb" -version = "0.8.25" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287f3c3f8236abb92d8b7e36797f19159df4b58f0a658cc3fb6dd3004b1f3bd3" +checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" dependencies = [ "bytemuck", ] @@ -143,6 +186,7 @@ dependencies = [ "cfg-if 0.1.10", "console_error_panic_hook", "resize", + "rgb", "wasm-bindgen", "wasm-bindgen-test", "wee_alloc", @@ -150,15 +194,21 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.72" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.51", "quote 1.0.7", - "unicode-xid 0.2.1", + "unicode-ident", ] +[[package]] +name = "unicode-ident" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" + [[package]] name = "unicode-xid" version = "0.1.0" @@ -166,16 +216,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] -name = "unicode-xid" -version = "0.2.1" +name = "version_check" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.74" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -183,14 +239,14 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.74" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", - "lazy_static", "log", - "proc-macro2 1.0.27", + "once_cell", + "proc-macro2 1.0.51", "quote 1.0.7", "syn", "wasm-bindgen-shared", @@ -211,9 +267,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.74" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote 1.0.7", "wasm-bindgen-macro-support", @@ -221,11 +277,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.74" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ - "proc-macro2 1.0.27", + "proc-macro2 1.0.51", "quote 1.0.7", "syn", "wasm-bindgen-backend", @@ -234,9 +290,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.74" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasm-bindgen-test" diff --git a/codecs/resize/Cargo.toml b/codecs/resize/Cargo.toml index 76d2b153..4fac966f 100644 --- a/codecs/resize/Cargo.toml +++ b/codecs/resize/Cargo.toml @@ -13,8 +13,9 @@ default = ["console_error_panic_hook", "wee_alloc"] [dependencies] cfg-if = "0.1.2" -wasm-bindgen = "0.2.38" -resize = "0.5.5" +wasm-bindgen = "0.2.84" +resize = "0.7.4" +rgb = "0.8.33" # The `console_error_panic_hook` crate provides better debugging of panics by # logging them with `console.error`. This is great for development, but requires @@ -36,3 +37,4 @@ wasm-bindgen-test = "0.2" # Tell `rustc` to optimize for small code size. opt-level = "s" lto = true +target-feature = "+bulk-memory" diff --git a/codecs/resize/package-lock.json b/codecs/resize/package-lock.json index ca1a498d..e246878c 100644 --- a/codecs/resize/package-lock.json +++ b/codecs/resize/package-lock.json @@ -1,4 +1,10 @@ { "name": "resize", - "lockfileVersion": 1 + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "resize" + } + } } diff --git a/codecs/resize/pkg/squoosh_resize.d.ts b/codecs/resize/pkg/squoosh_resize.d.ts index 56114c7f..bdafefdd 100644 --- a/codecs/resize/pkg/squoosh_resize.d.ts +++ b/codecs/resize/pkg/squoosh_resize.d.ts @@ -23,6 +23,17 @@ export interface InitOutput { readonly __wbindgen_free: (a: number, b: number) => void; } +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {SyncInitInput} module +* +* @returns {InitOutput} +*/ +export function initSync(module: SyncInitInput): InitOutput; + /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. diff --git a/codecs/resize/pkg/squoosh_resize.js b/codecs/resize/pkg/squoosh_resize.js index 2e6a0dd4..accd70a2 100644 --- a/codecs/resize/pkg/squoosh_resize.js +++ b/codecs/resize/pkg/squoosh_resize.js @@ -1,12 +1,12 @@ - let wasm; -let cachegetUint8Memory0 = null; +let cachedUint8Memory0 = null; + function getUint8Memory0() { - if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { - cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); } - return cachegetUint8Memory0; + return cachedUint8Memory0; } let WASM_VECTOR_LEN = 0; @@ -18,20 +18,22 @@ function passArray8ToWasm0(arg, malloc) { return ptr; } -let cachegetInt32Memory0 = null; +let cachedInt32Memory0 = null; + function getInt32Memory0() { - if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { - cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); } - return cachegetInt32Memory0; + return cachedInt32Memory0; } -let cachegetUint8ClampedMemory0 = null; +let cachedUint8ClampedMemory0 = null; + function getUint8ClampedMemory0() { - if (cachegetUint8ClampedMemory0 === null || cachegetUint8ClampedMemory0.buffer !== wasm.memory.buffer) { - cachegetUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer); + if (cachedUint8ClampedMemory0 === null || cachedUint8ClampedMemory0.byteLength === 0) { + cachedUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer); } - return cachegetUint8ClampedMemory0; + return cachedUint8ClampedMemory0; } function getClampedArrayU8FromWasm0(ptr, len) { @@ -51,8 +53,8 @@ function getClampedArrayU8FromWasm0(ptr, len) { export function resize(input_image, input_width, input_height, output_width, output_height, typ_idx, premultiply, color_space_conversion) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - var ptr0 = passArray8ToWasm0(input_image, wasm.__wbindgen_malloc); - var len0 = WASM_VECTOR_LEN; + const ptr0 = passArray8ToWasm0(input_image, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; wasm.resize(retptr, ptr0, len0, input_width, input_height, output_width, output_height, typ_idx, premultiply, color_space_conversion); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; @@ -95,26 +97,58 @@ async function load(module, imports) { } } +function getImports() { + const imports = {}; + imports.wbg = {}; + + return imports; +} + +function initMemory(imports, maybe_memory) { + +} + +function finalizeInit(instance, module) { + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; + cachedUint8ClampedMemory0 = null; + + + return wasm; +} + +function initSync(module) { + const imports = getImports(); + + initMemory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return finalizeInit(instance, module); +} + async function init(input) { if (typeof input === 'undefined') { input = new URL('squoosh_resize_bg.wasm', import.meta.url); } - const imports = {}; - + const imports = getImports(); if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { input = fetch(input); } - + initMemory(imports); const { instance, module } = await load(await input, imports); - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - - return wasm; + return finalizeInit(instance, module); } +export { initSync } export default init; - diff --git a/codecs/resize/pkg/squoosh_resize_bg.wasm b/codecs/resize/pkg/squoosh_resize_bg.wasm index b910c97b050df20c1024224d8b3dfab092e6d9e8..be5842c2a56b5c956acacd70b89b9d671f868170 100644 GIT binary patch literal 29841 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⋙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 O?#{-pu9~&g^Zq{z=jY`B literal 37052 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