diff --git a/CHANGELOG.md b/CHANGELOG.md index 268255beb9..f8bc008a14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [1.406.0](https://github.com/windmill-labs/windmill/compare/v1.405.5...v1.406.0) (2024-10-09) + + +### Features + +* **frontend:** components can be moved inside containers by holding ctrl/cmd ([111bfc6](https://github.com/windmill-labs/windmill/commit/111bfc6a659037ae7029e8f557256e2fffcf979b)) +* **monitoring:** Critical Alerts for Jobs Waiting in Queue [enterprise] ([#4491](https://github.com/windmill-labs/windmill/issues/4491)) ([d90d6c2](https://github.com/windmill-labs/windmill/commit/d90d6c2b896c5f99e00681656f376b180901f272)) + + +### Bug Fixes + +* **cli:** instance sync push does not require sync pull ([257f097](https://github.com/windmill-labs/windmill/commit/257f0971f86938da71b879f32d93473976eaa920)) +* remove monaco-editor for app preview code path for faster app loads ([7b05033](https://github.com/windmill-labs/windmill/commit/7b0503332d1bdd7f5999a5ef99150f8c9f6f18be)) + ## [1.405.5](https://github.com/windmill-labs/windmill/compare/v1.405.4...v1.405.5) (2024-10-04) diff --git a/Dockerfile b/Dockerfile index 8f5ccc71e0..a896a87b26 100644 --- a/Dockerfile +++ b/Dockerfile @@ -175,7 +175,7 @@ RUN /usr/local/bin/python3 -m pip install pip-tools COPY --from=builder /frontend/build /static_frontend COPY --from=builder /windmill/target/release/windmill ${APP}/windmill -COPY --from=denoland/deno:1.46.3 --chmod=755 /usr/bin/deno /usr/bin/deno +COPY --from=denoland/deno:2.0.0 --chmod=755 /usr/bin/deno /usr/bin/deno COPY --from=oven/bun:1.1.27 /usr/local/bin/bun /usr/bin/bun diff --git a/backend/.sqlx/query-0ee63ef2dd5c88edba2a1f56d31f29876724922f148dad7af35b36efbf70207a.json b/backend/.sqlx/query-0ee63ef2dd5c88edba2a1f56d31f29876724922f148dad7af35b36efbf70207a.json new file mode 100644 index 0000000000..5cb52b6ead --- /dev/null +++ b/backend/.sqlx/query-0ee63ef2dd5c88edba2a1f56d31f29876724922f148dad7af35b36efbf70207a.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM healthchecks WHERE check_type = $1", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [] + }, + "hash": "0ee63ef2dd5c88edba2a1f56d31f29876724922f148dad7af35b36efbf70207a" +} diff --git a/backend/.sqlx/query-2041526bc58872d71f91f7698144039bd67f8e37895befa94a15b7e4019e114b.json b/backend/.sqlx/query-2041526bc58872d71f91f7698144039bd67f8e37895befa94a15b7e4019e114b.json new file mode 100644 index 0000000000..cbe5ec7607 --- /dev/null +++ b/backend/.sqlx/query-2041526bc58872d71f91f7698144039bd67f8e37895befa94a15b7e4019e114b.json @@ -0,0 +1,12 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM healthchecks WHERE healthy = true AND created_at < NOW() - INTERVAL '14 days'", + "describe": { + "columns": [], + "parameters": { + "Left": [] + }, + "nullable": [] + }, + "hash": "2041526bc58872d71f91f7698144039bd67f8e37895befa94a15b7e4019e114b" +} diff --git a/backend/.sqlx/query-27920aaa55666ffc14a36a247f89ff7994ee40d3953b9f772d0e0ab999bccb7b.json b/backend/.sqlx/query-27920aaa55666ffc14a36a247f89ff7994ee40d3953b9f772d0e0ab999bccb7b.json new file mode 100644 index 0000000000..26a8ba2ee2 --- /dev/null +++ b/backend/.sqlx/query-27920aaa55666ffc14a36a247f89ff7994ee40d3953b9f772d0e0ab999bccb7b.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO healthchecks (check_type, healthy) VALUES ($1, false)", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Varchar" + ] + }, + "nullable": [] + }, + "hash": "27920aaa55666ffc14a36a247f89ff7994ee40d3953b9f772d0e0ab999bccb7b" +} diff --git a/backend/.sqlx/query-34a45763bb4d14162f4cd3fa07cd8020f1f6085f4ee85f5eab3458637edf26cd.json b/backend/.sqlx/query-34a45763bb4d14162f4cd3fa07cd8020f1f6085f4ee85f5eab3458637edf26cd.json new file mode 100644 index 0000000000..f9dc00c28c --- /dev/null +++ b/backend/.sqlx/query-34a45763bb4d14162f4cd3fa07cd8020f1f6085f4ee85f5eab3458637edf26cd.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT created_at FROM healthchecks WHERE check_type = $1 ORDER BY created_at DESC LIMIT 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "created_at", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false + ] + }, + "hash": "34a45763bb4d14162f4cd3fa07cd8020f1f6085f4ee85f5eab3458637edf26cd" +} diff --git a/backend/.sqlx/query-3ecb25b05d6c14b499f9b00af42ae74134728899f6b59c68b246979bc5143e30.json b/backend/.sqlx/query-3ecb25b05d6c14b499f9b00af42ae74134728899f6b59c68b246979bc5143e30.json new file mode 100644 index 0000000000..a652b56bad --- /dev/null +++ b/backend/.sqlx/query-3ecb25b05d6c14b499f9b00af42ae74134728899f6b59c68b246979bc5143e30.json @@ -0,0 +1,29 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT COUNT(*) as count, \n MIN(scheduled_for) as oldest_job\n FROM queue \n WHERE tag = $1 \n AND scheduled_for <= NOW() - $2::interval \n AND running = false\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "count", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "oldest_job", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Interval" + ] + }, + "nullable": [ + null, + null + ] + }, + "hash": "3ecb25b05d6c14b499f9b00af42ae74134728899f6b59c68b246979bc5143e30" +} diff --git a/backend/.sqlx/query-900ac59515e4283f4b57516210575dfe92f74a7220ed69e61899a6e0f053d9cd.json b/backend/.sqlx/query-900ac59515e4283f4b57516210575dfe92f74a7220ed69e61899a6e0f053d9cd.json new file mode 100644 index 0000000000..0bcd4d447f --- /dev/null +++ b/backend/.sqlx/query-900ac59515e4283f4b57516210575dfe92f74a7220ed69e61899a6e0f053d9cd.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO concurrency_locks (id, last_locked_at) VALUES ($1, NOW()) ON CONFLICT (id) DO NOTHING", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Varchar" + ] + }, + "nullable": [] + }, + "hash": "900ac59515e4283f4b57516210575dfe92f74a7220ed69e61899a6e0f053d9cd" +} diff --git a/backend/.sqlx/query-ad42118ccf6a9d2d1e072c4df064ddf964a5b3cd088fc162d0d8222325d4a5ea.json b/backend/.sqlx/query-ad42118ccf6a9d2d1e072c4df064ddf964a5b3cd088fc162d0d8222325d4a5ea.json new file mode 100644 index 0000000000..c43c2a2a65 --- /dev/null +++ b/backend/.sqlx/query-ad42118ccf6a9d2d1e072c4df064ddf964a5b3cd088fc162d0d8222325d4a5ea.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "UPDATE healthchecks SET healthy = true WHERE check_type = $1", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [] + }, + "hash": "ad42118ccf6a9d2d1e072c4df064ddf964a5b3cd088fc162d0d8222325d4a5ea" +} diff --git a/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json b/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json index 99269c9851..54e94cfb8f 100644 --- a/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json +++ b/backend/.sqlx/query-b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76.json @@ -18,8 +18,8 @@ "Left": [] }, "nullable": [ - true, - false + false, + true ] }, "hash": "b3dbdfb50ee8118bdaed3164b210cb549a34b96554ae1872355b90304f5dcb76" diff --git a/backend/.sqlx/query-b49b1eaf58e62063c7a03039d0c36e65991b1d21a3306390fb1c7ca38babafe3.json b/backend/.sqlx/query-b49b1eaf58e62063c7a03039d0c36e65991b1d21a3306390fb1c7ca38babafe3.json index 71aaf4ba90..cc825ff56f 100644 --- a/backend/.sqlx/query-b49b1eaf58e62063c7a03039d0c36e65991b1d21a3306390fb1c7ca38babafe3.json +++ b/backend/.sqlx/query-b49b1eaf58e62063c7a03039d0c36e65991b1d21a3306390fb1c7ca38babafe3.json @@ -52,7 +52,8 @@ "trigger", "failure", "command", - "approval" + "approval", + "preprocessor" ] } } diff --git a/backend/.sqlx/query-c4e1873bfc7b905e7299a021f4baa2a97e95f4797c5e11f37822e19828422b7e.json b/backend/.sqlx/query-c4e1873bfc7b905e7299a021f4baa2a97e95f4797c5e11f37822e19828422b7e.json new file mode 100644 index 0000000000..d3c16a5275 --- /dev/null +++ b/backend/.sqlx/query-c4e1873bfc7b905e7299a021f4baa2a97e95f4797c5e11f37822e19828422b7e.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "UPDATE concurrency_locks SET last_locked_at = NOW() WHERE id = $1 AND last_locked_at < NOW() - INTERVAL '1 second' * $2 RETURNING 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "?column?", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Text", + "Float8" + ] + }, + "nullable": [ + null + ] + }, + "hash": "c4e1873bfc7b905e7299a021f4baa2a97e95f4797c5e11f37822e19828422b7e" +} diff --git a/backend/.sqlx/query-eb932b613a6dbb2cdff97e5512d42b538ba83115c0ea798be00b01659600f45a.json b/backend/.sqlx/query-eb932b613a6dbb2cdff97e5512d42b538ba83115c0ea798be00b01659600f45a.json new file mode 100644 index 0000000000..7717a34760 --- /dev/null +++ b/backend/.sqlx/query-eb932b613a6dbb2cdff97e5512d42b538ba83115c0ea798be00b01659600f45a.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT EXISTS(SELECT 1 FROM healthchecks WHERE check_type = $1 AND healthy = false)", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "exists", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "eb932b613a6dbb2cdff97e5512d42b538ba83115c0ea798be00b01659600f45a" +} diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 3a92d9cf9a..e5aea58790 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -732,9 +732,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" -version = "1.5.7" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8191fb3091fa0561d1379ef80333c3c7191c6f0435d986e85821bcf7acbd1126" +checksum = "7198e6f03240fdceba36656d8be440297b6b82270325908c7381f37d826a74f6" dependencies = [ "aws-credential-types", "aws-runtime", @@ -799,9 +799,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.44.0" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b90cfe6504115e13c41d3ea90286ede5aa14da294f3fe077027a6e83850843c" +checksum = "e33ae899566f3d395cbf42858e433930682cc9c1889fa89318896082fef45efb" dependencies = [ "aws-credential-types", "aws-runtime", @@ -821,9 +821,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.45.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167c0fad1f212952084137308359e8e4c4724d1c643038ce163f06de9662c1d0" +checksum = "f39c09e199ebd96b9f860b0fce4b6625f211e064ad7c8693b72ecf7ef03881e0" dependencies = [ "aws-credential-types", "aws-runtime", @@ -843,9 +843,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.44.0" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb5f98188ec1435b68097daa2a37d74b9d17c9caa799466338a8d1544e71b9d" +checksum = "3d95f93a98130389eb6233b9d615249e543f6c24a68ca1f109af9ca5164a8765" dependencies = [ "aws-credential-types", "aws-runtime", @@ -939,9 +939,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1ce695746394772e7000b39fe073095db6d45a862d0767dd5ad0ac0d7f8eb87" +checksum = "a065c0fe6fdbdf9f11817eb68582b2ab4aff9e9c39e986ae48f7ec576c6322db" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -1201,9 +1201,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.4" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "bitflags 2.6.0", "cexpr", @@ -1441,6 +1441,9 @@ name = "bumpalo" version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +dependencies = [ + "allocator-api2", +] [[package]] name = "bytecheck" @@ -1475,9 +1478,9 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", @@ -1596,9 +1599,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.24" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812acba72f0a070b003d3697490d2b55b837230ae7c6c6497f05cc2ddbb8d938" +checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" dependencies = [ "jobserver", "libc", @@ -1712,9 +1715,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -1722,9 +1725,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -2540,11 +2543,10 @@ dependencies = [ [[package]] name = "deno_ast" -version = "0.40.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d08372522975cce97fe0efbe42fea508c76eea4421619de6d63baae32792f7d" +checksum = "b2b9d03b1bbeeecdac54367f075d572131736d06c5be3bc49037855bc5ab1bbb" dependencies = [ - "anyhow", "base64 0.21.7", "deno_media_type", "deno_terminal 0.1.1", @@ -2552,15 +2554,16 @@ dependencies = [ "once_cell", "percent-encoding", "serde", + "sourcemap 9.0.0", "swc_atoms", - "swc_common 0.34.4", + "swc_common", "swc_config", "swc_config_macro", - "swc_ecma_ast 0.115.1", + "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_codegen_macros", "swc_ecma_loader", - "swc_ecma_parser 0.146.12", + "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", @@ -2568,7 +2571,7 @@ dependencies = [ "swc_ecma_transforms_react", "swc_ecma_transforms_typescript", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", "swc_eq_ignore_macros", "swc_macros_common", "swc_visit", @@ -2581,18 +2584,18 @@ dependencies = [ [[package]] name = "deno_console" -version = "0.163.0" +version = "0.171.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4eea4d3eeb96874c63fde5001d0242042957b600000f179af4ad3235a411139" +checksum = "144108c8bb93b1df2cda4583d9beb8cd4e18798d3e030af8b07d2c55c1e3259b" dependencies = [ "deno_core", ] [[package]] name = "deno_core" -version = "0.299.0" +version = "0.311.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428488cc6b392a199a159054da754f56a1fdc63ee03f16be2c21cbd22e936e7b" +checksum = "5e09bd55da542fa1fde753aff617c355b5d782e763ab2a19e4371a56d7844cac" dependencies = [ "anyhow", "bincode", @@ -2613,7 +2616,7 @@ dependencies = [ "serde_json", "serde_v8", "smallvec", - "sourcemap", + "sourcemap 8.0.1", "static_assertions", "tokio", "url", @@ -2628,9 +2631,9 @@ checksum = "a13951ea98c0a4c372f162d669193b4c9d991512de9f2381dd161027f34b26b1" [[package]] name = "deno_fetch" -version = "0.187.0" +version = "0.195.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f11f1ca946366c42e7daaab0d747720710dbb11511d9bfce1b328dd71b58f87" +checksum = "8a91340a1d60cebe1392e4b6e1614709ab5fdcfc1f55842561e498d7ef9b2cb9" dependencies = [ "base64 0.21.7", "bytes", @@ -2639,6 +2642,7 @@ dependencies = [ "deno_permissions", "deno_tls", "dyn-clone", + "error_reporter", "http 1.1.0", "http-body-util", "hyper 1.4.1", @@ -2654,7 +2658,7 @@ dependencies = [ "tokio-socks", "tokio-util", "tower 0.4.13", - "tower-http", + "tower-http 0.6.1", "tower-service", ] @@ -2684,9 +2688,9 @@ dependencies = [ [[package]] name = "deno_net" -version = "0.155.0" +version = "0.163.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3f337ffe00186bc67f989f5ba2759418bb43e1352b045aa9e715e216c632dc" +checksum = "5b769fd37232a38bf15a3834c9da8cc99409b52d0cf4a936f3117744369f8063" dependencies = [ "deno_core", "deno_permissions", @@ -2702,9 +2706,9 @@ dependencies = [ [[package]] name = "deno_ops" -version = "0.175.0" +version = "0.187.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2b71759647722be6ae051919b75cb66b3dccafe61b53c75ad5a6fad9d0ee4a" +checksum = "e040fd4def8a67538fe38c9955fd970efc9f44284bd69d44f8992a456afd665d" dependencies = [ "proc-macro-rules", "proc-macro2", @@ -2716,17 +2720,30 @@ dependencies = [ ] [[package]] -name = "deno_permissions" -version = "0.23.0" +name = "deno_path_util" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e67d40735d56445409349cec3eafe25668814c7f3794158c62dfd1b147b13c" +checksum = "4889646c1ce8437a6fde3acb057fd7e2d039e62c61f5063fc125ed1ede114dc6" +dependencies = [ + "percent-encoding", + "thiserror", + "url", +] + +[[package]] +name = "deno_permissions" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1328c2d1d26cd066ba9d7d5fb3451081219e373342423f78d7a1b73bfac9849" dependencies = [ "deno_core", + "deno_path_util", "deno_terminal 0.2.0", "fqdn", "libc", "log", "once_cell", + "percent-encoding", "serde", "which 4.4.2", "winapi", @@ -2754,9 +2771,9 @@ dependencies = [ [[package]] name = "deno_tls" -version = "0.150.0" +version = "0.158.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b995ce6016bc4f05453c8632a9d42a58536c1cbb7ece09f1aa66dda3f8d474b" +checksum = "22a1abc6bd8af41aa2496ceceef94f4277092c781a9495c437327a17659553a2" dependencies = [ "deno_core", "deno_native_certs", @@ -2781,9 +2798,9 @@ dependencies = [ [[package]] name = "deno_url" -version = "0.163.0" +version = "0.171.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a05423871cf79fc0e73b9117b114045b7936a60b87a188b673a2b377a65eaa1" +checksum = "68eb6834d66ff13c19633b0e1b621292461b744858130b0a1c51f34a57ba1a03" dependencies = [ "deno_core", "urlpattern", @@ -2791,9 +2808,9 @@ dependencies = [ [[package]] name = "deno_web" -version = "0.194.0" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884761df6d0bbe2869a8bfb3f4437aef75686dcbedd82dd4d23d1e7b06d50b14" +checksum = "e0862246372f5b559b788aa07ca1b9385909d59630251156a54c4d2c5342d1eb" dependencies = [ "async-trait", "base64-simd 0.8.0", @@ -2810,9 +2827,9 @@ dependencies = [ [[package]] name = "deno_webidl" -version = "0.163.0" +version = "0.171.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564c240839f20b8808d0182a0c1a85428a92fb7fe6cc6ea256adda11ad08a8d" +checksum = "5e969b61b740479379eaf303a6900d11f162f9de610640398f89f0aa58abb7c4" dependencies = [ "deno_core", ] @@ -3016,16 +3033,16 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dprint-swc-ext" -version = "0.17.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b909f9f9b22a6265839887544dce97b0b8e2b2635abf622f45613deb3de63e0" +checksum = "0ba28c12892aadb751c2ba7001d8460faee4748a04b4edc51c7121cc67ee03db" dependencies = [ "num-bigint", "rustc-hash 1.1.0", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", - "swc_ecma_parser 0.146.12", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", "text_lines", ] @@ -3182,6 +3199,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "error_reporter" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31ae425815400e5ed474178a7a22e275a9687086a12ca63ec793ff292d8fdae8" + [[package]] name = "esaxx-rs" version = "0.1.10" @@ -3328,6 +3351,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -3453,9 +3482,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3468,9 +3497,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3478,15 +3507,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3506,9 +3535,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -3540,9 +3569,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -3551,21 +3580,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3950,6 +3979,11 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] [[package]] name = "hashlink" @@ -4270,9 +4304,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -4758,11 +4792,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -5052,14 +5086,13 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -5425,12 +5458,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" -dependencies = [ - "portable-atomic", -] +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oneshot" @@ -5835,18 +5865,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", @@ -6102,9 +6132,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" dependencies = [ "unicode-ident", ] @@ -7217,7 +7247,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b75583aad4a51c50fc0af69c230d18078c9d5a69a98d0f6013d01053acf744f4" dependencies = [ "base64 0.21.7", - "bindgen 0.69.4", + "bindgen 0.69.5", "chrono", "data-encoding", "derive_builder", @@ -7254,9 +7284,9 @@ checksum = "ece8e78b2f38ec51c51f5d475df0a7187ba5111b2a28bdc761ee05b075d40a71" [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ "windows-sys 0.59.0", ] @@ -7534,9 +7564,9 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.208.0" +version = "0.220.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583f3c71a6f7acc1711ad718a33f6e799bacdc711d297b15bb28533f32264c58" +checksum = "6e7a65d91d79acc82aa229aeb084f4a39bda269069bc1520df40f679495388e4" dependencies = [ "num-bigint", "serde", @@ -7547,9 +7577,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9720086b3357bcb44fce40117d769a4d068c70ecfa190850a980a71755f66fcc" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64 0.22.1", "chrono", @@ -7565,9 +7595,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1abbfe725f27678f4663bcacb75a83e829fd464c25d78dd038a3a29e307cec" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling 0.20.10", "proc-macro2", @@ -7837,6 +7867,25 @@ dependencies = [ "url", ] +[[package]] +name = "sourcemap" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dab08a862c70980b8e23698b507e272317ae52a608a164a844111f5372374f1f" +dependencies = [ + "base64-simd 0.7.0", + "bitvec", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash 1.1.0", + "rustc_version 0.2.3", + "serde", + "serde_json", + "unicode-id-start", + "url", +] + [[package]] name = "spin" version = "0.5.2" @@ -8254,6 +8303,19 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "swc_allocator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7016ee7a5186d6a80e381aa1926e0f3c7b06eaf444745ff7af3632e978eb8dc5" +dependencies = [ + "bumpalo", + "hashbrown 0.14.5", + "ptr_meta", + "rustc-hash 1.1.0", + "triomphe", +] + [[package]] name = "swc_atoms" version = "0.6.7" @@ -8282,9 +8344,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.33.26" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f9706038906e66f3919028f9f7a37f3ed552f1b85578e93f4468742e2da438" +checksum = "12d0a8eaaf1606c9207077d75828008cb2dfb51b095a766bd2b72ef893576e31" dependencies = [ "ast_node", "better_scoped_tls", @@ -8297,32 +8359,8 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "siphasher", - "swc_atoms", - "swc_eq_ignore_macros", - "swc_visit", - "tracing", - "unicode-width", - "url", -] - -[[package]] -name = "swc_common" -version = "0.34.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9087befec6b63911f9d2f239e4f91c9b21589c169b86ed2d616944d23cf4a243" -dependencies = [ - "ast_node", - "better_scoped_tls", - "cfg-if", - "either", - "from_variant", - "new_debug_unreachable", - "num-bigint", - "once_cell", - "rustc-hash 1.1.0", - "serde", - "siphasher", - "sourcemap", + "sourcemap 9.0.0", + "swc_allocator", "swc_atoms", "swc_eq_ignore_macros", "swc_visit", @@ -8333,9 +8371,9 @@ dependencies = [ [[package]] name = "swc_config" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b67e115ab136fe0eb03558bb0508ca7782eeb446a96d165508c48617e3fd94" +checksum = "4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000" dependencies = [ "anyhow", "indexmap 2.6.0", @@ -8359,26 +8397,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.113.7" +version = "0.118.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a534a8360a076a030989f6d121ba6044345594bdf0457c4629f432742026b8" -dependencies = [ - "bitflags 2.6.0", - "is-macro", - "num-bigint", - "phf", - "scoped-tls", - "string_enum", - "swc_atoms", - "swc_common 0.33.26", - "unicode-id-start", -] - -[[package]] -name = "swc_ecma_ast" -version = "0.115.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be1306930c235435a892104c00c2b5e16231043c085d5a10bd3e7537b15659b" +checksum = "a6f866d12e4d519052b92a0a86d1ac7ff17570da1272ca0c89b3d6f802cd79df" dependencies = [ "bitflags 2.6.0", "is-macro", @@ -8388,34 +8409,34 @@ dependencies = [ "serde", "string_enum", "swc_atoms", - "swc_common 0.34.4", + "swc_common", "unicode-id-start", ] [[package]] name = "swc_ecma_codegen" -version = "0.151.1" +version = "0.155.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5141a8cb4eb69e090e6aea5d49061b46919be5210f3d084f9d9ad63d30f5cff" +checksum = "cc7641608ef117cfbef9581a99d02059b522fcca75e5244fa0cbbd8606689c6f" dependencies = [ "memchr", "num-bigint", "once_cell", - "rustc-hash 1.1.0", "serde", - "sourcemap", + "sourcemap 9.0.0", + "swc_allocator", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "swc_ecma_codegen_macros", "tracing", ] [[package]] name = "swc_ecma_codegen_macros" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090e409af49c8d1a3c13b3aab1ed09dd4eda982207eb3e63c2ad342f072b49c8" +checksum = "859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca" dependencies = [ "proc-macro2", "quote", @@ -8425,23 +8446,23 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.46.1" +version = "0.49.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9febebf047d1286e7b723fa2758f3229da2c103834f3eaee69833f46692612" +checksum = "55fa3d55045b97894bfb04d38aff6d6302ac8a6a38e3bb3dfb0d20475c4974a9" dependencies = [ "anyhow", "pathdiff", "serde", "swc_atoms", - "swc_common 0.34.4", + "swc_common", "tracing", ] [[package]] name = "swc_ecma_parser" -version = "0.144.3" +version = "0.149.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0b4193b9c127db1990a5a08111aafe0122bc8b138646807c63f2a6521b7da4" +checksum = "683dada14722714588b56481399c699378b35b2ba4deb5c4db2fb627a97fb54b" dependencies = [ "either", "new_debug_unreachable", @@ -8453,39 +8474,17 @@ dependencies = [ "smartstring", "stacker", "swc_atoms", - "swc_common 0.33.26", - "swc_ecma_ast 0.113.7", - "tracing", - "typed-arena", -] - -[[package]] -name = "swc_ecma_parser" -version = "0.146.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e0c2e85f12c63b85c805e923079b04d1fb3e25edd069d638eed5f2098de74" -dependencies = [ - "either", - "new_debug_unreachable", - "num-bigint", - "num-traits", - "phf", - "serde", - "smallvec", - "smartstring", - "stacker", - "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "tracing", "typed-arena", ] [[package]] name = "swc_ecma_transforms_base" -version = "0.140.3" +version = "0.145.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37dc505c92af56d0f77cf6f31a6ccd37ac40cad1e01ff77277e0b1c70e8f8ff" +checksum = "65f21494e75d0bd8ef42010b47cabab9caaed8f2207570e809f6f4eb51a710d1" dependencies = [ "better_scoped_tls", "bitflags 2.6.0", @@ -8496,26 +8495,26 @@ dependencies = [ "serde", "smallvec", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", - "swc_ecma_parser 0.146.12", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", "tracing", ] [[package]] name = "swc_ecma_transforms_classes" -version = "0.129.0" +version = "0.134.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3eab5f8179e5b0aedf385eacc2c033691c6d211a7babd1bbbff12cf794a824e" +checksum = "3c3d884594385bea9405a2e1721151470d9a14d3ceec5dd773c0ca6894791601" dependencies = [ "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", ] [[package]] @@ -8532,29 +8531,29 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.174.3" +version = "0.179.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df8aa6752cc2fcf3d78ac67827542fb666e52283f2b26802aa058906bb750d3" +checksum = "79938ff510fc647febd8c6c3ef4143d099fdad87a223680e632623d056dae2dd" dependencies = [ "either", "rustc-hash 1.1.0", "serde", "smallvec", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", ] [[package]] name = "swc_ecma_transforms_react" -version = "0.186.2" +version = "0.191.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446da32cac8299973aaf1d37496562bfd0c1e4f3c3ab5d0af6f07f42e8184102" +checksum = "76c76d8b9792ce51401d38da0fa62158d61f6d80d16d68fe5b03ce4bf5fba383" dependencies = [ "base64 0.21.7", "dashmap", @@ -8563,39 +8562,40 @@ dependencies = [ "serde", "sha1", "string_enum", + "swc_allocator", "swc_atoms", - "swc_common 0.34.4", + "swc_common", "swc_config", - "swc_ecma_ast 0.115.1", - "swc_ecma_parser 0.146.12", + "swc_ecma_ast", + "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", ] [[package]] name = "swc_ecma_transforms_typescript" -version = "0.191.2" +version = "0.198.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ce8af2865449e714ae56dacb6b54b3f6dc4cc25074da4e39b878bd93c5e39c" +checksum = "15455da4768f97186c40523e83600495210c11825d3a44db43383fd81eace88d" dependencies = [ "ryu-js", "serde", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_transforms_react", "swc_ecma_utils", - "swc_ecma_visit 0.101.0", + "swc_ecma_visit", ] [[package]] name = "swc_ecma_utils" -version = "0.130.3" +version = "0.134.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e62b199454a576c5fdbd7e1bef8ab88a395427456d8a713d994b7d469833aa" +checksum = "029eec7dd485923a75b5a45befd04510288870250270292fc2c1b3a9e7547408" dependencies = [ "indexmap 2.6.0", "num_cpus", @@ -8603,46 +8603,33 @@ dependencies = [ "rustc-hash 1.1.0", "ryu-js", "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", - "swc_ecma_visit 0.101.0", + "swc_common", + "swc_ecma_ast", + "swc_ecma_visit", "tracing", "unicode-id", ] [[package]] name = "swc_ecma_visit" -version = "0.99.1" +version = "0.104.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6ce28ad8e591f8d627f1f9cb26b25e5d83052a9bc1b674d95fc28040cfa98" +checksum = "5b1c6802e68e51f336e8bc9644e9ff9da75d7da9c1a6247d532f2e908aa33e81" dependencies = [ + "new_debug_unreachable", "num-bigint", "swc_atoms", - "swc_common 0.33.26", - "swc_ecma_ast 0.113.7", - "swc_visit", - "tracing", -] - -[[package]] -name = "swc_ecma_visit" -version = "0.101.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0d997f0c9b4e181225f603d161f6757c2a97022258170982cfe005ec69ec92" -dependencies = [ - "num-bigint", - "swc_atoms", - "swc_common 0.34.4", - "swc_ecma_ast 0.115.1", + "swc_common", + "swc_ecma_ast", "swc_visit", "tracing", ] [[package]] name = "swc_eq_ignore_macros" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695a1d8b461033d32429b5befbf0ad4d7a2c4d6ba9cd5ba4e0645c615839e8e4" +checksum = "63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497" dependencies = [ "proc-macro2", "quote", @@ -8651,9 +8638,9 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91745f3561057493d2da768437c427c0e979dff7396507ae02f16c981c4a8466" +checksum = "f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847" dependencies = [ "proc-macro2", "quote", @@ -8662,19 +8649,19 @@ dependencies = [ [[package]] name = "swc_visit" -version = "0.5.14" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043d11fe683dcb934583ead49405c0896a5af5face522e4682c16971ef7871b9" +checksum = "1ceb044142ba2719ef9eb3b6b454fce61ab849eb696c34d190f04651955c613d" dependencies = [ "either", - "swc_visit_macros", + "new_debug_unreachable", ] [[package]] name = "swc_visit_macros" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae9ef18ff8daffa999f729db056d2821cd2f790f3a11e46422d19f46bb193e7" +checksum = "92807d840959f39c60ce8a774a3f83e8193c658068e6d270dbe0a05e40e90b41" dependencies = [ "Inflector", "proc-macro2", @@ -9204,28 +9191,29 @@ dependencies = [ [[package]] name = "tokio" -version = "1.40.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", "libc", "mio", + "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2 0.5.7", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", @@ -9466,6 +9454,23 @@ name = "tower-http" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +dependencies = [ + "bitflags 2.6.0", + "bytes", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97" dependencies = [ "async-compression 0.4.13", "bitflags 2.6.0", @@ -9479,7 +9484,6 @@ dependencies = [ "tokio-util", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -9636,9 +9640,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" dependencies = [ "serde", "stable_deref_trait", @@ -9864,9 +9868,9 @@ checksum = "10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561" [[package]] name = "unicode-id-start" -version = "1.0.4" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02aebfa694eccbbbffdd92922c7de136b9fe764396d2f10e21bce1681477cfc1" +checksum = "97e2a3c5fc9de285c0e805d98eba666adb4b2d9e1049ce44821ff7707cc34e91" [[package]] name = "unicode-ident" @@ -10001,11 +10005,10 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "urlpattern" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9bd5ff03aea02fa45b13a7980151fe45009af1980ba69f651ec367121a31609" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" dependencies = [ - "derive_more", "regex", "serde", "unic-ucd-ident", @@ -10045,11 +10048,11 @@ dependencies = [ [[package]] name = "v8" -version = "0.99.0" +version = "0.106.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa3fc0608a78f0c7d4ec88025759cb78c90a29984b48540060355a626ae329c1" +checksum = "a381badc47c6f15acb5fe0b5b40234162349ed9d4e4fd7c83a7f5547c0fc69c5" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.69.5", "bitflags 2.6.0", "fslock", "gzip-header", @@ -10355,7 +10358,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windmill" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "axum", @@ -10396,7 +10399,7 @@ dependencies = [ [[package]] name = "windmill-api" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "argon2", @@ -10461,7 +10464,7 @@ dependencies = [ "tokio-util", "tower 0.5.1", "tower-cookies", - "tower-http", + "tower-http 0.5.2", "tracing", "tracing-subscriber", "ulid", @@ -10480,7 +10483,7 @@ dependencies = [ [[package]] name = "windmill-api-client" -version = "1.405.5" +version = "1.406.0" dependencies = [ "base64 0.21.7", "chrono", @@ -10498,7 +10501,7 @@ dependencies = [ [[package]] name = "windmill-audit" -version = "1.405.5" +version = "1.406.0" dependencies = [ "chrono", "serde", @@ -10511,7 +10514,7 @@ dependencies = [ [[package]] name = "windmill-common" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "async-stream", @@ -10556,7 +10559,7 @@ dependencies = [ [[package]] name = "windmill-git-sync" -version = "1.405.5" +version = "1.406.0" dependencies = [ "regex", "rsmq_async", @@ -10571,7 +10574,7 @@ dependencies = [ [[package]] name = "windmill-indexer" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "bytes", @@ -10592,7 +10595,7 @@ dependencies = [ [[package]] name = "windmill-parser" -version = "1.405.5" +version = "1.406.0" dependencies = [ "convert_case 0.6.0", "serde", @@ -10601,7 +10604,7 @@ dependencies = [ [[package]] name = "windmill-parser-bash" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "lazy_static", @@ -10613,7 +10616,7 @@ dependencies = [ [[package]] name = "windmill-parser-go" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "gosyn", @@ -10625,7 +10628,7 @@ dependencies = [ [[package]] name = "windmill-parser-graphql" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "lazy_static", @@ -10637,7 +10640,7 @@ dependencies = [ [[package]] name = "windmill-parser-php" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "itertools 0.13.0", @@ -10648,7 +10651,7 @@ dependencies = [ [[package]] name = "windmill-parser-py" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "itertools 0.13.0", @@ -10659,7 +10662,7 @@ dependencies = [ [[package]] name = "windmill-parser-py-imports" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "async-recursion", @@ -10677,7 +10680,7 @@ dependencies = [ [[package]] name = "windmill-parser-rust" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -10694,7 +10697,7 @@ dependencies = [ [[package]] name = "windmill-parser-sql" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "lazy_static", @@ -10706,17 +10709,17 @@ dependencies = [ [[package]] name = "windmill-parser-ts" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "lazy_static", "regex", "serde-wasm-bindgen", "serde_json", - "swc_common 0.33.26", - "swc_ecma_ast 0.113.7", - "swc_ecma_parser 0.144.3", - "swc_ecma_visit 0.99.1", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_visit", "triomphe", "wasm-bindgen", "windmill-parser", @@ -10724,7 +10727,7 @@ dependencies = [ [[package]] name = "windmill-parser-wasm" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "getrandom 0.2.15", @@ -10745,7 +10748,7 @@ dependencies = [ [[package]] name = "windmill-parser-yaml" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "serde_json", @@ -10755,7 +10758,7 @@ dependencies = [ [[package]] name = "windmill-queue" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "async-recursion", @@ -10788,7 +10791,7 @@ dependencies = [ [[package]] name = "windmill-sql-datatype-parser-wasm" -version = "1.405.5" +version = "1.406.0" dependencies = [ "wasm-bindgen", "wasm-bindgen-test", @@ -10798,7 +10801,7 @@ dependencies = [ [[package]] name = "windmill-worker" -version = "1.405.5" +version = "1.406.0" dependencies = [ "anyhow", "async-recursion", @@ -10845,7 +10848,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "sqlx", - "swc_ecma_parser 0.144.3", + "swc_ecma_parser", "tar", "tiberius", "tokio", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index d5517d3ff9..187c2c1fa6 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windmill" -version = "1.405.5" +version = "1.406.0" authors.workspace = true edition.workspace = true @@ -27,7 +27,7 @@ members = [ ] [workspace.package] -version = "1.405.5" +version = "1.406.0" authors = ["Ruben Fiszel "] edition = "2021" @@ -172,20 +172,24 @@ tokio-util = { version = "^0", features = ["io"] } json-pointer = "^0" itertools = "^0" regex = "^1" -deno_fetch = "0.187.0" -deno_tls = "0.150.0" -deno_console = "0.163.0" -deno_url = "0.163.0" -deno_webidl = "0.163.0" -deno_web = "0.194.0" -deno_net = "0.155.0" -deno_core = "0.299.0" -deno_ast = { version = "=0.40.0", features = ["transpiling"] } + +deno_fetch = "0.195.0" +deno_tls = "0.158.0" +deno_console = "0.171.0" +deno_url = "0.171.0" +deno_webidl = "0.171.0" +deno_web = "0.202.0" +deno_net = "0.163.0" +deno_core = "0.311.0" +deno_ast = { version = "=0.42.2", features = ["transpiling"] } + +swc_common = "=0.37.5" +swc_ecma_parser = "=0.149.1" +swc_ecma_ast = "=0.118.2" +swc_ecma_visit = "=0.104.8" + async-recursion = "^1" -swc_common = "=0.33.26" -swc_ecma_parser = "=0.144.3" -swc_ecma_ast = "=0.113.7" -swc_ecma_visit = "=0.99.1" + base64 = "0.21.0" base32 = "^0" hmac = "0.12.1" @@ -270,8 +274,7 @@ tikv-jemallocator = { version = "0.5" } tikv-jemalloc-sys = { version = "^0.5" } tikv-jemalloc-ctl = { version = "^0.5" } -# 0.1.12 broken (nested dependency of swc_common) -triomphe = "<0.1.12" +triomphe = "^0" tantivy = "0.22.0" diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 44f2972329..5912afd498 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -0f5f42d2f8f5f1af05c8086f3dc7ad38d83750df +8e3fbda05392e641c15262924dc0df47cc42d036 \ No newline at end of file diff --git a/backend/migrations/20241008155800_concurrency_lock_table.down.sql b/backend/migrations/20241008155800_concurrency_lock_table.down.sql new file mode 100644 index 0000000000..2c7ec9a8f8 --- /dev/null +++ b/backend/migrations/20241008155800_concurrency_lock_table.down.sql @@ -0,0 +1,2 @@ +-- Drop the alert_locks table +DROP TABLE IF EXISTS concurrency_locks; diff --git a/backend/migrations/20241008155800_concurrency_lock_table.up.sql b/backend/migrations/20241008155800_concurrency_lock_table.up.sql new file mode 100644 index 0000000000..8449de152a --- /dev/null +++ b/backend/migrations/20241008155800_concurrency_lock_table.up.sql @@ -0,0 +1,6 @@ +-- Create the alert_locks table +CREATE TABLE concurrency_locks ( + id VARCHAR PRIMARY KEY, + last_locked_at TIMESTAMP NOT NULL, + owner VARCHAR NULL +); diff --git a/backend/parsers/windmill-parser-ts/src/lib.rs b/backend/parsers/windmill-parser-ts/src/lib.rs index 742a840802..d68b2eeb6e 100644 --- a/backend/parsers/windmill-parser-ts/src/lib.rs +++ b/backend/parsers/windmill-parser-ts/src/lib.rs @@ -15,13 +15,13 @@ use windmill_parser::{ use swc_common::{sync::Lrc, FileName, SourceMap, SourceMapper, Span, Spanned}; use swc_ecma_ast::{ - ArrayLit, AssignPat, BigInt, BindingIdent, Bool, Decl, ExportDecl, Expr, FnDecl, Ident, Lit, - MemberExpr, MemberProp, ModuleDecl, ModuleItem, Number, ObjectLit, ObjectPat, Param, Pat, Str, - TsArrayType, TsEntityName, TsKeywordType, TsKeywordTypeKind, TsLit, TsLitType, TsOptionalType, - TsParenthesizedType, TsPropertySignature, TsType, TsTypeAnn, TsTypeElement, TsTypeLit, - TsTypeRef, TsUnionOrIntersectionType, TsUnionType, + ArrayLit, AssignPat, BigInt, BindingIdent, Bool, Decl, ExportDecl, Expr, FnDecl, Ident, + IdentName, Lit, MemberExpr, MemberProp, ModuleDecl, ModuleItem, Number, ObjectLit, ObjectPat, + Param, Pat, Str, TsArrayType, TsEntityName, TsKeywordType, TsKeywordTypeKind, TsLit, TsLitType, + TsOptionalType, TsParenthesizedType, TsPropertySignature, TsType, TsTypeAnn, TsTypeElement, + TsTypeLit, TsTypeRef, TsUnionOrIntersectionType, TsUnionType, }; -use swc_ecma_parser::{lexer::Lexer, EsConfig, Parser, StringInput, Syntax, TsConfig}; +use swc_ecma_parser::{lexer::Lexer, EsSyntax, Parser, StringInput, Syntax, TsSyntax}; use regex::Regex; #[cfg(target_arch = "wasm32")] @@ -48,9 +48,9 @@ impl Visit for ImportsFinder { pub fn parse_expr_for_imports(code: &str) -> anyhow::Result> { let cm: Lrc = Default::default(); - let fm = cm.new_source_file(FileName::Custom("main.d.ts".into()), code.into()); + let fm = cm.new_source_file(FileName::Custom("main.d.ts".into()).into(), code.into()); let lexer = Lexer::new( - Syntax::Typescript(TsConfig::default()), + Syntax::Typescript(TsSyntax::default()), // EsVersion defaults to es5 Default::default(), StringInput::from(&*fm), @@ -69,7 +69,7 @@ pub fn parse_expr_for_imports(code: &str) -> anyhow::Result> { })?; let mut visitor = ImportsFinder { imports: HashSet::new() }; - swc_ecma_visit::visit_module(&mut visitor, &expr); + visitor.visit_module(&expr); Ok(visitor.imports.into_iter().collect()) } @@ -87,7 +87,7 @@ impl Visit for OutputFinder { c.visit_with(self); } match m { - MemberExpr { obj, prop: MemberProp::Ident(Ident { sym, .. }), .. } => { + MemberExpr { obj, prop: MemberProp::Ident(IdentName { sym, .. }), .. } => { match *obj.to_owned() { Expr::Ident(Ident { sym: sym_i, .. }) => { self.idents.insert((sym_i.to_string(), sym.to_string())); @@ -102,10 +102,10 @@ impl Visit for OutputFinder { pub fn parse_expr_for_ids(code: &str) -> anyhow::Result> { let cm: Lrc = Default::default(); - let fm = cm.new_source_file(FileName::Custom("main.ts".into()), code.into()); + let fm = cm.new_source_file(FileName::Custom("main.ts".into()).into(), code.into()); let lexer = Lexer::new( // We want to parse ecmascript - Syntax::Es(EsConfig { jsx: false, ..Default::default() }), + Syntax::Es(EsSyntax { jsx: false, ..Default::default() }), // EsVersion defaults to es5 Default::default(), StringInput::from(&*fm), @@ -124,7 +124,7 @@ pub fn parse_expr_for_ids(code: &str) -> anyhow::Result> { })?; let mut visitor = OutputFinder { idents: HashSet::new() }; - swc_ecma_visit::visit_module(&mut visitor, &expr); + visitor.visit_module(&expr); Ok(visitor.idents.into_iter().collect()) } @@ -135,10 +135,10 @@ pub fn parse_deno_signature( main_override: Option, ) -> anyhow::Result { let cm: Lrc = Default::default(); - let fm = cm.new_source_file(FileName::Custom("main.ts".into()), code.into()); + let fm = cm.new_source_file(FileName::Custom("main.ts".into()).into(), code.into()); let lexer = Lexer::new( // We want to parse ecmascript - Syntax::Typescript(TsConfig::default()), + Syntax::Typescript(TsSyntax::default()), // EsVersion defaults to es5 Default::default(), StringInput::from(&*fm), diff --git a/backend/src/main.rs b/backend/src/main.rs index 6add270221..cca4f6f9a4 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -116,7 +116,7 @@ where pub fn main() -> anyhow::Result<()> { #[cfg(feature = "deno_core")] - deno_core::JsRuntime::init_platform(None); + deno_core::JsRuntime::init_platform(None, false); create_and_run_current_thread_inner(windmill_main()) } diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index 92f69a0d64..576a38de72 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -27,7 +27,7 @@ use windmill_api::{ DEFAULT_BODY_LIMIT, IS_SECURE, OAUTH_CLIENTS, REQUEST_SIZE_LIMIT, SAML_METADATA, SCIM_TOKEN, }; #[cfg(feature = "enterprise")] -use windmill_common::ee::worker_groups_alerts; +use windmill_common::ee::{worker_groups_alerts, jobs_waiting_alerts}; use windmill_common::{ auth::JWT_SECRET, ee::CriticalErrorChannel, @@ -1061,12 +1061,20 @@ pub async fn monitor_db( } }; + let jobs_waiting_alerts_f = async { + #[cfg(feature = "enterprise")] + if server_mode { + jobs_waiting_alerts(&db).await; + } + }; + join!( expired_items_f, zombie_jobs_f, expose_queue_metrics_f, verify_license_key_f, - worker_groups_alerts_f + worker_groups_alerts_f, + jobs_waiting_alerts_f, ); } diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index fa337d3163..a187e43cb7 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.405.5 + version: 1.406.0 title: Windmill API contact: diff --git a/backend/windmill-common/src/ee.rs b/backend/windmill-common/src/ee.rs index d2b215a5ad..6df93aca78 100644 --- a/backend/windmill-common/src/ee.rs +++ b/backend/windmill-common/src/ee.rs @@ -81,3 +81,6 @@ pub async fn create_customer_portal_session( #[cfg(feature = "enterprise")] pub async fn worker_groups_alerts(_db: &DB) {} + +#[cfg(feature = "enterprise")] +pub async fn jobs_waiting_alerts(_db: &DB) {} diff --git a/backend/windmill-worker/build.rs b/backend/windmill-worker/build.rs index 66bc66959f..6bbc3fd75f 100644 --- a/backend/windmill-worker/build.rs +++ b/backend/windmill-worker/build.rs @@ -5,15 +5,17 @@ use deno_net::NetPermissions; #[cfg(feature = "deno_core")] use deno_web::{BlobStore, TimersPermission}; #[cfg(feature = "deno_core")] +use std::borrow::Cow; +#[cfg(feature = "deno_core")] use std::env; #[cfg(feature = "deno_core")] use std::io::Write; #[cfg(feature = "deno_core")] -use std::path::PathBuf; +use std::path::{Path, PathBuf}; #[cfg(feature = "deno_core")] use std::sync::Arc; -#[cfg(feature = "deno_core")] +// #[cfg(feature = "deno_core")] pub struct PermissionsContainer; #[cfg(feature = "deno_core")] @@ -24,16 +26,16 @@ impl FetchPermissions for PermissionsContainer { _url: &deno_core::url::Url, _api_name: &str, ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + unreachable!("snapshotting") } #[inline(always)] - fn check_read( + fn check_read<'a>( &mut self, - _p: &std::path::Path, + _p: &'a std::path::Path, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result, deno_core::error::AnyError> { + unreachable!("snapshotting") } } @@ -47,20 +49,20 @@ impl TimersPermission for PermissionsContainer { #[cfg(feature = "deno_core")] impl NetPermissions for PermissionsContainer { - fn check_read( + fn check_read<'a>( &mut self, - _p: &std::path::Path, + _p: &'a str, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result { + unreachable!("snapshotting") } - fn check_write( + fn check_write<'a>( &mut self, - _p: &std::path::Path, + _p: &'a str, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result { + unreachable!("snapshotting") } fn check_net>( @@ -68,7 +70,15 @@ impl NetPermissions for PermissionsContainer { _host: &(T, Option), _api_name: &str, ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + unreachable!("snapshotting") + } + + fn check_write_path<'a>( + &mut self, + _: &'a Path, + _: &str, + ) -> Result, deno_core::anyhow::Error> { + todo!() } } diff --git a/backend/windmill-worker/src/js_eval.rs b/backend/windmill-worker/src/js_eval.rs index 23029202e5..15353ac4bc 100644 --- a/backend/windmill-worker/src/js_eval.rs +++ b/backend/windmill-worker/src/js_eval.rs @@ -8,9 +8,11 @@ #[cfg(feature = "deno_core")] use std::{ + borrow::Cow, cell::RefCell, env, io::{self, BufReader}, + path::PathBuf, rc::Rc, }; @@ -111,12 +113,12 @@ impl FetchPermissions for PermissionsContainer { } #[inline(always)] - fn check_read( + fn check_read<'a>( &mut self, - _p: &std::path::Path, + p: &'a std::path::Path, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result, anyhow::Error> { + Ok(Cow::Borrowed(p)) } } @@ -130,20 +132,20 @@ impl TimersPermission for PermissionsContainer { #[cfg(feature = "deno_core")] impl NetPermissions for PermissionsContainer { - fn check_read( + fn check_read<'a>( &mut self, - _p: &std::path::Path, + p: &'a str, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result { + Ok(PathBuf::from(p)) } - fn check_write( + fn check_write<'a>( &mut self, - _p: &std::path::Path, + p: &'a str, _api_name: &str, - ) -> Result<(), deno_core::error::AnyError> { - Ok(()) + ) -> Result { + Ok(PathBuf::from(p)) } fn check_net>( @@ -153,6 +155,14 @@ impl NetPermissions for PermissionsContainer { ) -> Result<(), deno_core::error::AnyError> { Ok(()) } + + fn check_write_path<'a>( + &mut self, + p: &'a std::path::Path, + _api_name: &str, + ) -> Result, AnyError> { + Ok(Cow::Borrowed(p)) + } } #[cfg(feature = "deno_core")] diff --git a/benchmarks/lib.ts b/benchmarks/lib.ts index da613ed9dc..8e6749ad93 100644 --- a/benchmarks/lib.ts +++ b/benchmarks/lib.ts @@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts"; import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts"; import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts"; -export const VERSION = "v1.405.5"; +export const VERSION = "v1.406.0"; export async function login(email: string, password: string): Promise { return await windmill.UserService.login({ diff --git a/cli/main.ts b/cli/main.ts index 0d6b29e7f4..9d667f8528 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -60,7 +60,7 @@ export { // } // }); -export const VERSION = "1.405.5"; +export const VERSION = "1.406.0"; const command = new Command() .name("wmill") diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1310051bcc..2c6b753bed 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "windmill-components", - "version": "1.405.5", + "version": "1.406.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "windmill-components", - "version": "1.405.5", + "version": "1.406.0", "license": "AGPL-3.0", "dependencies": { "@aws-crypto/sha256-js": "^4.0.0", diff --git a/frontend/package.json b/frontend/package.json index 02a438827a..e05dcaa70f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.405.5", + "version": "1.406.0", "scripts": { "dev": "vite dev", "build": "vite build", @@ -300,9 +300,9 @@ "types": "./package/utils.d.ts", "default": "./package/utils.js" }, - "./icons/store": { - "types": "./package/icons/store.d.ts", - "default": "./package/icons/store.js" + "./components/icons/store": { + "types": "./package/components/icons/store.d.ts", + "default": "./package/components/icons/store.js" }, "./script_helpers": { "types": "./package/script_helpers.d.ts", @@ -481,8 +481,8 @@ "script_helpers": [ "./package/script_helpers.d.ts" ], - "icons/store": [ - "./package/icons/store.d.ts" + "components/icons/store": [ + "./package/components/icons/store.d.ts" ] } }, diff --git a/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte index 4e59ea7858..30dd9b3d29 100644 --- a/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte +++ b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte @@ -1,6 +1,4 @@ - + - +
+ {#if $enterpriseLicense} + {#if changesMade} +
Non applied changes
+
+ + +
+ {/if} + + {#if alerts.length > 0} +
+
+ + + + + + + + + + + + + {#each alerts as alert, index} + + + + + + + + + {/each} + +
+ Name + + + Queue Tags to Monitor + + + Jobs + + + Cooldown (s) + + + Time (s) + + Actions
+ {#if editingIndex === index} + + {:else} + {alert.name} + {/if} + + {#if editingIndex === index} +
+ {#each alert.tags_to_monitor as tag} + + {tag} + + + {/each} +
+
+ filterTags(e)} + class="p-1 flex-grow mr-1" + /> + +
+ + + {#if filteredTags.length > 0} +
    + {#each filteredTags as tag} +
  • + +
  • + {/each} +
+ {/if} + {:else} +
+ {#each alert.tags_to_monitor as tag} + {tag} + {/each} +
+ {/if} +
+ {#if editingIndex === index} + + {:else} + {alert.jobs_num_threshold} + {/if} + + {#if editingIndex === index} + + {:else} + {alert.alert_cooldown_seconds} + {/if} + + {#if editingIndex === index} + + {:else} + {alert.alert_time_threshold_seconds} + {/if} + +
+ {#if editingIndex === index} + + {:else} + + + {/if} +
+
+
+
+ {/if} + + +
+ +
+ {:else} +

+ Queue Metric Alerts are an enterprise feature allowing you to monitor queues for waiting jobs. Please upgrade to access this functionality. + Learn more about our plans. +

+ {/if} +
+
+ +
+ + \ No newline at end of file diff --git a/frontend/src/lib/components/ResourcePicker.svelte b/frontend/src/lib/components/ResourcePicker.svelte index c783d56192..f9c00a3470 100644 --- a/frontend/src/lib/components/ResourcePicker.svelte +++ b/frontend/src/lib/components/ResourcePicker.svelte @@ -176,9 +176,8 @@ - + {#if allowFork} +
+ +
+ {/if} +