diff --git a/Cargo.lock b/Cargo.lock index 10f3f32..6595a4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,6 +26,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -42,100 +48,70 @@ dependencies = [ ] [[package]] -name = "anyhow" -version = "1.0.79" +name = "anstream" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] [[package]] -name = "assert-unchecked" -version = "0.1.2" +name = "anstyle" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7330592adf847ee2e3513587b4db2db410a0d751378654e7e993d9adcbe5c795" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] -name = "async-stream" -version = "0.3.5" +name = "anstyle-parse" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", + "utf8parse", ] [[package]] -name = "async-stream-impl" -version = "0.3.5" +name = "anstyle-query" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", + "windows-sys 0.52.0", ] [[package]] -name = "async-trait" -version = "0.1.77" +name = "anstyle-wincon" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", + "anstyle", + "windows-sys 0.52.0", ] [[package]] -name = "autocfg" -version = "1.1.0" +name = "anyhow" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] -name = "axum" -version = "0.6.20" +name = "assert-unchecked" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] +checksum = "7330592adf847ee2e3513587b4db2db410a0d751378654e7e993d9adcbe5c795" [[package]] -name = "axum-core" -version = "0.3.4" +name = "autocfg" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" @@ -154,9 +130,19 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.6" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" + +[[package]] +name = "base64-simd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +dependencies = [ + "outref", + "vsimd", +] [[package]] name = "bitflags" @@ -166,21 +152,18 @@ 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 = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "byteorder" -version = "1.5.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +dependencies = [ + "allocator-api2", +] [[package]] name = "bytes" @@ -199,12 +182,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" [[package]] name = "cfg-if" @@ -214,18 +194,24 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "colored" version = "2.1.0" @@ -249,49 +235,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "console-api" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" -dependencies = [ - "futures-core", - "prost", - "prost-types", - "tonic", - "tracing-core", -] - -[[package]] -name = "console-subscriber" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e" -dependencies = [ - "console-api", - "crossbeam-channel", - "crossbeam-utils", - "futures-task", - "hdrhistogram", - "humantime", - "prost-types", - "serde", - "serde_json", - "thread_local", - "tokio", - "tokio-stream", - "tonic", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -310,28 +253,13 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - [[package]] name = "dashmap" version = "5.5.3" @@ -339,25 +267,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown", "lock_api", "once_cell", "parking_lot_core", ] -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 1.0.109", -] - [[package]] name = "edon" version = "0.1.0" @@ -365,10 +280,8 @@ dependencies = [ "anyhow", "chrono", "colored", - "console-subscriber", "env_logger", "futures", - "log", "oxc_allocator", "oxc_ast", "oxc_codegen", @@ -384,16 +297,15 @@ dependencies = [ "serde_json", "serde_v8", "tokio", - "tracing", "url", "v8", ] [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "encoding_rs" @@ -404,17 +316,27 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" -version = "0.10.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" dependencies = [ + "anstream", + "anstyle", + "env_filter", "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] @@ -445,16 +367,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "fnv" version = "1.0.7" @@ -487,9 +399,9 @@ dependencies = [ [[package]] name = "fslock" -version = "0.1.8" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57eafdd0c16f57161105ae1b98a1238f97645f2f588438b2949c99a2af9616bf" +checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb" dependencies = [ "libc", "winapi", @@ -551,7 +463,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -584,28 +496,26 @@ dependencies = [ "slab", ] -[[package]] -name = "getrandom" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "gimli" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +[[package]] +name = "gzip-header" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95cc527b92e6029a62960ad99aa8a6660faa4555fe5f731aab13aa6a921795a2" +dependencies = [ + "crc32fast", +] + [[package]] name = "h2" -version = "0.3.22" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" dependencies = [ "bytes", "fnv", @@ -613,43 +523,24 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.2", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" -[[package]] -name = "hdrhistogram" -version = "7.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" -dependencies = [ - "base64", - "byteorder", - "flate2", - "nom", - "num-traits", -] - [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" [[package]] name = "home" @@ -662,9 +553,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -673,12 +564,24 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ "bytes", "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", "pin-project-lite", ] @@ -688,12 +591,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "humantime" version = "2.1.0" @@ -702,58 +599,65 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "h2", "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] -name = "hyper-timeout" -version = "0.4.1" +name = "hyper-tls" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ + "bytes", + "http-body-util", "hyper", - "pin-project-lite", + "hyper-util", + "native-tls", "tokio", - "tokio-io-timeout", + "tokio-native-tls", + "tower-service", ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" dependencies = [ "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", "hyper", - "native-tls", + "pin-project-lite", + "socket2", "tokio", - "tokio-native-tls", + "tower", + "tower-service", + "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -782,30 +686,14 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "index_vec" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74086667896a940438f2118212f313abba4aff3831fef6f4b17d02add5c8bb60" - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" -version = "2.2.2" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown", ] [[package]] @@ -814,41 +702,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is-terminal" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" -dependencies = [ - "hermit-abi", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "is_ci" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" - -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.10" @@ -857,9 +710,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -872,15 +725,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -894,45 +747,34 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matchit" -version = "0.7.3" +name = "memchr" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] -name = "memchr" -version = "2.7.1" +name = "memoffset" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] [[package]] name = "miette" -version = "5.10.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +checksum = "4edc8853320c2a0dab800fbda86253c8938f6ea88510dc92c5f1ed20e794afc1" dependencies = [ - "is-terminal", + "cfg-if", "miette-derive", - "once_cell", "owo-colors", - "supports-color", - "supports-hyperlinks", - "supports-unicode", - "terminal_size", "textwrap", "thiserror", "unicode-width", @@ -940,13 +782,13 @@ dependencies = [ [[package]] name = "miette-derive" -version = "5.10.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -955,17 +797,11 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -995,18 +831,8 @@ dependencies = [ "openssl-sys", "schannel", "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", + "security-framework-sys", + "tempfile", ] [[package]] @@ -1023,19 +849,18 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -1067,11 +892,11 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" -version = "0.10.62" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cfg-if", "foreign-types", "libc", @@ -1088,7 +913,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -1099,9 +924,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.98" +version = "0.9.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" dependencies = [ "cc", "libc", @@ -1109,101 +934,108 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "outref" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" + [[package]] name = "owo-colors" -version = "3.5.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" [[package]] name = "oxc_allocator" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13747d4dc2ed0f6102d0372fc186351cec62531fe07ec327756f9176b7ae3435" +checksum = "1fbd477ba88933a94af8018b8c1fbe74085c83fc1d540d40d04ef3f0f9209070" dependencies = [ + "allocator-api2", "bumpalo", - "serde", ] [[package]] name = "oxc_ast" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40fa5a539ef2796e6722c70a2200bf1a34344d475505de34215b2d7a652fce3" +checksum = "8a8834664ffa913f231c604a079501d20e671652a646e10cf6c77f54e47d0592" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "num-bigint", - "num-traits", "oxc_allocator", - "oxc_index", + "oxc_ast_macros", "oxc_span", "oxc_syntax", + "static_assertions", ] +[[package]] +name = "oxc_ast_macros" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ce5a39cd90a129edc8ff221a7bdd1604ea520c613cb1d8566a5957e76772647" + [[package]] name = "oxc_codegen" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97788f1487bb8324024ba824151c8beb56fdcdbe99f0d1c96ce16d6938b876e3" +checksum = "183156e121351cdf979641c1975a90c602b8f68686e371072d09cb390da58f58" dependencies = [ - "bitflags 2.4.2", - "num-bigint", + "bitflags 2.5.0", "oxc_allocator", "oxc_ast", + "oxc_sourcemap", "oxc_span", "oxc_syntax", ] [[package]] name = "oxc_diagnostics" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4af962f55db6a89001ac7271050ace381ae9855af99cfbaa17119ba4a784badb" +checksum = "56289a4fbacf9e88043a6d10d4dc88b1f745919689d6b04e69e0db6a10e86b3c" dependencies = [ - "is-terminal", "miette", "owo-colors", "textwrap", - "thiserror", "unicode-width", ] [[package]] name = "oxc_index" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6d07da75b08f9f3bc892e35a95d1b8ed0f1dd2bf0d5c4038e5fbfb17d75e47" -dependencies = [ - "index_vec", - "static_assertions", -] +checksum = "4836ca3567d818987e1e5aaa637dca36d2e4a5d3968b08952109f1167761aae8" [[package]] name = "oxc_parser" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e709b2b30211728f0ffb2275649b6d82372f7c1aabb173cf2768efd8e94874" +checksum = "efb5337acbddbf126288f661c90b6c2b8156580867e2030c7cd0edb0189a79af" dependencies = [ "assert-unchecked", - "bitflags 2.4.2", + "bitflags 2.5.0", + "memchr", "num-bigint", "oxc_allocator", "oxc_ast", "oxc_diagnostics", - "oxc_index", "oxc_span", "oxc_syntax", "rustc-hash", + "seq-macro", + "static_assertions", ] [[package]] name = "oxc_semantic" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b397e3d3f6846e9428ab387815583f88e0128cad9d61826faca5abb47d7c734" +checksum = "8c95be5f8d5f633d05c25417e6e8535d7e9aabd409d3a5a0c7a9d244549b64c5" dependencies = [ - "indexmap 2.2.2", - "itertools 0.12.1", + "indexmap", "oxc_allocator", "oxc_ast", "oxc_diagnostics", @@ -1215,11 +1047,24 @@ dependencies = [ "rustc-hash", ] +[[package]] +name = "oxc_sourcemap" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8626bf95bfc6a84f9a08026a80e51e1592eeac49bdf475c8fd43c71dd9271a" +dependencies = [ + "base64-simd", + "cfg-if", + "rustc-hash", + "serde", + "serde_json", +] + [[package]] name = "oxc_span" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68147bd10e6438a04075ff7a6cfdcb928da7aecf28e6ea1aaa44713670cca69" +checksum = "21f6246bf872c211390210c9d51b8a4911b804551359a79fae4479f28b1c34f5" dependencies = [ "compact_str", "miette", @@ -1227,38 +1072,51 @@ dependencies = [ [[package]] name = "oxc_syntax" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f1036225932c7425cc426488bbd9de04c78bf34afaa89f9ad26a673c58c6041" +checksum = "86716b48d0d7b3bb1a03310f2d6bb1e85ac49e5af265fb11f68e116901fbf8a7" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "dashmap", - "indexmap 2.2.2", "oxc_index", "oxc_span", "phf", "rustc-hash", + "ryu-js", "unicode-id-start", ] [[package]] name = "oxc_transformer" -version = "0.6.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266508b58b3f9c0697a6b9317176276096775a38f59d4cdd3b5c9a6a6aae7798" +checksum = "c82cc57fa13bae97b5b9e64446e3abe6bb5e9025e131af51bc8abfacc4e2eb6d" dependencies = [ - "bitflags 2.4.2", + "indexmap", "oxc_allocator", "oxc_ast", "oxc_diagnostics", - "oxc_semantic", "oxc_span", "oxc_syntax", - "phf", + "oxc_traverse", + "ropey", "rustc-hash", "serde", ] +[[package]] +name = "oxc_traverse" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a91c6745a5216e7859bd6cdef46551ade5df39898c1aa81348eb8246e6e268d3" +dependencies = [ + "memoffset", + "oxc_allocator", + "oxc_ast", + "oxc_span", + "oxc_syntax", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -1295,7 +1153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.2", + "indexmap", ] [[package]] @@ -1328,7 +1186,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -1342,22 +1200,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -1374,57 +1232,19 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "proc-macro2" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] -[[package]] -name = "prost" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" -dependencies = [ - "anyhow", - "itertools 0.11.0", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "prost-types" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" -dependencies = [ - "prost", -] - [[package]] name = "queues" version = "1.1.0" @@ -1433,9 +1253,9 @@ checksum = "1475abae4f8ad4998590fe3acfe20104f0a5d48fc420c817cd2c09c3f56151f0" [[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", ] @@ -1446,18 +1266,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", "rand_core", ] @@ -1466,9 +1274,6 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] [[package]] name = "redox_syscall" @@ -1481,42 +1286,27 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.2" @@ -1525,26 +1315,29 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "relative-path" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.11.23" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ "base64", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", "http", "http-body", + "http-body-util", "hyper", "hyper-tls", + "hyper-util", "ipnet", "js-sys", "log", @@ -1553,9 +1346,11 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-native-tls", @@ -1567,6 +1362,16 @@ dependencies = [ "winreg", ] +[[package]] +name = "ropey" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93411e420bcd1a75ddd1dc3caf18c23155eda2c090631a85af21ba19e97093b5" +dependencies = [ + "smallvec", + "str_indices", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -1579,28 +1384,35 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", "windows-sys 0.52.0", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" + [[package]] name = "rustversion" version = "1.0.14" @@ -1609,9 +1421,15 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "ryu-js" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5" [[package]] name = "schannel" @@ -1652,36 +1470,36 @@ dependencies = [ ] [[package]] -name = "semver" -version = "1.0.21" +name = "seq-macro" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.196" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -1702,12 +1520,11 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.154.0" +version = "0.182.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3748eaed607f7dd2b5800100e5fe7c6babe9941492974d55d0bd08775f66ebbd" +checksum = "31bcbb905458ba3820fc4583312449c56e183296d5bf89ba59d1d67a752c6701" dependencies = [ "bytes", - "derive_more", "num-bigint", "serde", "smallvec", @@ -1715,15 +1532,6 @@ dependencies = [ "v8", ] -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -1750,9 +1558,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smawk" @@ -1777,49 +1585,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] -name = "supports-color" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" -dependencies = [ - "is-terminal", - "is_ci", -] - -[[package]] -name = "supports-hyperlinks" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d" -dependencies = [ - "is-terminal", -] - -[[package]] -name = "supports-unicode" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f850c19edd184a205e883199a261ed44471c81e39bd95b1357f5febbef00e77a" -dependencies = [ - "is-terminal", -] - -[[package]] -name = "syn" -version = "1.0.109" +name = "str_indices" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] +checksum = "e9557cb6521e8d009c51a8666f09356f4b817ba9ba0981a305bd86aee47bd35c" [[package]] name = "syn" -version = "2.0.48" +version = "2.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" dependencies = [ "proc-macro2", "quote", @@ -1855,41 +1630,21 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", "rustix", "windows-sys 0.52.0", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" dependencies = [ "smawk", "unicode-linebreak", @@ -1898,32 +1653,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", + "syn", ] [[package]] @@ -1943,9 +1688,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -1957,20 +1702,9 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "tracing", "windows-sys 0.48.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.2.0" @@ -1979,7 +1713,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", ] [[package]] @@ -1992,17 +1726,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-stream" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.10" @@ -2017,33 +1740,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tonic" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64", - "bytes", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower" version = "0.4.13" @@ -2052,13 +1748,9 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", - "slab", "tokio", - "tokio-util", "tower-layer", "tower-service", "tracing", @@ -2082,22 +1774,11 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "tracing-core" version = "0.1.32" @@ -2105,22 +1786,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", - "valuable", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "matchers", - "once_cell", - "regex", - "sharded-slab", - "thread_local", - "tracing", - "tracing-core", ] [[package]] @@ -2131,9 +1796,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-id-start" @@ -2155,18 +1820,18 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "url" @@ -2179,30 +1844,39 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "v8" -version = "0.82.0" +version = "0.89.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f53dfb242f4c0c39ed3fc7064378a342e57b5c9bd774636ad34ffe405b808121" +checksum = "fe2197fbef82c98f7953d13568a961d4e1c663793b5caf3c74455a13918cdf33" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "fslock", + "gzip-header", + "home", + "miniz_oxide", "once_cell", "which", ] -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - [[package]] name = "vcpkg" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + [[package]] name = "want" version = "0.3.1" @@ -2220,9 +1894,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2230,24 +1904,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ "cfg-if", "js-sys", @@ -2257,9 +1931,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2267,28 +1941,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "web-sys" -version = "0.3.66" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" dependencies = [ "js-sys", "wasm-bindgen", @@ -2296,14 +1970,15 @@ dependencies = [ [[package]] name = "which" -version = "4.4.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" dependencies = [ "either", "home", "once_cell", "rustix", + "windows-sys 0.48.0", ] [[package]] @@ -2322,15 +1997,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -2480,9 +2146,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winreg" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", "windows-sys 0.48.0", diff --git a/Cargo.toml b/Cargo.toml index 6e0749f..405b460 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,38 +7,29 @@ version = "0.1.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -chrono = "0.4.31" +chrono = "0.4.38" colored = "2.1.0" -console-subscriber = "0.2.0" -env_logger = "0.10.1" +env_logger = "0.11.3" futures = "0.3.30" -log = "0.4.20" queues = "1.1.0" -quote = "1.0.35" -regex = "1.10.2" -relative-path = "1.9.2" -reqwest = { version = "0.11.23", features = ["blocking"] } -serde_json = "1.0.111" -serde_v8 = "0.154.0" -# swc = "0.270.20" -# swc_common = { version = "0.33.12", features = ["tty-emitter"] } -# swc_ecma_ast = "0.110.17" -# swc_ecma_parser = "0.141.37" -# swc_ecma_visit = "0.96.17" -# swc_ecma_transforms_module = "0.178.16" +quote = "1.0.36" +regex = "1.10.4" +relative-path = "1.9.3" +reqwest = { version = "0.12.4", features = ["blocking"] } +serde_json = "1.0.117" +serde_v8 = "0.182.0" url = "2.5.0" -v8 = "0.82.0" -anyhow = "1.0.79" -tracing = "0.1.40" +v8 = "0.89.0" +anyhow = "1.0.83" # oxc -oxc_allocator = "^0.6.0" -oxc_codegen = "^0.6.0" -oxc_parser = "^0.6.0" -oxc_transformer = "^0.6.0" -oxc_span= "^0.6.0" -oxc_ast = "^0.6.0" -oxc_semantic = "^0.6.0" +oxc_allocator = "^0.13.0" +oxc_codegen = "^0.13.0" +oxc_parser = "^0.13.0" +oxc_transformer = "^0.13.0" +oxc_span = "^0.13.0" +oxc_ast = "^0.13.0" +oxc_semantic = "^0.13.0" [dependencies.tokio] features = ["full"] -version = "1.35.1" +version = "1.37.0" diff --git a/bootstrap/main.ts b/bootstrap/main.ts index e8dc264..ccba5db 100644 --- a/bootstrap/main.ts +++ b/bootstrap/main.ts @@ -8,7 +8,7 @@ export default async function bootstrap(entry: string) { asyncHandle: [], count: 0, } - //@ts-ignore + // @ts-ignore globalThis.setTimeout = (fn: Function, delay: number, ...arg: any[]) => { runtime.asyncHandle[runtime.count] = () => { fn(...arg) diff --git a/src/builtin/console.rs b/src/builtin/console.rs index 6c8d137..d3e4a25 100644 --- a/src/builtin/console.rs +++ b/src/builtin/console.rs @@ -94,7 +94,7 @@ pub fn console_format( .get_own_property_names(scope, Default::default()) .unwrap(); - let mut fmt = (0..names.length()) + let fmt = (0..names.length()) .map(|index| { let name = names.get_index(scope, index).unwrap(); let val = obj.get(scope, name).unwrap(); diff --git a/src/builtin/fetch.rs b/src/builtin/fetch.rs new file mode 100644 index 0000000..4be5164 --- /dev/null +++ b/src/builtin/fetch.rs @@ -0,0 +1,88 @@ +use crate::runtime::AsynchronousKind; +use std::{str::FromStr, sync::Arc, task::Poll}; + +use core::pin::Pin; +use reqwest::{self, Client, Method}; + +use crate::runtime::Runtime; + +#[derive(Debug, Default)] +struct FetchOption { + // A BodyInit object or null to set request's body. + // body: Option, + // A string indicating how the request will interact with the browser's cache to set request's cache. + // cache: Option, + // A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. + // credentials: Option, + // A Headers object, an object literal, or an array of two-item arrays to set request's headers. + // headers: Option, + // A cryptographic hash of the resource to be fetched by request. Sets request's integrity. + // integrity: Option, + // A boolean to set request's keepalive. + // keepalive: Option, + // A string to set request's method. + method: Method, + // A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. + // mode: Option, + // A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. + // redirect: Option, + // A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. + // referrer: Option, + // A referrer policy to set request's referrerPolicy. + // referrer_policy: Option, + // An AbortSignal to set request's signal. + // signal: Option, +} + +pub fn fetch( + scope: &mut v8::HandleScope, + args: v8::FunctionCallbackArguments, + mut rv: v8::ReturnValue, +) { + let state_rc = Runtime::state(scope); + + let url = args.get(0); + let options = args.get(1); + + let init = if options.is_object() { + let obj = v8::Local::::try_from(options).unwrap(); + + let mut init = FetchOption::default(); + + let method_key = v8::String::new(scope, "method").unwrap(); + init.method = if let Some(method) = obj.get(scope, method_key.into()) { + Method::from_str(method.to_rust_string_lossy(scope).as_str()).expect("invalida method") + } else { + Method::GET + }; + init + } else { + FetchOption::default() + }; + let client = reqwest::Client::new(); + let builder = client.request(init.method, url.to_rust_string_lossy(scope)); + + let resolver = v8::PromiseResolver::new(scope).unwrap(); + + // let resolver = Arc::new(resolver); + + let state = state_rc.borrow_mut(); + // let move_resolver = resolver.clone(); + // state.pending_ops.push(Pin::new(Poll::Ready(AsynchronousKind::Callback(async move { + // let builder = builder.build().unwrap(); + + // let response = Client::execute(&client, builder); + + // let status = response.status(); + // let value = v8::ObjectTemplate::new(scope); + // let status_key = v8::String::new(scope, "status").unwrap(); + // let status_value = v8::String::new(scope, status.as_str()).unwrap(); + // value.set(status_key.into(), status_value.into()); + + // let value = value.new_instance(scope).unwrap(); + // move_resolver.resolve(scope, value.into()); + + // })))); + + rv.set(resolver.into()); +} diff --git a/src/builtin/mod.rs b/src/builtin/mod.rs index 6df8de8..09c7173 100644 --- a/src/builtin/mod.rs +++ b/src/builtin/mod.rs @@ -1,5 +1,6 @@ pub(crate) mod console; +pub(crate) mod fetch; pub(crate) mod modules; pub(crate) mod set_timeout; // pub(crate) use edon_fs; -pub(crate) use modules::native_module_inject; +// pub(crate) use modules::native_module_inject; diff --git a/src/compile.rs b/src/compile.rs index d5d591c..de38890 100644 --- a/src/compile.rs +++ b/src/compile.rs @@ -11,7 +11,7 @@ use v8::Isolate; pub struct ModuleDependency { pub deps: Vec, pub async_deps: Vec, - pub specifier: Vec, + pub specifiers: Vec, pub source: String, pub map: Option, pub filename: String, @@ -19,7 +19,7 @@ pub struct ModuleDependency { } impl ModuleDependency { - pub fn initialize(&self, isolate: &mut Isolate) -> Option<()> { + pub fn initialize(&self, isolate: &mut Isolate) -> anyhow::Result<()> { let graph_rc = Runtime::graph(isolate); { @@ -28,25 +28,25 @@ impl ModuleDependency { let module = module.borrow(); if module.get(&self.filename).is_some() { - return Some(()); + return Ok(()); } } // { - self.deps.iter().for_each(|url| { - let state = graph_rc.borrow(); - let graph = state.table.borrow(); + let state = graph_rc.borrow(); + let graph = state.table.borrow(); + for url in self.deps.iter() { let url = resolve(url, &self.filename); let dep = graph.get(&url).unwrap(); - dep.initialize(isolate); - }); + dep.initialize(isolate)? + } // } - self.instantiate_module(isolate); + self.instantiate_module(isolate)?; - return Some(()); + Ok(()) } - fn instantiate_module(&self, isolate: &mut Isolate) { + fn instantiate_module(&self, isolate: &mut Isolate) -> anyhow::Result<()> { let state_rc = Runtime::state(isolate); let graph_rc = Runtime::graph(isolate); @@ -80,9 +80,13 @@ impl ModuleDependency { .insert(module_id, self.filename.clone()); let tc_scope = &mut v8::TryCatch::new(scope); - module - .instantiate_module(tc_scope, Runtime::resolve_module_callback) - .unwrap(); + let result = module.instantiate_module(tc_scope, Runtime::resolve_module_callback); + if result.is_none() { + let expection = tc_scope.exception().unwrap(); + let msg = expection.to_rust_string_lossy(tc_scope); + return Err(anyhow!("{}", msg)); + } + let expose = &module.get_module_namespace(); let v8_module = v8::Global::new(tc_scope, module); let expose = v8::Global::new(tc_scope, expose); @@ -95,21 +99,22 @@ impl ModuleDependency { expose, }, ); + Ok(()) } - pub fn evaluate(&self, isolate: &mut Isolate) { + pub fn evaluate(&self, isolate: &mut Isolate) -> anyhow::Result<()> { let state_rc = Runtime::state(isolate); let graph_rc = Runtime::graph(isolate); - self.deps.iter().for_each(|url| { + for url in &self.deps { let graph = graph_rc.borrow(); let table = graph.table.borrow(); - let url = resolve(url, &self.filename); + let url = resolve(&url, &self.filename); let dep = table .get(&url) - .expect(&format!("table get failure `{url}`")); - dep.evaluate(isolate); - }); + .ok_or(anyhow!("table get failure `{url}`"))?; + dep.evaluate(isolate)?; + } let context = state_rc.borrow().context.clone(); let scope = &mut v8::HandleScope::with_context(isolate, context); @@ -122,20 +127,25 @@ impl ModuleDependency { let module = v8::Local::new(tc_scope, &info.module); let result = module.evaluate(tc_scope).unwrap(); + if tc_scope.has_caught() { + let expection = tc_scope.exception().unwrap(); + return Err(anyhow!("{}", expection.to_rust_string_lossy(tc_scope))); + } + if result.is_promise() { let promise = v8::Local::::try_from(result).unwrap(); - match promise.state() { - v8::PromiseState::Rejected => { - println!("evaluate fail: {}", self.filename); - } - _ => {} + if let v8::PromiseState::Rejected = promise.state() { + let result = promise.result(tc_scope); + let stack = tc_scope.stack_trace(); + return Err(anyhow!( + "{}\n at {:?}", + result.to_rust_string_lossy(tc_scope), + stack + )); } } + Ok(()) } } pub use compile_oxc::compile; -// pub fn compile(file_name: &str, source_text: &str) -> anyhow::Result { -// return compile_oxc::compile(file_name, source_text); -// // return compile_swc::compile(file_name, source_text); -// } diff --git a/src/compile_oxc.rs b/src/compile_oxc.rs index 3d0c34f..0e5cd15 100644 --- a/src/compile_oxc.rs +++ b/src/compile_oxc.rs @@ -1,11 +1,10 @@ -use anyhow::anyhow; +use std::path::Path; + +use anyhow::bail; use oxc_allocator::Allocator; -use oxc_ast::{AstKind, Visit}; +use oxc_ast::{AstKind, Trivias, Visit}; use oxc_codegen::{Codegen, CodegenOptions}; -use oxc_semantic::SemanticBuilder; -use oxc_span::{GetSpan, SourceType}; -use oxc_transformer::{TransformOptions, TransformTarget, Transformer}; -use tracing::Instrument; +use oxc_transformer::{TransformOptions, Transformer}; use crate::compile::ModuleDependency; @@ -13,6 +12,9 @@ use crate::compile::ModuleDependency; struct ImportParser { sync_imports: Vec, async_imports: Vec, + specifiers: Vec, + namespaces: Vec, + default_import: bool, } impl<'a> oxc_ast::Visit<'a> for ImportParser { @@ -35,13 +37,17 @@ impl<'a> oxc_ast::Visit<'a> for ImportParser { use oxc_ast::ast::ImportDeclarationSpecifier; match specifier { ImportDeclarationSpecifier::ImportSpecifier(import_specifer) => { - println!("ImportDeclarationSpecifier: {:?}", import_specifer.span); + // println!("ImportSpecifier: {:?}", import_specifer.imported.name()); + self.specifiers + .push(import_specifer.imported.name().to_string()); } - ImportDeclarationSpecifier::ImportDefaultSpecifier(import_specfier) => { - println!("ImportDeclarationSpecifier: {:?}", import_specfier.span); + ImportDeclarationSpecifier::ImportDefaultSpecifier(_import_specfier) => { + // println!("ImportDefaultSpecifier: {:?}", import_specfier); + self.default_import = true; } ImportDeclarationSpecifier::ImportNamespaceSpecifier(import_specifer) => { - println!("ImportDeclarationSpecifier: {:?}", import_specifer.span); + // println!("ImportNamespaceSpecifier: {:?}", import_specifer); + self.namespaces.push(import_specifer.local.name.to_string()); } } } @@ -55,43 +61,63 @@ impl<'a> oxc_ast::Visit<'a> for ImportParser { } } -pub fn compile(file_name: &str, source_text: &str) -> anyhow::Result { +pub fn compile(file_name: &str, content: &str) -> anyhow::Result { let allo = Allocator::default(); let source_type = oxc_span::SourceType::from_path(file_name).unwrap(); - let ret = oxc_parser::Parser::new(&allo, &source_text, source_type).parse(); + let ret = oxc_parser::Parser::new(&allo, &content, source_type).parse(); if !ret.errors.is_empty() { - for error in ret.errors { - let error = error.with_source_code(source_text.to_string()); - println!("{error:?}"); + let mut err = vec![]; + for report in ret.errors { + err.push(format!("{}", report.with_source_code(content.to_string()))); } - return Err(anyhow!("compile error")); + bail!("{}", err.join("\n")); } - let mut pass = ImportParser::default(); - pass.visit_program(&ret.program); - - let semantic = SemanticBuilder::new(&source_text, source_type) - .with_trivias(ret.trivias) - .build(&ret.program) - .semantic; + let mut import_parser = ImportParser::default(); + import_parser.visit_program(&ret.program); let program = allo.alloc(ret.program); let transform_options = TransformOptions::default(); - Transformer::new(&allo, source_type, semantic, transform_options) - .build(program) - .unwrap(); + let trivias = Trivias::default(); + let transformer = Transformer::new( + &allo, + Path::new(file_name), + source_type, + content, + &trivias, + transform_options, + ); + + if let Err(errors) = transformer.build(program) { + let err = errors + .iter() + .map(|err| format!("{}", err)) + .collect::>() + .join("\n"); + bail!("{err}"); + } - let code = Codegen::::new(source_text.len(), CodegenOptions).build(program); + let code = Codegen::::new( + file_name, + content, + CodegenOptions { + enable_source_map: true, + enable_typescript: false, // allow output typescript code + }, + ) + .build(program); Ok(ModuleDependency { - deps: pass.sync_imports, - async_deps: pass.async_imports, - specifier: vec![], - source: code, - map: None, + deps: import_parser.sync_imports, + async_deps: import_parser.async_imports, + specifiers: import_parser.specifiers, + source: code.source_text, + map: code + .source_map + .map(|m| m.to_json_string().unwrap_or_default()), filename: file_name.to_string(), is_main: false, }) diff --git a/src/main.rs b/src/main.rs index f9cc960..d0437c6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,10 @@ +use anyhow::bail; use std::env; +mod builtin; mod compile; +mod compile_oxc; mod graph; -mod builtin; mod runtime; -mod compile_oxc; // mod compile_swc; use graph::resolve; @@ -14,7 +15,7 @@ use runtime::Runtime; async fn main() -> anyhow::Result<()> { let args = env::args().collect::>(); if args.len() <= 1 { - panic!("no args"); + bail!("no args"); } let current_dir = env::current_dir()?.to_string_lossy().to_string(); diff --git a/src/runtime/asynchronous.rs b/src/runtime/asynchronous.rs index ed94b53..24ca1fe 100644 --- a/src/runtime/asynchronous.rs +++ b/src/runtime/asynchronous.rs @@ -8,16 +8,15 @@ use super::Runtime; pub enum AsynchronousKind { Import((String, v8::Global)), Operation(u32), + // Callback(impl Future>), } impl AsynchronousKind { - pub fn exec(&self, isolate: &mut Isolate) -> Poll<()> { - match match self { + pub fn exec(&self, isolate: &mut Isolate) -> anyhow::Result> { + match self { AsynchronousKind::Operation(id) => Self::operation(isolate, id.clone()), AsynchronousKind::Import((source, resolver)) => Self::import(isolate, source, resolver), - } { - Ok(v) => v, - Err(e) => panic!("error {}", e), + // AsynchronousKind::Callback(f) => f.await, } } @@ -51,9 +50,9 @@ impl AsynchronousKind { .ok_or(anyhow!("run script failure {}", id))?; if tc_scope.has_caught() { - panic!("exec error"); + return Err(anyhow!("exec error")); } - return Ok(Poll::Ready(())); + Ok(Poll::Ready(())) } fn import( isolate: &mut Isolate, @@ -83,8 +82,8 @@ impl AsynchronousKind { .get(source) .ok_or(anyhow!("source `{}` not found", source))?; - if dep.initialize(isolate).is_some() { - dep.evaluate(isolate); + if dep.initialize(isolate).is_ok() { + dep.evaluate(isolate)?; let scope = &mut v8::HandleScope::with_context(isolate, context); let tc_scope = &mut v8::TryCatch::new(scope); @@ -103,9 +102,9 @@ impl AsynchronousKind { let module = graph.module.borrow(); if module.get(source).is_none() { let t = table.get(source).unwrap(); - t.initialize(isolate); + t.initialize(isolate)?; } - return Ok(Poll::Ready(())); + Ok(Poll::Ready(())) } } diff --git a/src/runtime/init.rs b/src/runtime/init.rs index cbd773b..57ec697 100644 --- a/src/runtime/init.rs +++ b/src/runtime/init.rs @@ -1,4 +1,5 @@ use crate::builtin::console::log; +use crate::builtin::fetch::fetch; use super::Runtime; @@ -10,6 +11,8 @@ impl Runtime { let global = context.global(scope); let scope = &mut v8::ContextScope::new(scope, context); + Self::set_func(scope, global, "fetch", fetch); + let console_key = v8::String::new(scope, "console").unwrap(); let console_object = v8::Object::new(scope); global.set(scope, console_key.into(), console_object.into()); diff --git a/src/runtime/mod.rs b/src/runtime/mod.rs index 3fe1fae..05b875f 100644 --- a/src/runtime/mod.rs +++ b/src/runtime/mod.rs @@ -13,7 +13,7 @@ mod constants; mod init; mod static_fn; -use asynchronous::AsynchronousKind; +pub use asynchronous::AsynchronousKind; type Async = Pin>>>; #[derive(Debug)] @@ -87,7 +87,7 @@ impl Runtime { }))) as *mut c_void, ); - return Self { isolate, sender }; + Self { isolate, sender } } pub fn state(isolate: &Isolate) -> Rc> { @@ -96,7 +96,7 @@ impl Runtime { let state_rc = unsafe { Rc::from_raw(state_ptr) }; let state = state_rc.clone(); - Rc::into_raw(state_rc); + let _ = Rc::into_raw(state_rc); state } @@ -106,7 +106,7 @@ impl Runtime { let state_rc = unsafe { Rc::from_raw(state_ptr) }; let state = state_rc.clone(); - Rc::into_raw(state_rc); + let _ = Rc::into_raw(state_rc); state } @@ -119,12 +119,12 @@ impl Runtime { let mut bootstrap_js = PathBuf::new(); bootstrap_js.push("bootstrap.ts"); let dependency = compile::compile( - &bootstrap_js.to_string_lossy().to_string(), + bootstrap_js.to_string_lossy().as_ref(), &include_str!("../../bootstrap/main.ts").to_string(), )?; - dependency.initialize(isolate); - dependency.evaluate(isolate); + dependency.initialize(isolate)?; + dependency.evaluate(isolate)?; // let graph = graph_rc.borrow(); @@ -170,15 +170,20 @@ impl Runtime { break Ok(()); } poll_fn(|cx| loop { - if let Poll::Ready(Some(Poll::Ready(op))) = { + let result = { let mut state = state_rc.borrow_mut(); let result = state.pending_ops.poll_next_unpin(cx); if Poll::Pending == result { continue; } result - } { - break op.exec(isolate); + }; + if let Poll::Ready(Some(Poll::Ready(op))) = result { + match op.exec(isolate) { + Ok(v) => break v, + Err(err) => eprintln!("{err:?}"), + } + break Poll::Ready(()); } break Poll::Pending; }) diff --git a/src/runtime/static_fn.rs b/src/runtime/static_fn.rs index a8a719f..d2fef61 100644 --- a/src/runtime/static_fn.rs +++ b/src/runtime/static_fn.rs @@ -1,12 +1,12 @@ use super::{asynchronous::AsynchronousKind, Runtime}; -use crate::{graph::resolve, builtin::console::console_format}; +use crate::{builtin::console::console_format, graph::resolve}; use std::{task::Poll, time::Duration}; use url::Url; impl Runtime { pub fn resolve_module_callback<'s>( context: v8::Local<'s, v8::Context>, - specifier: v8::Local<'s, v8::String>, + source: v8::Local<'s, v8::String>, _import_assertions: v8::Local<'s, v8::FixedArray>, referrer: v8::Local<'s, v8::Module>, ) -> Option> { @@ -16,7 +16,7 @@ impl Runtime { let state = graph_rc.borrow(); - let source = specifier.to_rust_string_lossy(scope); + let source = source.to_rust_string_lossy(scope); let url = if source.starts_with("http") { let url = Url::parse(&source).expect(format!("parse url failed: {}", source).as_str()); @@ -38,7 +38,7 @@ impl Runtime { .expect(format!("get module failure: {}", url).as_str()); let module = v8::Local::new(scope, &info.module); - return Some(module); + Some(module) } pub fn dynamically_import<'a>( diff --git a/test/test.ts b/test/test.ts index 8c1be76..8edc264 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,10 +1,5 @@ +// import {a ,b,c} from "https://deno.land/std@0.182.0/examples/welcome.ts"; // import "https://deno.land/std@0.182.0/examples/welcome.ts"; -// import "https://deno.land/std@0.182.0/examples/welcome.ts"; -import "./welcome.ts" +let r = fetch("https://deno.land/std@0.182.0/examples/welcome.ts") -// const res = await import("./test1.ts"); -// console.log("res", res); -// const text = await res.json(); -// console.log("🚀 text", text); -// test.copy(); -// import("./welcome.ts") +console.log(r); diff --git a/test/welcome.ts b/test/welcome.ts index 998c238..e7fad9c 100644 --- a/test/welcome.ts +++ b/test/welcome.ts @@ -1 +1,4 @@ console.log("Welcome edon!"); + +const a = 1; +export {a}