From a61936f66fd3c60ecb4fbb8f3fbb39ff0fe8257f Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sun, 18 Feb 2024 13:19:35 +0100 Subject: [PATCH] fix: update internal deno runtime to 0.262.0 (#3240) * feat: scim token and saml metadata setting in UI directly * chore(main): release 1.271.0 (#3237) * chore(main): release 1.271.0 * Apply automatic changes --------- Co-authored-by: rubenfiszel * fix test * all * update all * fix frontend --------- Co-authored-by: rubenfiszel --- backend/Cargo.lock | 699 +++++++++--------- backend/Cargo.toml | 25 +- backend/src/main.rs | 30 +- backend/windmill-worker/build.rs | 10 +- backend/windmill-worker/src/js_eval.rs | 99 +-- backend/windmill-worker/src/runtime.js | 3 +- .../lib/components/flows/flowStateUtils.ts | 7 +- .../flows/map/FlowModuleSchemaMap.svelte | 7 +- .../lib/components/table/AutoDataTable.svelte | 10 +- 9 files changed, 463 insertions(+), 427 deletions(-) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index c365d05f0c..5dc9ead252 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" dependencies = [ "anstyle", "anstyle-parse", @@ -237,11 +237,10 @@ dependencies = [ [[package]] name = "ast_node" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c09c69dffe06d222d072c878c3afe86eee2179806f20503faec97250268b4c24" +checksum = "c3e3e06ec6ac7d893a0db7127d91063ad7d9da8988f8a1a256f03729e6eec026" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "swc_macros_common", @@ -266,7 +265,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 5.0.0", + "event-listener 5.1.0", "event-listener-strategy 0.5.0", "futures-core", "pin-project-lite", @@ -364,7 +363,7 @@ dependencies = [ "futures-io", "futures-lite 2.2.0", "parking", - "polling 3.4.0", + "polling 3.5.0", "rustix 0.38.31", "slab", "tracing", @@ -750,9 +749,24 @@ dependencies = [ "rustc-hash", "shlex", "syn 2.0.49", - "which", + "which 4.4.2", ] +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bitflags" version = "1.3.2" @@ -1106,7 +1120,7 @@ checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" dependencies = [ "chrono", "chrono-tz-build", - "phf 0.11.2", + "phf", ] [[package]] @@ -1116,7 +1130,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" dependencies = [ "parse-zoneinfo", - "phf 0.11.2", + "phf", "phf_codegen", ] @@ -1317,6 +1331,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cooked-waker" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147be55d677052dabc6b22252d5dd0fd4c29c8c27aa4f2fbef0f94aa003b406f" + [[package]] name = "cookie" version = "0.17.0" @@ -1622,15 +1642,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "data-url" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5" - -[[package]] -name = "data-url" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" +checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f" [[package]] name = "debug-helper" @@ -1648,39 +1662,19 @@ dependencies = [ "uuid 1.7.0", ] -[[package]] -name = "deno-proc-macro-rules" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c65c2ffdafc1564565200967edc4851c7b55422d3913466688907efd05ea26f" -dependencies = [ - "deno-proc-macro-rules-macros", - "proc-macro2", - "syn 2.0.49", -] - -[[package]] -name = "deno-proc-macro-rules-macros" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3047b312b7451e3190865713a4dd6e1f821aed614ada219766ebc3024a690435" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.49", -] - [[package]] name = "deno_ast" -version = "0.28.0" +version = "0.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c93119b1c487a85603406a988a0ca9a1d0e5315404cccc5c158fb484b1f5a2" +checksum = "7f61944e781d268799bf65857e664d3c09a37590043d4b0ed10facefc9bea473" dependencies = [ "anyhow", - "base64 0.13.1", + "base64 0.21.7", "deno_media_type", + "deno_terminal", "dprint-swc-ext", + "once_cell", + "percent-encoding", "serde", "swc_atoms", "swc_common", @@ -1704,58 +1698,72 @@ dependencies = [ "swc_visit", "swc_visit_macros", "text_lines", + "unicode-width", "url", ] [[package]] name = "deno_console" -version = "0.115.0" +version = "0.138.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ab05b798826985966deb29fc6773ed29570de2f2147a30c4289c7cdf635214" +checksum = "127f3cd696c88f4304aff28c621403b467e1ea032fef9a68d97224f23f0feca0" dependencies = [ "deno_core", ] [[package]] name = "deno_core" -version = "0.200.0" +version = "0.262.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8ba264b90ceb6e95b39d82e674d8ecae86ca012f900338ea50d1a077d9d75fd" +checksum = "bb0c12fbe4f2c497ff53de92dd698a27d93f8e9c2519ea5684f608cb9f4ef44b" dependencies = [ "anyhow", + "bit-set", + "bit-vec", "bytes", + "cooked-waker", + "deno_core_icudata", "deno_ops", + "deno_unsync", "futures", - "indexmap 1.9.3", "libc", "log", - "once_cell", + "memoffset", "parking_lot", "pin-project", "serde", "serde_json", "serde_v8", "smallvec", - "sourcemap", + "sourcemap 7.0.1", + "static_assertions", "tokio", "url", "v8", ] [[package]] -name = "deno_fetch" -version = "0.139.0" +name = "deno_core_icudata" +version = "0.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f1b9a643427c7f732a4540e250560e1801970f033bae0d5e4abc7b83e36160" +checksum = "a13951ea98c0a4c372f162d669193b4c9d991512de9f2381dd161027f34b26b1" + +[[package]] +name = "deno_fetch" +version = "0.162.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bda01ee18545896687663c44c74833b51f1a9c2b1afa5dc9b963174a8639c02" dependencies = [ "bytes", - "data-url 0.2.0", + "data-url", "deno_core", "deno_tls", "dyn-clone", "http", + "pin-project", "reqwest", "serde", + "serde_json", "tokio", "tokio-util", ] @@ -1766,53 +1774,80 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a798670c20308e5770cc0775de821424ff9e85665b602928509c8c70430b3ee0" dependencies = [ - "data-url 0.3.1", + "data-url", "serde", "url", ] [[package]] -name = "deno_ops" -version = "0.78.0" +name = "deno_native_certs" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd1c83b1fd465ee0156f2917c9af9ca09fe2bf54052a2cae1a8dcbc7b89aefc" +checksum = "f4785d0bdc13819b665b71e4fb7e119d859568471e4c245ec5610857e70c9345" dependencies = [ - "deno-proc-macro-rules", - "lazy-regex", + "dlopen2", + "dlopen2_derive", "once_cell", - "pmutil 0.6.1", - "proc-macro-crate 1.3.1", + "rustls-native-certs", + "rustls-pemfile", +] + +[[package]] +name = "deno_ops" +version = "0.138.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04698b09128a026abe3d8a82fdb231baf1a35f07443844728fe1441b2c2340f1" +dependencies = [ + "proc-macro-rules", "proc-macro2", "quote", - "regex", "strum", "strum_macros", - "syn 1.0.109", "syn 2.0.49", "thiserror", ] [[package]] -name = "deno_tls" -version = "0.102.0" +name = "deno_terminal" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "010ce5e0a920b2364c75a9e38bcd3344bfe55a6b6cd9ef6717d78e5478f9bcb3" +checksum = "7e6337d4e7f375f8b986409a76fbeecfa4bd8a1343e63355729ae4befa058eaf" +dependencies = [ + "once_cell", + "termcolor", +] + +[[package]] +name = "deno_tls" +version = "0.125.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60348b1603059601ec4573e2e1f36579039668fa0b1cd47baba39056ce0f5e7a" dependencies = [ "deno_core", + "deno_native_certs", "once_cell", "rustls 0.21.10", - "rustls-native-certs", "rustls-pemfile", + "rustls-tokio-stream", + "rustls-webpki 0.101.7", "serde", - "webpki", - "webpki-roots 0.22.6", + "webpki-roots 0.25.4", +] + +[[package]] +name = "deno_unsync" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30dff7e03584dbae188dae96a0f1876740054809b2ad0cf7c9fc5d361f20e739" +dependencies = [ + "tokio", ] [[package]] name = "deno_url" -version = "0.115.0" +version = "0.138.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20490fff3b0f8c176a815e26371ff23313ea7f39cd51057701524c5b6fc36f6c" +checksum = "bf8297e19f3ac7ef20915a997897ee50727c25c6c27483abcac51c2071e9fc4d" dependencies = [ "deno_core", "serde", @@ -1821,15 +1856,17 @@ dependencies = [ [[package]] name = "deno_web" -version = "0.146.0" +version = "0.169.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dc8dda6e1337d4739ae9e94d75521689824d82a7deb154a2972b6eedac64507" +checksum = "4020ea0467666c8e3cb751be833c12b7bc9df203f8e36c0fa23225f6547f2cc7" dependencies = [ "async-trait", "base64-simd", + "bytes", "deno_core", "encoding_rs", "flate2", + "futures", "serde", "tokio", "uuid 1.7.0", @@ -1838,9 +1875,9 @@ dependencies = [ [[package]] name = "deno_webidl" -version = "0.115.0" +version = "0.138.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73159d81053ead02e938b46d4bb7224c8e7cf25273ac16a250fb45bb09af7635" +checksum = "344a5a4dd5628298e533e7e192bee6d2cf141b14e22fc998b8dbaf64d8153758" dependencies = [ "deno_core", ] @@ -1995,6 +2032,29 @@ dependencies = [ "winapi", ] +[[package]] +name = "dlopen2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bc2c7ed06fd72a8513ded8d0d2f6fd2655a85d6885c48cae8625d80faf28c03" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.49", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -2015,9 +2075,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dprint-swc-ext" -version = "0.11.1" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f115ea5b6f5d0d02a25a9364f41b8c4f857452c299309dcfd29a694724d0566" +checksum = "ebaedd46a16dd179b260a9fcb56be5780814afcb20f615eedde6acf971c9628e" dependencies = [ "bumpalo", "num-bigint", @@ -2203,9 +2263,9 @@ checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] @@ -2315,9 +2375,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1" +checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" dependencies = [ "concurrent-queue", "parking", @@ -2340,7 +2400,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" dependencies = [ - "event-listener 5.0.0", + "event-listener 5.1.0", "pin-project-lite", ] @@ -2418,7 +2478,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", - "libz-ng-sys", "libz-sys", "miniz_oxide", ] @@ -2472,11 +2531,10 @@ dependencies = [ [[package]] name = "from_variant" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ec5dc38ee19078d84a692b1c41181ff9f94331c76cee66ff0208c770b5e54f" +checksum = "3a0b11eeb173ce52f84ebd943d42e58813a2ebb78a6a3ff0a243b71c5199cd7b" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "swc_macros_common", "syn 2.0.49", @@ -2536,9 +2594,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", @@ -2700,7 +2758,7 @@ dependencies = [ "tracing", "tracing-futures", "url", - "which", + "which 4.4.2", ] [[package]] @@ -3115,6 +3173,19 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "hstr" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17fafeca18cf0927e23ea44d7a5189c10536279dfe9094e0dfa953053fbb5377" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "phf", + "rustc-hash", + "smallvec", +] + [[package]] name = "http" version = "0.2.11" @@ -3508,29 +3579,6 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" -[[package]] -name = "lazy-regex" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff63c423c68ea6814b7da9e88ce585f793c87ddd9e78f646970891769c8235d4" -dependencies = [ - "lazy-regex-proc_macros", - "once_cell", - "regex", -] - -[[package]] -name = "lazy-regex-proc_macros" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8edfc11b8f56ce85e207e62ea21557cfa09bb24a8f6b04ae181b086ff8611c22" -dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3613,16 +3661,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-ng-sys" -version = "1.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5" -dependencies = [ - "cmake", - "libc", -] - [[package]] name = "libz-sys" version = "1.1.15" @@ -3901,6 +3939,15 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + [[package]] name = "mime" version = "0.3.17" @@ -4291,7 +4338,7 @@ dependencies = [ "quick-xml 0.31.0", "rand 0.8.5", "reqwest", - "ring 0.17.7", + "ring 0.17.8", "serde", "serde_json", "snafu", @@ -4348,9 +4395,9 @@ dependencies = [ [[package]] name = "openidconnect" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d6050f6a84b81f23c569f5607ad883293e57491036e318fafe6fc4895fadb1" +checksum = "f47e80a9cfae4462dd29c41e987edd228971d6565553fbc14b8a11e666d91590" dependencies = [ "base64 0.13.1", "chrono", @@ -4628,25 +4675,14 @@ dependencies = [ "zip", ] -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - [[package]] name = "phf" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "phf_macros 0.11.2", - "phf_shared 0.11.2", + "phf_macros", + "phf_shared", ] [[package]] @@ -4655,18 +4691,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.5", + "phf_generator", + "phf_shared", ] [[package]] @@ -4675,46 +4701,23 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "phf_shared 0.11.2", + "phf_shared", "rand 0.8.5", ] -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "phf_macros" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", + "phf_generator", + "phf_shared", "proc-macro2", "quote", "syn 2.0.49", ] -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - [[package]] name = "phf_shared" version = "0.11.2" @@ -5196,9 +5199,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" dependencies = [ "cfg-if", "concurrent-queue", @@ -5287,12 +5290,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "pretty-hex" version = "0.3.0" @@ -5372,10 +5369,27 @@ dependencies = [ ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "proc-macro-rules" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "07c277e4e643ef00c1233393c673f655e3672cf7eb3ba08a00bdd0ea59139b5f" +dependencies = [ + "proc-macro-rules-macros", + "proc-macro2", + "syn 2.0.49", +] + +[[package]] +name = "proc-macro-rules-macros" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "207fffb0fe655d1d47f6af98cc2793405e85929bdbc420d685554ff07be27ac7" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.49", +] [[package]] name = "proc-macro2" @@ -5853,9 +5867,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" dependencies = [ "async-compression 0.4.6", "base64 0.21.7", @@ -5882,8 +5896,6 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -5932,16 +5944,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", + "cfg-if", "getrandom 0.2.12", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -6169,7 +6182,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring 0.17.7", + "ring 0.17.8", "rustls-webpki 0.101.7", "sct", ] @@ -6181,7 +6194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" dependencies = [ "log", - "ring 0.17.7", + "ring 0.17.8", "rustls-pki-types", "rustls-webpki 0.102.2", "subtle", @@ -6215,13 +6228,25 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "048a63e5b3ac996d78d402940b5fa47973d2d080c6c6fffa1d0f19c4445310b7" +[[package]] +name = "rustls-tokio-stream" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded7a36e8ac05b8ada77a84c5ceec95361942ee9dedb60a82f93f788a791aae8" +dependencies = [ + "futures", + "rustls 0.21.10", + "socket2 0.5.5", + "tokio", +] + [[package]] name = "rustls-webpki" version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -6231,7 +6256,7 @@ version = "0.102.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "rustls-pki-types", "untrusted 0.9.0", ] @@ -6261,7 +6286,7 @@ dependencies = [ "log", "malachite-bigint", "num-traits", - "phf 0.11.2", + "phf", "phf_codegen", "rustc-hash", "rustpython-ast", @@ -6305,6 +6330,12 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +[[package]] +name = "ryu-js" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4950d85bc52415f8432144c97c4791bd0c4f7954de32a7270ee9cccd3c22b12b" + [[package]] name = "safetensors" version = "0.4.2" @@ -6410,7 +6441,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -6528,15 +6559,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "serde_bytes" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.196" @@ -6647,15 +6669,14 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.111.0" +version = "0.171.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309b3060a9627882514f3a3ce3cc08ceb347a76aeeadc58f138c3f189cf88b71" +checksum = "88a2746b1f9e4015ee5f325bb87ab0f1891b76c38dfb1675bc83857eaf6451d0" dependencies = [ "bytes", "derive_more", "num-bigint", "serde", - "serde_bytes", "smallvec", "thiserror", "v8", @@ -6953,6 +6974,22 @@ dependencies = [ "url", ] +[[package]] +name = "sourcemap" +version = "7.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10da010a590ed2fa9ca8467b00ce7e9c5a8017742c0c09c45450efc172208c4b" +dependencies = [ + "data-encoding", + "debugid", + "if_chain", + "rustc_version 0.2.3", + "serde", + "serde_json", + "unicode-id", + "url", +] + [[package]] name = "spin" version = "0.5.2" @@ -7288,39 +7325,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro2", - "quote", -] - [[package]] name = "string_enum" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fa4d4f81d7c05b9161f8de839975d3326328b8ba2831164b465524cc2f55252" +checksum = "1b650ea2087d32854a0f20b837fc56ec987a1cb4f758c9757e1171ee9812da63" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "swc_macros_common", @@ -7390,23 +7400,35 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "swc_atoms" -version = "0.5.8" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8066e17abb484602da673e2d35138ab32ce53f26368d9c92113510e1659220b" +checksum = "7d538eaaa6f085161d088a04cf0a3a5a52c5a7f2b3bd9b83f73f058b0ed357c0" dependencies = [ + "hstr", "once_cell", "rustc-hash", "serde", - "string_cache", - "string_cache_codegen", - "triomphe", +] + +[[package]] +name = "swc_cached" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630c761c74ac8021490b78578cc2223aa4a568241e26505c27bf0e4fd4ad8ec2" +dependencies = [ + "ahash 0.8.8", + "anyhow", + "dashmap", + "once_cell", + "regex", + "serde", ] [[package]] name = "swc_common" -version = "0.31.21" +version = "0.33.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5823ef063f116ad281cde9700f5be6dfb182e543ce3f62c42cee1c03ffbc6b" +checksum = "095c158fe55b36faeebb4274692643a6d7cdc5b7902e1d5968ddbe52b7de1d1c" dependencies = [ "ast_node", "better_scoped_tls", @@ -7419,8 +7441,7 @@ dependencies = [ "rustc-hash", "serde", "siphasher", - "sourcemap", - "string_cache", + "sourcemap 6.4.1", "swc_atoms", "swc_eq_ignore_macros", "swc_visit", @@ -7431,23 +7452,24 @@ dependencies = [ [[package]] name = "swc_config" -version = "0.1.7" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba1c7a40d38f9dd4e9a046975d3faf95af42937b34b2b963be4d8f01239584b" +checksum = "ce837c5eae1cb200a310940de989fd9b3d12ed62d7752bc69b39ef8aa775ec04" dependencies = [ - "indexmap 1.9.3", + "anyhow", + "indexmap 2.2.3", "serde", "serde_json", + "swc_cached", "swc_config_macro", ] [[package]] name = "swc_config_macro" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b5aaca9a0082be4515f0fbbecc191bf5829cd25b5b9c0a2810f6a2bb0d6829" +checksum = "8b2574f75082322a27d990116cd2a24de52945fc94172b24ca0b3e9e2a6ceb6b" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "swc_macros_common", @@ -7456,13 +7478,14 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.107.7" +version = "0.112.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7191c8c57af059b75a2aadc927a2608c3962d19e4d09ce8f9c3f03739ddf833" +checksum = "852a48a24a2533de88298c6b25355bc68fdee31ac21cb4fb8939b7001715353c" dependencies = [ "bitflags 2.4.2", "is-macro 0.3.5", "num-bigint", + "phf", "scoped-tls", "serde", "string_enum", @@ -7473,16 +7496,16 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.142.17" +version = "0.148.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4e3ee8a1f0bfaf630febbe0f6a03f2c28d66d373a9bbdb3f500f6bfb536b43" +checksum = "d79df3f8c5ed028fce5dc24acb83002c0854f8b9d7e893292aeee394a6b9eaf4" dependencies = [ "memchr", "num-bigint", "once_cell", "rustc-hash", "serde", - "sourcemap", + "sourcemap 6.4.1", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -7492,11 +7515,10 @@ dependencies = [ [[package]] name = "swc_ecma_codegen_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcdff076dccca6cc6a0e0b2a2c8acfb066014382bc6df98ec99e755484814384" +checksum = "394b8239424b339a12012ceb18726ed0244fce6bf6345053cb9320b2791dcaa5" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "swc_macros_common", @@ -7505,26 +7527,29 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.43.23" +version = "0.45.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f47bb1ab686f603da93a8b6e559d69b42369ab47d5dee6bdda38ae5902dc2a" +checksum = "7c16051bce5421992a1b49350735bf4d110f761fd68ae7098af17a64ad639b8d" dependencies = [ "anyhow", "pathdiff", "serde", + "swc_atoms", "swc_common", "tracing", ] [[package]] name = "swc_ecma_parser" -version = "0.137.15" +version = "0.143.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c0d554865a63bfa58cf1c433fa91d7d4adf40030fa8e4530e8065d0578166a" +checksum = "90ff55811ed5de14b05e9a2979bae2bce3c807582f559b4325948463265307d9" dependencies = [ "either", + "new_debug_unreachable", "num-bigint", "num-traits", + "phf", "serde", "smallvec", "smartstring", @@ -7538,15 +7563,15 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.130.24" +version = "0.137.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8d8ca5dd849cea79e6a9792d725f4082ad3ade7a9541fba960c42d55ae778f2" +checksum = "803bb435fdd532d5c931f0d487e48dbc94750d26c9336d79a6f1c04c62f08d93" dependencies = [ "better_scoped_tls", "bitflags 2.4.2", - "indexmap 1.9.3", + "indexmap 2.2.3", "once_cell", - "phf 0.10.1", + "phf", "rustc-hash", "serde", "smallvec", @@ -7561,9 +7586,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.119.24" +version = "0.126.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a09d0e350963d4fb14bf9dc31c85eb28e58a88614e779c75f49296710f9cb381" +checksum = "486479e75907547d4c65ca6deed8faa465a2e9475cc9605be36a0e5eb609f578" dependencies = [ "swc_atoms", "swc_common", @@ -7575,11 +7600,10 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_macros" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f59c4b6ed5d78d3ad9fc7c6f8ab4f85bba99573d31d9a2c0a712077a6b45efd2" +checksum = "17e309b88f337da54ef7fe4c5b99c2c522927071f797ee6c9fb8b6bf2d100481" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "swc_macros_common", @@ -7588,9 +7612,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.164.30" +version = "0.171.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d3a04de35f6c79d8f343822138e7313934d3530cc4e4f891a079f7e2415c1a" +checksum = "e2822bc6c28bb1a96090a3b2caa28f45efbaecb333714d30868a2390eaae943f" dependencies = [ "either", "rustc-hash", @@ -7608,13 +7632,13 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.176.34" +version = "0.183.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "607017e6fbfe3229b69ffce7b47383eb9b62025ea93a50cd1cc1788d2a29a4ca" +checksum = "8984ebb8955116c426457a0c70b0aa9a08a06656e245781ff617a9cd1e289697" dependencies = [ - "base64 0.13.1", + "base64 0.21.7", "dashmap", - "indexmap 1.9.3", + "indexmap 2.2.3", "once_cell", "serde", "sha-1", @@ -7632,10 +7656,11 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.180.33" +version = "0.188.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea349e787a62af0dcf1b8b52d507045345871571c18cb78a2f892912f7d6b753" +checksum = "a2e898fbab993abb60fb67009521908f2317f1d33f804e5b38d769f52e58572e" dependencies = [ + "ryu-js", "serde", "swc_atoms", "swc_common", @@ -7648,11 +7673,11 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.120.19" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb60e20e1eb9e9f7c88d99ac8659fd0561d70abd27853f550fbd907a448c878" +checksum = "8ff9e77ea18468895d26bd38656885860fede2acd24d1687f64363aaf8910441" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.2.3", "num_cpus", "once_cell", "rustc-hash", @@ -7666,9 +7691,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.93.7" +version = "0.98.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb23a48abd9f5731b6275dbf4ea89f6e03dc60b7c8e3e1e383bb4a6c39fd7e25" +checksum = "cdb71511a816c7c84ddc96e6939389be261caf20858486a5e76948551f110e1f" dependencies = [ "num-bigint", "swc_atoms", @@ -7680,11 +7705,10 @@ dependencies = [ [[package]] name = "swc_eq_ignore_macros" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a95d367e228d52484c53336991fdcf47b6b553ef835d9159db4ba40efb0ee8" +checksum = "695a1d8b461033d32429b5befbf0ad4d7a2c4d6ba9cd5ba4e0645c615839e8e4" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "syn 2.0.49", @@ -7692,11 +7716,10 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a273205ccb09b51fabe88c49f3b34c5a4631c4c00a16ae20e03111d6a42e832" +checksum = "50176cfc1cbc8bb22f41c6fe9d1ec53fbe057001219b5954961b8ad0f336fce9" dependencies = [ - "pmutil 0.6.1", "proc-macro2", "quote", "syn 2.0.49", @@ -7704,9 +7727,9 @@ dependencies = [ [[package]] name = "swc_visit" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e87c337fbb2d191bf371173dea6a957f01899adb8f189c6c31b122a6cfc98fc3" +checksum = "b27078d8571abe23aa52ef608dd1df89096a37d867cf691cbb4f4c392322b7c9" dependencies = [ "either", "swc_visit_macros", @@ -7714,9 +7737,9 @@ dependencies = [ [[package]] name = "swc_visit_macros" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f322730fb82f3930a450ac24de8c98523af7d34ab8cb2f46bcb405839891a99" +checksum = "fa8bb05975506741555ea4d10c3a3bdb0e2357cd58e1a4a4332b8ebb4b44c34d" dependencies = [ "Inflector", "pmutil 0.6.1", @@ -7805,27 +7828,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tap" version = "1.0.1" @@ -8119,7 +8121,7 @@ dependencies = [ "log", "parking_lot", "percent-encoding", - "phf 0.11.2", + "phf", "pin-project-lite", "postgres-protocol", "postgres-types", @@ -8490,16 +8492,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "triomphe" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" -dependencies = [ - "serde", - "stable_deref_trait", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -8820,14 +8812,14 @@ dependencies = [ [[package]] name = "v8" -version = "0.74.3" +version = "0.83.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eedac634b8dd39b889c5b62349cbc55913780226239166435c5cf66771792ea" +checksum = "9f6c8a960dd2eb74b22eda64f7e9f3d1688f82b80202828dc0425ebdeda826ef" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "fslock", "once_cell", - "which", + "which 5.0.0", ] [[package]] @@ -8990,9 +8982,9 @@ dependencies = [ [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -9036,19 +9028,10 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "untrusted 0.9.0", ] -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - [[package]] name = "webpki-roots" version = "0.25.4" @@ -9076,6 +9059,19 @@ dependencies = [ "rustix 0.38.31", ] +[[package]] +name = "which" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.31", + "windows-sys 0.48.0", +] + [[package]] name = "whoami" version = "1.4.1" @@ -9125,6 +9121,7 @@ dependencies = [ "axum", "base64 0.21.7", "chrono", + "deno_core", "dotenv", "futures", "gethostname", @@ -9367,7 +9364,7 @@ dependencies = [ "async-recursion", "itertools 0.12.1", "lazy_static", - "phf 0.11.2", + "phf", "regex", "rustpython-parser", "serde_json", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 0921513072..9d41984f24 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -69,6 +69,7 @@ uuid.workspace = true gethostname.workspace = true serde_json.workspace = true serde.workspace = true +deno_core.workspace = true pg-embed = {git = "https://github.com/faokunega/pg-embed", optional = true, default-features = false, features = ['rt_tokio']} [dev-dependencies] @@ -141,19 +142,19 @@ tokio-util = { version = "^0", features = ["io"] } json-pointer = "^0" itertools = "^0" regex = "^1" -deno_fetch = "0.139.0" -deno_tls = "0.102.0" -deno_console = "0.115.0" -deno_url = "0.115.0" -deno_webidl = "0.115.0" -deno_web = "0.146.0" -deno_core = "0.200.0" -deno_ast = { version = "0.28.0", features = ["transpiling"] } +deno_fetch = "0.162.0" +deno_tls = "0.125.0" +deno_console = "0.138.0" +deno_url = "0.138.0" +deno_webidl = "0.138.0" +deno_web = "0.169.0" +deno_core = "0.262.0" +deno_ast = { version = "0.33.3", features = ["transpiling"] } async-recursion = "^1" -swc_common = "0.31.21" -swc_ecma_parser = "0.137.15" -swc_ecma_ast = "0.107.7" -swc_ecma_visit = "0.93.7" +swc_common = "=0.33.17" +swc_ecma_parser = "=0.143.3" +swc_ecma_ast = "=0.112.2" +swc_ecma_visit = "=0.98.2" base64 = "0.21.0" hmac = "0.12.1" sha2 = "0.10.6" diff --git a/backend/src/main.rs b/backend/src/main.rs index feee88adf3..0e6e72094a 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -62,8 +62,34 @@ mod monitor; #[cfg(feature = "pg_embed")] mod pg_embed; -#[tokio::main] -async fn main() -> anyhow::Result<()> { +#[inline(always)] +fn create_and_run_current_thread_inner(future: F) -> R +where + F: std::future::Future + 'static, + R: Send + 'static, +{ + let rt = tokio::runtime::Builder::new_multi_thread() + .enable_all() + .worker_threads(32) + .build() + .unwrap(); + + // Since this is the main future, we want to box it in debug mode because it tends to be fairly + // large and the compiler won't optimize repeated copies. We also make this runtime factory + // function #[inline(always)] to avoid holding the unboxed, unused future on the stack. + #[cfg(debug_assertions)] + // SAFETY: this this is guaranteed to be running on a current-thread executor + let future = Box::pin(future); + + rt.block_on(future) +} + +pub fn main() -> anyhow::Result<()> { + deno_core::JsRuntime::init_platform(None); + create_and_run_current_thread_inner(windmill_main()) +} + +async fn windmill_main() -> anyhow::Result<()> { dotenv::dotenv().ok(); if std::env::var("RUST_LOG").is_err() { diff --git a/backend/windmill-worker/build.rs b/backend/windmill-worker/build.rs index 31f8764bca..869403e55a 100644 --- a/backend/windmill-worker/build.rs +++ b/backend/windmill-worker/build.rs @@ -1,4 +1,3 @@ -use deno_core::OpState; use deno_fetch::FetchPermissions; use deno_web::{BlobStore, TimersPermission}; use std::env; @@ -8,6 +7,7 @@ use std::sync::Arc; pub struct PermissionsContainer; impl FetchPermissions for PermissionsContainer { + #[inline(always)] fn check_net_url( &mut self, _url: &deno_core::url::Url, @@ -16,6 +16,7 @@ impl FetchPermissions for PermissionsContainer { Ok(()) } + #[inline(always)] fn check_read( &mut self, _p: &std::path::Path, @@ -26,13 +27,10 @@ impl FetchPermissions for PermissionsContainer { } impl TimersPermission for PermissionsContainer { + #[inline(always)] fn allow_hrtime(&mut self) -> bool { true } - - fn check_unstable(&self, _state: &OpState, _api_name: &'static str) { - () - } } deno_core::extension!( @@ -70,6 +68,8 @@ fn main() { extensions: exts, compression_cb: None, with_runtime_cb: None, + skip_op_registration: false, }, + None, ); } diff --git a/backend/windmill-worker/src/js_eval.rs b/backend/windmill-worker/src/js_eval.rs index 70966d7e09..6b976477a1 100644 --- a/backend/windmill-worker/src/js_eval.rs +++ b/backend/windmill-worker/src/js_eval.rs @@ -10,10 +10,7 @@ use std::{cell::RefCell, collections::HashMap, rc::Rc, sync::Arc, env, io::{BufR use deno_ast::{ParseParams, SourceTextInfo}; use deno_core::{ - op, serde_v8, - v8::IsolateHandle, - v8::{self}, - Extension, JsRuntime, Op, OpState, RuntimeOptions, Snapshot, error::AnyError, + error::AnyError, op2, serde_v8, url, v8::{self, IsolateHandle}, Extension, JsRuntime, Op, OpState, PollEventLoopOptions, RuntimeOptions, Snapshot }; use deno_fetch::FetchPermissions; use deno_tls::{rustls::RootCertStore, rustls_pemfile}; @@ -69,6 +66,7 @@ impl deno_tls::RootCertStoreProvider for ContainerRootCertStoreProvider { pub struct PermissionsContainer; impl FetchPermissions for PermissionsContainer { + #[inline(always)] fn check_net_url( &mut self, _url: &deno_core::url::Url, @@ -77,6 +75,7 @@ impl FetchPermissions for PermissionsContainer { Ok(()) } + #[inline(always)] fn check_read( &mut self, _p: &std::path::Path, @@ -87,13 +86,10 @@ impl FetchPermissions for PermissionsContainer { } impl TimersPermission for PermissionsContainer { + #[inline(always)] fn allow_hrtime(&mut self) -> bool { true } - - fn check_unstable(&self, _state: &OpState, _api_name: &'static str) { - () - } } pub struct OptAuthedClient(Option); @@ -322,12 +318,12 @@ async function result_by_id(node_id) {{ }} }} else {{ let flow_job_id = "{}"; - return JSON.parse(await Deno.core.opAsync("op_get_id", [flow_job_id, node_id])); + return JSON.parse(await Deno.core.ops.op_get_id(flow_job_id, node_id)); }} }} async function get_result(id) {{ - return JSON.parse(await Deno.core.opAsync("op_get_result", [id])); + return JSON.parse(await Deno.core.ops.op_get_result(id)); }} const results = new Proxy({{}}, {{ get: function(target, name, receiver) {{ @@ -359,10 +355,10 @@ const results = new Proxy({{}}, {{ let api_code = format!( r#" async function variable(path) {{ - return await Deno.core.opAsync("op_variable", [path]); + return await Deno.core.ops.op_variable(path); }} async function resource(path) {{ - return await Deno.core.opAsync("op_resource", [path]); + return await Deno.core.ops.op_resource(path); }} "#, ); @@ -379,7 +375,7 @@ async function resource(path) {{ let code = format!( r#" function get_from_env(name) {{ - return JSON.parse(Deno.core.ops.op_get_context([name])); + return JSON.parse(Deno.core.ops.op_get_context(name)); }} {api_code} {} @@ -401,8 +397,9 @@ function get_from_env(name) {{ ); - let global = context.execute_script("", code.into())?; - let global = context.resolve_value(global).await?; + let script = context.execute_script("", code.into())?; + let fut = context.resolve(script); + let global = context.with_event_loop_promise(fut, PollEventLoopOptions::default()).await?; let scope = &mut context.handle_scope(); let local = v8::Local::new(scope, global); @@ -423,30 +420,30 @@ function get_from_env(name) {{ // } // TODO: Can we a) share the api configuration here somehow or b) just implement this natively in deno, via the deno client? -#[op] +#[op2(async)] +#[string] async fn op_variable( op_state: Rc>, - args: Vec, + #[string] path: String, ) -> Result { - let path = &args[0]; let client = op_state.borrow().borrow::().0.clone(); if let Some(client) = client { - Ok(client.get_variable_value(path).await?) + Ok(client.get_variable_value(&path).await?) } else { anyhow::bail!("No client found in op state"); } } -#[op] +#[op2(async)] +#[string] async fn op_get_result( op_state: Rc>, - args: Vec, + #[string] id: String, ) -> Result { - let id = &args[0]; let client = op_state.borrow().borrow::().0.clone(); if let Some(client) = client { let result = client - .get_completed_job_result::>(id, None) + .get_completed_job_result::>(&id, None) .await? .clone(); Ok(result.get().to_string()) @@ -455,18 +452,18 @@ async fn op_get_result( } } -#[op] +#[op2(async)] +#[string] async fn op_get_id( op_state: Rc>, - args: Vec, + #[string] flow_job_id: String, + #[string] node_id: String, ) -> Result, anyhow::Error> { - let flow_job_id = &args[0]; - let node_id = &args[1]; let client = op_state.borrow().borrow::().0.clone(); if let Some(client) = client { let result = client - .get_result_by_id::>>(flow_job_id, node_id, None) + .get_result_by_id::>>(&flow_job_id, &node_id, None) .await.ok(); if let Some(result) = result { Ok(result.map(|x| x.get().to_string())) @@ -478,16 +475,15 @@ async fn op_get_id( } } -#[op] +#[op2(async)] +#[serde] async fn op_resource( op_state: Rc>, - args: Vec, + #[string] path:String, ) -> Result { - let path = &args[0]; - let client = op_state.borrow().borrow::().0.clone(); if let Some(client) = client { - client.get_resource_value_interpolated(path, None).await + client.get_resource_value_interpolated(&path, None).await } else { anyhow::bail!("No client found in op state"); } @@ -498,28 +494,29 @@ pub struct TransformContext { pub flow_input: Option>>>, } -#[op] -fn op_get_context(op_state: Rc>, args: Vec) -> String { - let id = &args[0]; +#[op2] +#[string] +fn op_get_context(op_state: Rc>, #[string] id: &str) -> String { let ops = op_state.borrow(); let client = ops.borrow::(); if id == "flow_input" { - return client + client .flow_input .as_ref() .and_then(|x| serde_json::to_string(&x).ok()) - .unwrap_or_else(|| "null".to_string()); - } - return client + .unwrap_or_else(|| "null".to_string()) + } else { + client .envs .get(id) .and_then(|x| serde_json::to_string(x).ok()) - .unwrap_or_else(String::new); + .unwrap_or_else(String::new) + } } pub fn transpile_ts(expr: String) -> anyhow::Result { let parsed = deno_ast::parse_module(ParseParams { - specifier: "eval.ts".to_string(), + specifier: url::Url::parse("file:///eval.ts")?, text_info: SourceTextInfo::from_string(expr), capture_tokens: false, scope_analysis: false, @@ -668,7 +665,7 @@ async fn eval_fetch(js_runtime: &mut JsRuntime, expr: &str) -> anyhow::Result", r#" let args = Deno.core.ops.op_get_static_args().map(JSON.parse) @@ -677,7 +674,10 @@ import("file:///eval.ts").then((module) => module.main(...args)).then(JSON.strin .to_string() .into(), )?; - let global = js_runtime.resolve_value(global).await?; + + let fut = js_runtime.resolve(script); + let global = js_runtime.with_event_loop_promise(fut, PollEventLoopOptions::default()).await?; + let scope = &mut js_runtime.handle_scope(); let local = v8::Local::new(scope, global); @@ -687,18 +687,19 @@ import("file:///eval.ts").then((module) => module.main(...args)).then(JSON.strin Ok(unsafe_raw(r.unwrap_or_else(|| "null".to_string()))) } -#[op] +#[op2] +#[serde] fn op_get_static_args(op_state: Rc>) -> Vec> { - return op_state.borrow().borrow::().args.iter().map(|x| x.as_ref().map(|y| y.get().to_string())).collect_vec(); + op_state.borrow().borrow::().args.iter().map(|x| x.as_ref().map(|y| y.get().to_string())).collect_vec() } -#[op] -fn op_log(op_state: Rc>, args: Vec) { +#[op2(fast)] +fn op_log(op_state: Rc>, #[string] log: &str) { op_state .borrow_mut() .borrow_mut::() .s - .push_str(args.get(0).unwrap()); + .push_str(log); } #[cfg(test)] diff --git a/backend/windmill-worker/src/runtime.js b/backend/windmill-worker/src/runtime.js index 8a23dc89a9..8390c04d91 100644 --- a/backend/windmill-worker/src/runtime.js +++ b/backend/windmill-worker/src/runtime.js @@ -1,7 +1,6 @@ import * as abortSignal from "ext:deno_web/03_abort_signal.js"; import * as base64 from "ext:deno_web/05_base64.js"; import * as console from "ext:deno_console/01_console.js"; -import DOMException from "ext:deno_web/01_dom_exception.js"; import * as encoding from "ext:deno_web/08_text_encoding.js"; import * as event from "ext:deno_web/02_event.js"; import * as fetch from "ext:deno_fetch/26_fetch.js"; @@ -21,6 +20,8 @@ import "ext:deno_web/04_global_interfaces.js"; import "ext:deno_web/13_message_port.js"; import "ext:deno_web/14_compression.js"; import "ext:deno_web/15_performance.js"; +import "ext:deno_web/16_image_data.js"; +import "ext:deno_fetch/27_eventsource.js"; globalThis.atob = base64.atob; globalThis.btoa = base64.btoa; diff --git a/frontend/src/lib/components/flows/flowStateUtils.ts b/frontend/src/lib/components/flows/flowStateUtils.ts index e96a60a961..38c6e5ae45 100644 --- a/frontend/src/lib/components/flows/flowStateUtils.ts +++ b/frontend/src/lib/components/flows/flowStateUtils.ts @@ -84,13 +84,16 @@ export async function createInlineScriptModule( return [flowModule, await loadFlowModuleState(flowModule)] } -export async function createLoop(id: string): Promise<[FlowModule, FlowModuleState]> { +export async function createLoop( + id: string, + enabledAi: boolean +): Promise<[FlowModule, FlowModuleState]> { const loopFlowModule: FlowModule = { id, value: { type: 'forloopflow', modules: [], - iterator: { type: 'javascript', expr: '' }, + iterator: { type: 'javascript', expr: enabledAi ? '' : "['dynamic or static array']" }, skip_failures: true } } diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte index 041e6d92e5..c6e11c6dad 100644 --- a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte +++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte @@ -23,7 +23,7 @@ import { getDependentComponents } from '../flowExplorer' import type { FlowCopilotContext } from '$lib/components/copilot/flow' import { fade } from 'svelte/transition' - import { tutorialsToDo } from '$lib/stores' + import { copilotInfo, tutorialsToDo } from '$lib/stores' import FlowTutorials from '$lib/components/FlowTutorials.svelte' import { ignoredTutorials } from '$lib/components/tutorials/ignoredTutorials' @@ -61,7 +61,10 @@ if (wsScript) { ;[module, state] = await pickScript(wsScript.path, wsScript.summary, module.id, wsScript.hash) } else if (kind == 'forloop') { - ;[module, state] = await createLoop(module.id) + ;[module, state] = await createLoop( + module.id, + !disableAi && $copilotInfo.exists_openai_resource_path + ) } else if (kind == 'branchone') { ;[module, state] = await createBranches(module.id) } else if (kind == 'branchall') { diff --git a/frontend/src/lib/components/table/AutoDataTable.svelte b/frontend/src/lib/components/table/AutoDataTable.svelte index b9f62fb8f6..3ffd509f64 100644 --- a/frontend/src/lib/components/table/AutoDataTable.svelte +++ b/frontend/src/lib/components/table/AutoDataTable.svelte @@ -161,9 +161,13 @@ return true } }) - .map(({ rowData }) => Object.values(rowData) - .map((field) => /[\",\n]/.test(field) ? "\"" + field.replace(/"/g, "\"\"") + "\"" : row) - .join(',')) + .map(({ rowData }) => + Object.values(rowData) + .map((field) => + /[\",\n]/.test(field) ? '"' + field.replace(/"/g, '""') + '"' : field + ) + .join(',') + ) ].join('\n') const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' })