diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 22673d60..c19ca629 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,7 +37,7 @@ jobs: uses: bytecodealliance/actions/wasmtime/setup@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} - version: "v19.0.0" + version: "v19.0.2" - name: Run all tests run: cargo test --all diff --git a/Cargo.lock b/Cargo.lock index 32dc0a65..52201d6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,9 +31,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -112,9 +112,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" [[package]] name = "arrayvec" @@ -154,23 +154,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 5.2.0", - "event-listener-strategy 0.5.0", + "event-listener 5.3.0", + "event-listener-strategy 0.5.1", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee" dependencies = [ "async-lock 3.3.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.2.0", + "fastrand 2.0.2", + "futures-lite 2.3.0", "slab", ] @@ -208,18 +208,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" dependencies = [ "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.2.0", + "futures-lite 2.3.0", "parking", - "polling 3.5.0", - "rustix 0.38.31", + "polling 3.6.0", + "rustix 0.38.32", "slab", "tracing", "windows-sys 0.52.0", @@ -258,19 +258,19 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.31", + "rustix 0.38.32", "windows-sys 0.48.0", ] [[package]] name = "async-recursion" -version = "1.0.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -279,13 +279,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.3.1", + "async-io 2.3.2", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.31", + "rustix 0.38.32", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -299,13 +299,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -327,22 +327,22 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "axum" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core", "axum-macros", "bytes", "futures-util", - "http 1.0.0", + "http 1.1.0", "http-body 1.0.0", "http-body-util", "hyper 1.2.0", @@ -358,7 +358,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "tokio", "tower", "tower-layer", @@ -375,13 +375,13 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.0.0", + "http 1.1.0", "http-body 1.0.0", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower-layer", "tower-service", "tracing", @@ -393,17 +393,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00c055ee2d014ae5981ce1016374e8213682aa14d9bf40e48ab48b5f3ef20eaa" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -446,9 +446,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitmaps" @@ -493,9 +493,9 @@ dependencies = [ "async-channel", "async-lock 3.3.0", "async-task", - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-io", - "futures-lite 2.2.0", + "futures-lite 2.3.0", "piper", "tracing", ] @@ -513,9 +513,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" @@ -525,9 +525,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "camino" @@ -540,7 +540,7 @@ dependencies = [ [[package]] name = "cargo-component" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "assert_cmd", @@ -551,8 +551,8 @@ dependencies = [ "clap", "dialoguer", "futures", - "heck", - "indexmap 2.2.5", + "heck 0.5.0", + "indexmap 2.2.6", "libc", "log", "p256", @@ -569,7 +569,7 @@ dependencies = [ "tempfile", "tokio", "tokio-util", - "toml_edit 0.22.6", + "toml_edit 0.22.9", "url", "warg-client", "warg-credentials", @@ -580,7 +580,7 @@ dependencies = [ "wasmparser 0.202.0", "wasmprinter 0.202.0", "wat", - "which 6.0.0", + "which", "wit-bindgen-core", "wit-bindgen-rust", "wit-component", @@ -589,12 +589,12 @@ dependencies = [ [[package]] name = "cargo-component-core" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "clap", "futures", - "indexmap 2.2.5", + "indexmap 2.2.6", "libc", "log", "owo-colors", @@ -603,7 +603,7 @@ dependencies = [ "serde 1.0.197", "thiserror", "tokio", - "toml_edit 0.22.6", + "toml_edit 0.22.9", "unicode-width", "url", "warg-client", @@ -617,21 +617,21 @@ dependencies = [ [[package]] name = "cargo-config2" -version = "0.1.19" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7fb69d74d76f8c254afd1c0e76aca40c305707b28aebe3c5a0fd2ee62aeeeb" +checksum = "88d9bdc858a15454c2d0a5138d8dcf4bcabc06fde679abdea8330393fbc0ef05" dependencies = [ "home", "serde 1.0.197", "serde_derive", - "toml_edit 0.22.6", + "toml_edit 0.22.9", ] [[package]] name = "cargo-platform" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde 1.0.197", ] @@ -652,9 +652,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.88" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" +checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41" [[package]] name = "cfg-if" @@ -664,15 +664,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits 0.2.18", "serde 1.0.197", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -686,9 +686,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.1" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -696,26 +696,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -848,7 +848,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -859,14 +859,14 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "pem-rfc7468", @@ -1020,9 +1020,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] @@ -1045,7 +1045,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1107,9 +1107,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" dependencies = [ "concurrent-queue", "parking", @@ -1128,11 +1128,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" dependencies = [ - "event-listener 5.2.0", + "event-listener 5.3.0", "pin-project-lite", ] @@ -1147,9 +1147,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "ff" @@ -1271,11 +1271,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-core", "futures-io", "parking", @@ -1290,7 +1290,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1336,9 +1336,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "libc", @@ -1364,17 +1364,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http 0.2.11", - "indexmap 2.2.5", + "http 0.2.12", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -1383,17 +1383,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http 1.0.0", - "indexmap 2.2.5", + "http 1.1.0", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -1421,6 +1421,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1471,9 +1477,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -1482,9 +1488,9 @@ dependencies = [ [[package]] name = "http" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -1498,7 +1504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http 0.2.11", + "http 0.2.12", "pin-project-lite", ] @@ -1509,18 +1515,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ "bytes", - "http 1.0.0", + "http 1.1.0", ] [[package]] name = "http-body-util" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" dependencies = [ "bytes", - "futures-util", - "http 1.0.0", + "futures-core", + "http 1.1.0", "http-body 1.0.0", "pin-project-lite", ] @@ -1559,14 +1565,14 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.24", - "http 0.2.11", + "h2 0.3.26", + "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.6", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -1582,8 +1588,8 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.2", - "http 1.0.0", + "h2 0.4.4", + "http 1.1.0", "http-body 1.0.0", "httparse", "httpdate", @@ -1614,7 +1620,7 @@ checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" dependencies = [ "bytes", "futures-util", - "http 1.0.0", + "http 1.1.0", "http-body 1.0.0", "hyper 1.2.0", "pin-project-lite", @@ -1694,9 +1700,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.5" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -1760,15 +1766,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1826,13 +1832,12 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "libc", - "redox_syscall", ] [[package]] @@ -1847,7 +1852,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "libc", ] @@ -1899,7 +1904,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax 0.6.29", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1919,9 +1924,9 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memoffset" @@ -1934,9 +1939,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -1961,7 +1966,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2002,9 +2007,9 @@ dependencies = [ [[package]] name = "multimap" -version = "0.8.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "native-tls" @@ -2199,7 +2204,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cfg-if", "foreign-types", "libc", @@ -2216,7 +2221,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2227,9 +2232,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.101" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -2343,7 +2348,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2580e33f2292d34be285c5bc3dba5259542b083cfad6037b6d70345f24dcb735" dependencies = [ - "heck", + "heck 0.4.1", "itertools 0.11.0", "prost", "prost-types", @@ -2386,34 +2391,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.5", + "indexmap 2.2.6", ] [[package]] name = "pin-project" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -2428,7 +2433,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-io", ] @@ -2466,14 +2471,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.5.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi 0.3.9", "pin-project-lite", - "rustix 0.38.31", + "rustix 0.38.32", "tracing", "windows-sys 0.52.0", ] @@ -2532,12 +2538,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" dependencies = [ "proc-macro2", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2561,18 +2567,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" dependencies = [ "bytes", "prost-derive", @@ -2580,13 +2586,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" +checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" dependencies = [ "bytes", - "heck", - "itertools 0.11.0", + "heck 0.5.0", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -2595,22 +2601,21 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.52", + "syn 2.0.58", "tempfile", - "which 4.4.2", ] [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2628,9 +2633,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" dependencies = [ "prost", ] @@ -2680,9 +2685,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2737,9 +2742,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", "libredox", @@ -2748,25 +2753,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -2777,23 +2782,23 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.3.24", - "http 0.2.11", + "h2 0.3.26", + "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", "hyper-tls", @@ -2809,7 +2814,7 @@ dependencies = [ "serde 1.0.197", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -2882,11 +2887,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys 0.4.13", @@ -2904,9 +2909,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" [[package]] name = "ryu" @@ -2982,9 +2987,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -2995,9 +3000,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -3057,14 +3062,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -3073,9 +3078,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ "itoa", "serde 1.0.197", @@ -3083,13 +3088,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3115,15 +3120,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.5", + "indexmap 2.2.6", "serde 1.0.197", "serde_derive", "serde_json", @@ -3133,23 +3138,23 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "serde_yaml" -version = "0.9.32" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "itoa", "ryu", "serde 1.0.197", @@ -3252,9 +3257,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -3309,9 +3314,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" @@ -3332,9 +3337,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -3347,6 +3352,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "system-configuration" version = "0.5.1" @@ -3375,8 +3386,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "rustix 0.38.31", + "fastrand 2.0.2", + "rustix 0.38.32", "windows-sys 0.52.0", ] @@ -3412,7 +3423,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3427,9 +3438,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -3448,9 +3459,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -3482,9 +3493,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -3507,7 +3518,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3545,14 +3556,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.10" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde 1.0.197", "serde_spanned", "toml_datetime", - "toml_edit 0.22.6", + "toml_edit 0.22.9", ] [[package]] @@ -3570,22 +3581,22 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.6" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "serde 1.0.197", "serde_spanned", "toml_datetime", - "winnow 0.6.5", + "winnow 0.6.6", ] [[package]] @@ -3610,10 +3621,10 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "bytes", "futures-util", - "http 1.0.0", + "http 1.1.0", "http-body 1.0.0", "http-body-util", "http-range-header", @@ -3661,7 +3672,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3717,7 +3728,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset 0.9.0", + "memoffset 0.9.1", "tempfile", "winapi", ] @@ -3772,9 +3783,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unsafe-libyaml" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "url" @@ -3851,7 +3862,7 @@ name = "warg-api" version = "0.5.0-dev" source = "git+https://github.com/bytecodealliance/registry?branch=namespace-enhancements#00819c6d45730316432eacf2b3fa5df63a08584a" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "itertools 0.12.1", "serde 1.0.197", "serde_with", @@ -3872,7 +3883,7 @@ dependencies = [ "clap", "dirs", "futures-util", - "indexmap 2.2.5", + "indexmap 2.2.6", "itertools 0.12.1", "libc", "normpath", @@ -3909,7 +3920,7 @@ version = "0.5.0-dev" source = "git+https://github.com/bytecodealliance/registry?branch=namespace-enhancements#00819c6d45730316432eacf2b3fa5df63a08584a" dependencies = [ "anyhow", - "indexmap 2.2.5", + "indexmap 2.2.6", "keyring", "secrecy", "warg-client", @@ -3962,7 +3973,7 @@ dependencies = [ "anyhow", "base64", "hex", - "indexmap 2.2.5", + "indexmap 2.2.6", "pbjson-types", "prost", "prost-types", @@ -3986,14 +3997,14 @@ dependencies = [ "bytes", "clap", "futures", - "indexmap 2.2.5", + "indexmap 2.2.6", "secrecy", "serde 1.0.197", "tempfile", "thiserror", "tokio", "tokio-util", - "toml 0.8.10", + "toml 0.8.12", "tower", "tower-http", "tracing", @@ -4012,7 +4023,7 @@ version = "0.5.0-dev" source = "git+https://github.com/bytecodealliance/registry?branch=namespace-enhancements#00819c6d45730316432eacf2b3fa5df63a08584a" dependencies = [ "anyhow", - "indexmap 2.2.5", + "indexmap 2.2.6", "prost", "thiserror", "warg-crypto", @@ -4027,9 +4038,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4037,24 +4048,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -4064,9 +4075,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4074,22 +4085,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-compose" @@ -4098,9 +4109,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd324927af875ebedb1b820c00e3c585992d33c2c787c5021fe6d8982527359b" dependencies = [ "anyhow", - "heck", + "heck 0.4.1", "im-rc", - "indexmap 2.2.5", + "indexmap 2.2.6", "log", "petgraph", "serde 1.0.197", @@ -4138,7 +4149,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", - "indexmap 2.2.5", + "indexmap 2.2.6", "serde 1.0.197", "serde_derive", "serde_json", @@ -4166,8 +4177,8 @@ version = "0.121.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ - "bitflags 2.4.2", - "indexmap 2.2.5", + "bitflags 2.5.0", + "indexmap 2.2.6", "semver", ] @@ -4177,8 +4188,8 @@ version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ - "bitflags 2.4.2", - "indexmap 2.2.5", + "bitflags 2.5.0", + "indexmap 2.2.6", "semver", ] @@ -4226,9 +4237,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -4236,27 +4247,14 @@ dependencies = [ [[package]] name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.31", -] - -[[package]] -name = "which" -version = "6.0.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c" +checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" dependencies = [ "either", "home", - "once_cell", - "rustix 0.38.31", - "windows-sys 0.52.0", + "rustix 0.38.32", + "winsafe", ] [[package]] @@ -4296,7 +4294,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -4314,7 +4312,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -4334,17 +4332,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -4355,9 +4354,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -4367,9 +4366,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -4379,9 +4378,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -4391,9 +4396,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -4403,9 +4408,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -4415,9 +4420,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -4427,9 +4432,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -4442,9 +4447,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" dependencies = [ "memchr", ] @@ -4459,9 +4464,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "wit" -version = "0.9.1" +version = "0.10.0" dependencies = [ "anyhow", "assert_cmd", @@ -4470,7 +4481,7 @@ dependencies = [ "clap", "dialoguer", "futures", - "indexmap 2.2.5", + "indexmap 2.2.6", "log", "p256", "predicates", @@ -4482,7 +4493,7 @@ dependencies = [ "tempfile", "tokio", "tokio-util", - "toml_edit 0.22.6", + "toml_edit 0.22.9", "url", "warg-client", "warg-credentials", @@ -4497,9 +4508,9 @@ dependencies = [ [[package]] name = "wit-bindgen-core" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0834150cd852e64e1eddcff4fea9524b788161b4111d83a94c9eda715f8f442" +checksum = "9b67e11c950041849a10828c7600ea62a4077c01e8af72e8593253575428f91b" dependencies = [ "anyhow", "wit-parser", @@ -4507,13 +4518,13 @@ dependencies = [ [[package]] name = "wit-bindgen-rust" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60620df421d4c787e2660f0159fd58f2ae6998dc42ccf2e09b8d9d96d16885a9" +checksum = "30acbe8fb708c3a830a33c4cb705df82659bf831b492ec6ca1a17a369cfeeafb" dependencies = [ "anyhow", - "heck", - "indexmap 2.2.5", + "heck 0.4.1", + "indexmap 2.2.6", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -4526,8 +4537,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c836b1fd9932de0431c1758d8be08212071b6bba0151f7bac826dbc4312a2a9" dependencies = [ "anyhow", - "bitflags 2.4.2", - "indexmap 2.2.5", + "bitflags 2.5.0", + "indexmap 2.2.6", "log", "serde 1.0.197", "serde_derive", @@ -4546,7 +4557,7 @@ checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc" dependencies = [ "anyhow", "id-arena", - "indexmap 2.2.5", + "indexmap 2.2.6", "log", "semver", "serde 1.0.197", diff --git a/Cargo.toml b/Cargo.toml index d7c2522a..c0ce61ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ repository = { workspace = true } readme = "README.md" [workspace.package] -version = "0.10.1" +version = "0.11.0" edition = "2021" authors = ["Peter Huene "] license = "Apache-2.0 WITH LLVM-exception" @@ -55,6 +55,7 @@ which = { workspace = true } shell-escape = "0.1.5" secrecy = { workspace = true } dialoguer = { wokerspace = true } +tempfile = { workspace = true } [dev-dependencies] assert_cmd = { workspace = true } @@ -68,24 +69,24 @@ wasmprinter = { workspace = true } members = ["crates/core", "crates/wit"] [workspace.dependencies] -cargo-component-core = { path = "crates/core", version = "0.10.1" } +cargo-component-core = { path = "crates/core", version = "0.11.0" } warg-protocol = { git = "https://github.com/bytecodealliance/registry", branch = "namespace-enhancements" } warg-crypto = { git = "https://github.com/bytecodealliance/registry", branch = "namespace-enhancements" } warg-client = { git = "https://github.com/bytecodealliance/registry", branch = "namespace-enhancements" } warg-credentials = { git = "https://github.com/bytecodealliance/registry", branch = "namespace-enhancements" } warg-server = { git = "https://github.com/bytecodealliance/registry", branch = "namespace-enhancements" } -anyhow = "1.0.80" -clap = { version = "4.5.1", features = ["derive"] } -toml_edit = { version = "0.22.6", features = ["serde"] } +anyhow = "1.0.82" +clap = { version = "4.5.4", features = ["derive"] } +toml_edit = { version = "0.22.9", features = ["serde"] } pretty_env_logger = "0.5.0" log = "0.4.21" -tokio = { version = "1.36.0", default-features = false, features = ["macros", "rt-multi-thread"] } +tokio = { version = "1.37.0", default-features = false, features = ["macros", "rt-multi-thread"] } tokio-util = "0.7.10" -heck = "0.4.1" +heck = "0.5.0" semver = "1.0.22" serde = { version = "1.0.197", features = ["derive"] } -serde_json = "1.0.114" -indexmap = "2.2.5" +serde_json = "1.0.115" +indexmap = "2.2.6" url = { version = "2.5.0", features = ["serde"] } wit-parser = "0.202.0" wit-component = "0.202.0" @@ -93,7 +94,7 @@ wasm-metadata = "0.202.0" parse_arg = "0.1.4" dialoguer = "0.11.0" cargo_metadata = "0.18.1" -cargo-config2 = "0.1.19" +cargo-config2 = "0.1.24" libc = "0.2.153" owo-colors = "4.0.0" unicode-width = "0.1.11" @@ -101,11 +102,11 @@ p256 = "0.13.2" rand_core = "0.6.4" rpassword = "7.3.1" futures = "0.3.30" -bytes = "1.5.0" -which = "6.0.0" +bytes = "1.6.0" +which = "6.0.1" secrecy = "0.8.0" -wit-bindgen-rust = "0.23.0" -wit-bindgen-core = "0.23.0" +wit-bindgen-rust = "0.24.0" +wit-bindgen-core = "0.24.0" tempfile = "3.10.1" assert_cmd = "2.0.14" predicates = "3.1.0" diff --git a/adapters/040ec92/wasi_snapshot_preview1.command.wasm b/adapters/040ec92/wasi_snapshot_preview1.command.wasm new file mode 100644 index 00000000..8e943ef2 Binary files /dev/null and b/adapters/040ec92/wasi_snapshot_preview1.command.wasm differ diff --git a/adapters/ab5a448/wasi_snapshot_preview1.proxy.wasm b/adapters/040ec92/wasi_snapshot_preview1.proxy.wasm similarity index 62% rename from adapters/ab5a448/wasi_snapshot_preview1.proxy.wasm rename to adapters/040ec92/wasi_snapshot_preview1.proxy.wasm index 5f71e3e1..e9895b34 100644 Binary files a/adapters/ab5a448/wasi_snapshot_preview1.proxy.wasm and b/adapters/040ec92/wasi_snapshot_preview1.proxy.wasm differ diff --git a/adapters/040ec92/wasi_snapshot_preview1.reactor.wasm b/adapters/040ec92/wasi_snapshot_preview1.reactor.wasm new file mode 100644 index 00000000..8149eb95 Binary files /dev/null and b/adapters/040ec92/wasi_snapshot_preview1.reactor.wasm differ diff --git a/adapters/ab5a448/wasi_snapshot_preview1.command.wasm b/adapters/ab5a448/wasi_snapshot_preview1.command.wasm deleted file mode 100644 index de91691a..00000000 Binary files a/adapters/ab5a448/wasi_snapshot_preview1.command.wasm and /dev/null differ diff --git a/adapters/ab5a448/wasi_snapshot_preview1.reactor.wasm b/adapters/ab5a448/wasi_snapshot_preview1.reactor.wasm deleted file mode 100644 index c76d0e06..00000000 Binary files a/adapters/ab5a448/wasi_snapshot_preview1.reactor.wasm and /dev/null differ diff --git a/build.rs b/build.rs index ab3b0d4d..5f7430e0 100644 --- a/build.rs +++ b/build.rs @@ -1,6 +1,6 @@ use std::{path::Path, process::Command}; -const WASI_ADAPTER_VERSION: &str = "ab5a448"; +const WASI_ADAPTER_VERSION: &str = "040ec92"; fn main() { println!("cargo:rerun-if-changed=build.rs"); diff --git a/crates/core/src/lock.rs b/crates/core/src/lock.rs index 34f855f7..90a9f59d 100644 --- a/crates/core/src/lock.rs +++ b/crates/core/src/lock.rs @@ -9,7 +9,7 @@ use std::{ io::{self, Read, Seek, SeekFrom, Write}, path::{Path, PathBuf}, }; -use toml_edit::{Document, Item, Value}; +use toml_edit::{DocumentMut, Item, Value}; use warg_crypto::hash::AnyHash; use warg_protocol::registry::PackageName; @@ -140,7 +140,7 @@ impl LockFile { let mut contents = String::new(); file.read_to_string(&mut contents)?; - let document: Document = contents.parse()?; + let document: DocumentMut = contents.parse()?; match document.as_table().get("version") { Some(Item::Value(Value::Integer(v))) => { diff --git a/crates/core/src/registry.rs b/crates/core/src/registry.rs index a219d8f4..5e09a598 100644 --- a/crates/core/src/registry.rs +++ b/crates/core/src/registry.rs @@ -586,7 +586,6 @@ impl<'a> DependencyResolver<'a> { // Start by updating the packages that need updating // This will determine the contents that need to be downloaded let downloads = Self::update_packages(&mut registries, terminal, network_allowed).await?; - // Finally, download and resolve the dependencies for resolution in Self::download_and_resolve(registries, downloads, terminal, network_allowed).await? @@ -655,7 +654,7 @@ impl<'a> DependencyResolver<'a> { .get_index_mut(index) .expect("out of bounds registry index"); - res.map_err(|e| WargError::WargClient(e.0))?; + res.map_err(|e| WargError::from(e))?; log::info!("package logs successfully updated for component registry `{name}`"); finished += 1; diff --git a/crates/wit/Cargo.toml b/crates/wit/Cargo.toml index 724c58c8..1b665373 100644 --- a/crates/wit/Cargo.toml +++ b/crates/wit/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wit" # This tool has an independent version from `cargo-component`. -version = "0.9.1" +version = "0.10.0" description = "A tool for building and publishing WIT packages to a registry." edition = { workspace = true } authors = { workspace = true } diff --git a/crates/wit/src/bin/wit.rs b/crates/wit/src/bin/wit.rs index 2c7217c3..10f936c9 100644 --- a/crates/wit/src/bin/wit.rs +++ b/crates/wit/src/bin/wit.rs @@ -47,7 +47,6 @@ async fn main() -> Result<()> { let app = Wit::parse(); if let Err(e) = match app.command { Command::Init(cmd) => cmd.exec(), - Command::Add(cmd) => cmd.exec(retry).await, Command::Build(cmd) => cmd.exec(retry).await, Command::Publish(cmd) => cmd.exec(retry).await, diff --git a/crates/wit/tests/support/mod.rs b/crates/wit/tests/support/mod.rs index 1c7785e5..696c2f99 100644 --- a/crates/wit/tests/support/mod.rs +++ b/crates/wit/tests/support/mod.rs @@ -13,7 +13,7 @@ use std::{ use tempfile::TempDir; use tokio::task::JoinHandle; use tokio_util::sync::CancellationToken; -use toml_edit::Document; +use toml_edit::DocumentMut; use warg_crypto::signing::PrivateKey; use warg_protocol::operator::NamespaceState; use warg_server::{policy::content::WasmContentPolicy, Config, Server}; @@ -177,7 +177,10 @@ impl Project { cmd } - pub fn update_manifest(&self, f: impl FnOnce(Document) -> Result) -> Result<()> { + pub fn update_manifest( + &self, + f: impl FnOnce(DocumentMut) -> Result, + ) -> Result<()> { let manifest_path = self.root.join("wit.toml"); let manifest = fs::read_to_string(&manifest_path)?; fs::write(manifest_path, f(manifest.parse()?)?.to_string())?; diff --git a/src/bindings.rs b/src/bindings.rs index 63448d0b..b9b646cf 100644 --- a/src/bindings.rs +++ b/src/bindings.rs @@ -7,6 +7,7 @@ use crate::{ }; use anyhow::{bail, Context, Result}; use cargo_component_core::registry::DecodedDependency; +use heck::ToKebabCase; use indexmap::{IndexMap, IndexSet}; use semver::Version; use std::{ @@ -161,7 +162,21 @@ impl<'a> BindingsGenerator<'a> { std_feature: settings.std_feature, runtime_path: Some("wit_bindgen_rt".to_string()), bitflags_path: Some("wit_bindgen_rt::bitflags".to_string()), - ..Default::default() + raw_strings: settings.raw_strings, + skip: settings.skip.clone(), + stubs: settings.stubs, + export_prefix: settings.export_prefix.clone(), + with: settings + .with + .iter() + .map(|(key, value)| (key.clone(), value.clone())) + .collect(), + type_section_suffix: settings.type_section_suffix.clone(), + disable_run_ctors_once_workaround: settings.disable_run_ctors_once_workaround, + default_bindings_module: settings.default_bindings_module.clone(), + export_macro_name: settings.export_macro_name.clone(), + pub_export_macro: settings.pub_export_macro, + generate_unused_types: settings.generate_unused_types, }; let mut files = Files::default(); @@ -431,7 +446,7 @@ impl<'a> BindingsGenerator<'a> { fn target_empty_world(resolution: &PackageDependencyResolution) -> (Resolve, WorldId) { let mut resolve = Resolve::default(); - let name = resolution.metadata.name.clone(); + let name = resolution.metadata.name.to_kebab_case(); let pkg_name = PackageName { namespace: "component".to_string(), name: name.clone(), diff --git a/src/commands/add.rs b/src/commands/add.rs index f4de6f8f..c6060013 100644 --- a/src/commands/add.rs +++ b/src/commands/add.rs @@ -17,7 +17,7 @@ use std::{ fs, path::{Path, PathBuf}, }; -use toml_edit::{value, Document, InlineTable, Item, Table, Value}; +use toml_edit::{value, DocumentMut, InlineTable, Item, Table, Value}; use warg_client::Retry; use warg_protocol::registry::PackageName; @@ -167,7 +167,7 @@ impl AddCommand { ) })?; - let mut document: Document = manifest.parse().with_context(|| { + let mut document: DocumentMut = manifest.parse().with_context(|| { format!( "failed to parse manifest file `{path}`", path = pkg.manifest_path diff --git a/src/commands/new.rs b/src/commands/new.rs index 1f476e6c..f7cba08b 100644 --- a/src/commands/new.rs +++ b/src/commands/new.rs @@ -16,7 +16,7 @@ use std::{ path::{Path, PathBuf}, process::Command, }; -use toml_edit::{table, value, Document, Item, Table, Value}; +use toml_edit::{table, value, DocumentMut, Item, Table, Value}; use url::Url; use warg_client::Retry; @@ -237,7 +237,7 @@ impl NewCommand { ) })?; - let mut doc: Document = manifest.parse().with_context(|| { + let mut doc: DocumentMut = manifest.parse().with_context(|| { format!( "failed to parse manifest file `{path}`", path = manifest_path.display() diff --git a/src/config.rs b/src/config.rs index 18caa8d9..3c880c2f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -26,7 +26,7 @@ use semver::Version; use std::fmt; use std::str::FromStr; use std::{collections::BTreeMap, fmt::Display, path::PathBuf}; -use toml_edit::Document; +use toml_edit::DocumentMut; /// Represents a cargo package specifier. /// @@ -68,7 +68,7 @@ impl CargoPackageSpec { /// Loads Cargo.toml in the current directory, attempts to find the matching package from metadata. pub fn find_current_package_spec(metadata: &Metadata) -> Option { let current_manifest = std::fs::read_to_string("Cargo.toml").ok()?; - let document: Document = current_manifest.parse().ok()?; + let document: DocumentMut = current_manifest.parse().ok()?; let name = document["package"]["name"].as_str()?; let version = metadata .packages diff --git a/src/lib.rs b/src/lib.rs index dcfcfcc9..6732fb61 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,6 +30,7 @@ use std::{ process::{Command, Stdio}, time::{Duration, SystemTime}, }; +use tempfile::NamedTempFile; use warg_client::{ storage::{ContentStorage, PublishEntry, PublishInfo}, Retry, @@ -390,6 +391,9 @@ fn componentize_artifacts( let cwd = env::current_dir().with_context(|| "couldn't get the current directory of the process")?; + // Acquire the lock file to ensure any other cargo-component process waits for this to complete + let _file_lock = acquire_lock_file_ro(config.terminal(), cargo_metadata)?; + for artifact in artifacts { for path in artifact .filenames @@ -414,7 +418,7 @@ fn componentize_artifacts( ArtifactKind::Componentizable(bytes) => { componentize( config, - metadata, + (cargo_metadata, metadata), import_name_map .get(&package.name) .expect("package already processed"), @@ -928,7 +932,7 @@ fn adapter_bytes( fn componentize( config: &Config, - metadata: &ComponentMetadata, + (cargo_metadata, metadata): (&Metadata, &ComponentMetadata), import_name_map: &HashMap, artifact: &Artifact, path: &Path, @@ -997,12 +1001,30 @@ fn componentize( ) })?; - fs::write(path, component).with_context(|| { + // To make the write atomic, first write to a temp file and then rename the file + let temp_dir = cargo_metadata.target_directory.join("tmp"); + fs::create_dir_all(&temp_dir) + .with_context(|| format!("failed to create directory `{temp_dir}`"))?; + + let mut file = NamedTempFile::new_in(&temp_dir) + .with_context(|| format!("failed to create temp file in `{temp_dir}`"))?; + + use std::io::Write; + file.write_all(&component).with_context(|| { format!( "failed to write output component `{path}`", + path = file.path().display() + ) + })?; + + file.into_temp_path().persist(path).with_context(|| { + format!( + "failed to persist output component `{path}`", path = path.display() ) - }) + })?; + + Ok(()) } /// Represents options for a publish operation. diff --git a/src/metadata.rs b/src/metadata.rs index 851ef7b2..486279bd 100644 --- a/src/metadata.rs +++ b/src/metadata.rs @@ -69,6 +69,38 @@ pub struct Bindings { /// If true, code generation should qualify any features that depend on /// `std` with `cfg(feature = "std")`. pub std_feature: bool, + /// If true, code generation should pass borrowed string arguments as + /// `&[u8]` instead of `&str`. Strings are still required to be valid + /// UTF-8, but this avoids the need for Rust code to do its own UTF-8 + /// validation if it doesn't already have a `&str` + pub raw_strings: bool, + /// Names of functions to skip generating bindings for. + pub skip: Vec, + /// If true, generate stub implementations for any exported functions, + /// interfaces, and/or resources. + pub stubs: bool, + /// Optionally prefix any export names with the specified value. + /// + /// This is useful to avoid name conflicts when testing. + pub export_prefix: Option, + /// Remapping of interface names to rust module names. + pub with: HashMap, + /// Add the specified suffix to the name of the custome section containing + /// the component type. + pub type_section_suffix: Option, + /// Disable a workaround used to prevent libc ctors/dtors from being invoked + /// too much. + pub disable_run_ctors_once_workaround: bool, + /// Changes the default module used in the generated `export!` macro to + /// something other than `self`. + pub default_bindings_module: Option, + /// Alternative name to use for the `export!` macro if one is generated. + pub export_macro_name: Option, + /// Ensures that the `export!` macro will be defined as `pub` so it is a + /// candidate for being exported outside of the crate. + pub pub_export_macro: bool, + /// Whether to generate unused structures, not generated by default (false) + pub generate_unused_types: bool, } impl Default for Bindings { @@ -78,6 +110,17 @@ impl Default for Bindings { ownership: Default::default(), derives: Default::default(), std_feature: false, + raw_strings: Default::default(), + skip: Default::default(), + stubs: Default::default(), + export_prefix: Default::default(), + with: Default::default(), + type_section_suffix: Default::default(), + disable_run_ctors_once_workaround: Default::default(), + default_bindings_module: Default::default(), + export_macro_name: Default::default(), + pub_export_macro: Default::default(), + generate_unused_types: Default::default(), } } } diff --git a/tests/build.rs b/tests/build.rs index 638aaf00..2999b9bd 100644 --- a/tests/build.rs +++ b/tests/build.rs @@ -27,6 +27,21 @@ fn it_builds_debug() -> Result<()> { Ok(()) } +#[test] +fn it_builds_a_bin_project_with_snake_case() -> Result<()> { + let project = Project::new_bin("hello_world")?; + + project + .cargo_component("build --release") + .assert() + .stderr(contains("Finished release [optimized] target(s)")) + .success(); + + validate_component(&project.release_wasm("hello_world"))?; + + Ok(()) +} + #[test] fn it_builds_a_bin_project() -> Result<()> { let project = Project::new_bin("foo")?; diff --git a/tests/support/mod.rs b/tests/support/mod.rs index 26976f87..9f018c19 100644 --- a/tests/support/mod.rs +++ b/tests/support/mod.rs @@ -13,7 +13,7 @@ use std::{ use tempfile::TempDir; use tokio::task::JoinHandle; use tokio_util::sync::CancellationToken; -use toml_edit::Document; +use toml_edit::DocumentMut; use warg_client::{ storage::{ContentStorage, PublishEntry, PublishInfo}, FileSystemClient, @@ -264,13 +264,16 @@ impl Project { Ok(self) } - pub fn read_manifest(&self) -> Result { + pub fn read_manifest(&self) -> Result { let manifest_path = self.root.join("Cargo.toml"); let manifest_text = fs::read_to_string(manifest_path)?; Ok(manifest_text.parse()?) } - pub fn update_manifest(&self, f: impl FnOnce(Document) -> Result) -> Result<()> { + pub fn update_manifest( + &self, + f: impl FnOnce(DocumentMut) -> Result, + ) -> Result<()> { let manifest = self.read_manifest()?; let manifest_path = self.root.join("Cargo.toml"); fs::write(manifest_path, f(manifest)?.to_string())?;