diff --git a/package-lock.json b/package-lock.json index bc3a2ac..b6cb4eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,17 +12,17 @@ "@dfinity/utils": "^4.2.1", "@icp-sdk/canisters": "^3.5.2", "@icp-sdk/core": "^5.2.1", - "@junobuild/admin": "^4.3.3", - "@junobuild/cdn": "^2.5.0", - "@junobuild/cli-tools": "^0.14.0", - "@junobuild/config": "^3.0.0", - "@junobuild/config-loader": "^0.4.11", - "@junobuild/core": "^5.4.0", - "@junobuild/functions-tools": "^0.6.6", - "@junobuild/ic-client": "^8.1.3", - "@junobuild/schema": "^1.2.3", - "@junobuild/storage": "^2.4.2", - "@junobuild/utils": "^1.0.3", + "@junobuild/admin": "^4.3.3-next-2026-04-20", + "@junobuild/cdn": "^2.5.0-next-2026-04-20", + "@junobuild/cli-tools": "^0.14.0-next-2026-04-20", + "@junobuild/config": "^3.0.1-next-2026-04-20", + "@junobuild/config-loader": "^0.4.11-next-2026-04-20", + "@junobuild/core": "^5.4.0-next-2026-04-20", + "@junobuild/functions-tools": "^0.6.8-next-2026-04-20", + "@junobuild/ic-client": "^8.1.3-next-2026-04-20", + "@junobuild/schema": "1.2.4-next-2026-04-20", + "@junobuild/storage": "^2.4.2-next-2026-04-20", + "@junobuild/utils": "1.0.3-next-2026-04-20", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -39,7 +39,7 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.1.1", - "@junobuild/functions": "^0.8.3", + "@junobuild/functions": "^0.9.0-next-2026-04-20", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -92,21 +92,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -162,36 +162,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/generator/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.27.3", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", @@ -254,55 +224,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -337,55 +258,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", @@ -400,55 +272,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", @@ -467,55 +290,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", @@ -557,55 +331,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", @@ -657,35 +382,21 @@ "license": "MIT", "peer": true, "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -727,14 +438,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -764,9 +475,9 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", - "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "license": "MIT", "peer": true, "dependencies": { @@ -774,7 +485,7 @@ "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.27.1" + "@babel/plugin-transform-typescript": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -798,49 +509,19 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -848,14 +529,14 @@ } }, "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "license": "MIT", "peer": true, "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1695,49 +1376,38 @@ } }, "node_modules/@junobuild/admin": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.3.tgz", - "integrity": "sha512-l8cgcctrt7lBazFWPeBwZs1HtiERnDi5CulBomPe6th8cakjcuPVcbzO/ml1XlOIeDV+P4qyFyyw05iPJ3/taw==", + "version": "4.3.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.3-next-2026-04-20.tgz", + "integrity": "sha512-1WccAUALx1FuG3scCF3YuQbnxYSSh0hsJXItqEQ/ce1tirDPxup82UPrB16K46JhU0knuC0xiINQs6KGxYeFIg==", "license": "MIT", "peerDependencies": { - "@icp-sdk/canisters": "^3.3", - "@icp-sdk/core": "^5", + "@icp-sdk/canisters": "*", + "@icp-sdk/core": "*", "@junobuild/config": "*", - "@junobuild/ic-client": "^8.1", - "@junobuild/utils": "^1.0.2", - "semver": "7.*", - "zod": "^4.3" - } - }, - "node_modules/@junobuild/auth": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.2.tgz", - "integrity": "sha512-AR6qDeg6cUN4YabM92kD8P0oDK5NeP1ZA8kD/E5WAknUpDIyqSIE8/AXXj9YJlb6WUgrHhDK8JhRaTxlRdRRVw==", - "license": "MIT", - "peerDependencies": { - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8.1", - "@junobuild/utils": "^1" + "@junobuild/ic-client": "*", + "@junobuild/utils": "*", + "semver": "*", + "zod": "*" } }, "node_modules/@junobuild/cdn": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.5.0.tgz", - "integrity": "sha512-ZErAIAxcJG/QYNUkD++VDV9CYfZrFjhKhA7PeUdjvYgkYUUtY+tGi+WP6YbLbNQ42iRbu/IKC+FNEPKz6302QQ==", + "version": "2.5.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.5.0-next-2026-04-20.tgz", + "integrity": "sha512-SXSTkcs2IPHX3v4hmNfRXKuRCzQqCcaeiJuvRjy53ndsQiae29IkWnaxIjJFxzd00HqaQBukTD/lfv5kM8QWQw==", "license": "MIT", "peerDependencies": { - "@icp-sdk/canisters": "^3.3", - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8.1", - "@junobuild/storage": "^2.4", - "@junobuild/utils": "^1.0.2", - "semver": "7.*" + "@icp-sdk/canisters": "*", + "@icp-sdk/core": "*", + "@junobuild/ic-client": "*", + "@junobuild/storage": "*", + "@junobuild/utils": "*", + "semver": "*" } }, "node_modules/@junobuild/cli-tools": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0.tgz", - "integrity": "sha512-akkzWI9TfqjT9G9T9xpffQn9O1zfEefMu+0Gp7yQwyKMRK9c4ardNEPDZg7Mzpq0D3TDuNn5FkwDb/mTzsSJXA==", + "version": "0.14.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0-next-2026-04-20.tgz", + "integrity": "sha512-cVrEEqJLLB/mlKiHkYHLKnmEgbZNmwk559/d+OHWHu8KA83p55+sEynTRyzRnC6qch7OkVe5pAXbKTPuMSnEIA==", "license": "MIT", "dependencies": { "file-type": "^22.0.0", @@ -1746,41 +1416,41 @@ "minimatch": "^10.2.5" }, "peerDependencies": { - "@junobuild/cdn": "^2.4", - "@junobuild/config": "^3", - "@junobuild/functions-tools": "^0.6", - "@junobuild/storage": "^2.4", - "@junobuild/utils": "^1.0.2", - "esbuild": "^0.27.0", - "ora": "^9" + "@junobuild/cdn": "*", + "@junobuild/config": "*", + "@junobuild/functions-tools": "*", + "@junobuild/storage": "*", + "@junobuild/utils": "*", + "esbuild": "*", + "ora": "*" } }, "node_modules/@junobuild/config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.0.tgz", - "integrity": "sha512-JP3T0V1IWh7o1HYyhK5Bq8eAMO7K2A52zqrP3PxA7jsb7QGstzVphjKVxrsLGrXbwMTBw1xTHEQkYHavG1D0LA==", + "version": "3.0.1-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.1-next-2026-04-20.tgz", + "integrity": "sha512-sM6M8YOA5QKxyCKtiQbk/AmQ0KrNOHHfhFFLv5QOYRGBiUFrGFqEvGy0xiTOF7qH9BCrjiFefEhk6JXlMf/MUQ==", "license": "MIT", "peerDependencies": { - "@junobuild/schema": "^1.2", - "zod": "^4.3" + "@junobuild/schema": "*", + "zod": "*" } }, "node_modules/@junobuild/config-loader": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11.tgz", - "integrity": "sha512-8T2/WfKMP6kKOZnsFCjayc0Ha6YRLdisqmmQLmGPatGp7HPzyTWXkzEvubLzHVJg5DjqMi3Qm7Pg1tb7ZXLQgA==", + "version": "0.4.11-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11-next-2026-04-20.tgz", + "integrity": "sha512-fze6zgHjpfk+L30cQMMyikxNPJ7wmiQA3FjLfXw43I0P5oXqFvRUyPL6bcNxsgHuK5jjKcsc2yO/mOedi3k/1Q==", "license": "MIT", "peerDependencies": { - "@babel/core": "7.28.4", - "@babel/plugin-transform-modules-commonjs": "7.27.1", - "@babel/preset-typescript": "7.27.1", + "@babel/core": "*", + "@babel/plugin-transform-modules-commonjs": "*", + "@babel/preset-typescript": "*", "@junobuild/config": "*" } }, "node_modules/@junobuild/core": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0.tgz", - "integrity": "sha512-XW2O8S7HxNt8zPM9loxhd5z6st+ISY7ffGiYRdk2rzQsjlzGDlNdKdTjFcZqEC7mStnQJjsypJyFHhEzj81C8A==", + "version": "5.4.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0-next-2026-04-20.tgz", + "integrity": "sha512-y5sHKlHI/xvRkho2DeVffpZ0LSY0iDb+qw4Z1BThlSIdqYgL5hzoiai1ZRKlX6JHBXeYDQcfDLF2lZHSSg0acw==", "license": "MIT", "dependencies": { "@junobuild/auth": "^4.1", @@ -1789,8 +1459,41 @@ "@junobuild/storage": "^2.4" }, "peerDependencies": { - "@icp-sdk/auth": "^5", + "@icp-sdk/auth": "*", + "@icp-sdk/core": "*", + "@junobuild/utils": "*" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/auth": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.2.tgz", + "integrity": "sha512-AR6qDeg6cUN4YabM92kD8P0oDK5NeP1ZA8kD/E5WAknUpDIyqSIE8/AXXj9YJlb6WUgrHhDK8JhRaTxlRdRRVw==", + "license": "MIT", + "peerDependencies": { + "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8.1", + "@junobuild/utils": "^1" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/ic-client": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3.tgz", + "integrity": "sha512-vRgPiOaoezxn8KXz4FAn0hoyssP2yETIarIREMT+Dj8rA8ibuDZ1msEJAvufI085NLF+CAdyHVwIPJuAD39aOg==", + "license": "MIT", + "peerDependencies": { + "@icp-sdk/core": "^5", + "@junobuild/utils": "^1.0.2", + "idb-keyval": "^6.2.2" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/storage": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2.tgz", + "integrity": "sha512-2rI2S/P8pCW7h8FtQjeKDzJ/OSFrdqWDMuAIxCkqjzhmUwS05TMmQJ5JUqBBS2DnwnlVj5rpOxEHNfT4ISVvmQ==", + "license": "MIT", + "peerDependencies": { "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8.1", "@junobuild/utils": "^1" } }, @@ -1819,76 +1522,76 @@ "license": "MIT" }, "node_modules/@junobuild/functions": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.3.tgz", - "integrity": "sha512-EcgxNxN8NZ3p1MiEpzxcBxYnenaQWN9PaMT4uSzCqCIZlJlNCRGHTJ1ukopA/WZfcRgckkKfkHlSEanrDLD3Cw==", + "version": "0.9.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.9.0-next-2026-04-20.tgz", + "integrity": "sha512-UBmQnEMZnN+UFMSXYZVYgPdULYOcz9UlKHIY3rdqZoKZ+btbq9anHLh3OkuXMsJ9ZpPz/qQ7MIhynSGATWhBxA==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "^5", - "@junobuild/schema": "^1.2", - "@junobuild/utils": "^1.0.2", - "zod": "^4.3" + "@icp-sdk/core": "*", + "@junobuild/schema": "*", + "@junobuild/utils": "*", + "zod": "*" } }, "node_modules/@junobuild/functions-tools": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.6.tgz", - "integrity": "sha512-qMg5Offrxek87AhVUZKDkC1kjihpn/PFlLArYgix8xXi5Puk3p4SVJ6PPkdYIRfwnSSk38CTKNKXuLZPWvv7/g==", + "version": "0.6.8-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.8-next-2026-04-20.tgz", + "integrity": "sha512-exuLimqrwC5erCjvtvDi+VUig4zbaZsd0HebzD7K+bSugWiGNLkxmXiS8BsdzPR0XS3JkkHZjFkAQyxZnifu/w==", "license": "MIT", "peerDependencies": { - "@babel/core": "7.28.4", - "@babel/parser": "7.28.4", - "@babel/plugin-transform-modules-commonjs": "7.27.1", - "@babel/preset-typescript": "7.27.1", - "@babel/traverse": "7.28.4", - "@babel/types": "7.28.4", - "@junobuild/functions": "^0.8", - "@junobuild/schema": "^1.2.3", - "@junobuild/utils": "^1.0.2", - "zod": "^4.3" + "@babel/core": "*", + "@babel/parser": "*", + "@babel/plugin-transform-modules-commonjs": "*", + "@babel/preset-typescript": "*", + "@babel/traverse": "*", + "@babel/types": "*", + "@junobuild/functions": "*", + "@junobuild/schema": "*", + "@junobuild/utils": "*", + "zod": "*" } }, "node_modules/@junobuild/ic-client": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3.tgz", - "integrity": "sha512-vRgPiOaoezxn8KXz4FAn0hoyssP2yETIarIREMT+Dj8rA8ibuDZ1msEJAvufI085NLF+CAdyHVwIPJuAD39aOg==", + "version": "8.1.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3-next-2026-04-20.tgz", + "integrity": "sha512-vCHICvb23oTMZXOpsZZkRJkahRkxsBkx/bgGnArKxL3gaJU67JYWjjuZTAUDMjYStI3WNmdvcdnAc6enARWhIQ==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "^5", - "@junobuild/utils": "^1.0.2", - "idb-keyval": "^6.2.2" + "@icp-sdk/core": "*", + "@junobuild/utils": "*", + "idb-keyval": "*" } }, "node_modules/@junobuild/schema": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.3.tgz", - "integrity": "sha512-80hQRu/OUh1oopntIjPqS+ug2Un8xbAizOwS3G8x6oaiD5zaLZ34P7hs6ZFUjgYclAAzUGOKri7DZuRL3noELA==", + "version": "1.2.4-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.4-next-2026-04-20.tgz", + "integrity": "sha512-VNWWRFBbGaX3tqWhMzEWJcKGOT604oFiCdHOdZi63cGv7qdA/s+AW8XY/xstaTj71HMOWT8Vdm8BzgJZglBv1A==", "license": "MIT", "dependencies": { "@dfinity/zod-schemas": "^3.2" }, "peerDependencies": { - "zod": "^4.3" + "zod": "*" } }, "node_modules/@junobuild/storage": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2.tgz", - "integrity": "sha512-2rI2S/P8pCW7h8FtQjeKDzJ/OSFrdqWDMuAIxCkqjzhmUwS05TMmQJ5JUqBBS2DnwnlVj5rpOxEHNfT4ISVvmQ==", + "version": "2.4.2-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2-next-2026-04-20.tgz", + "integrity": "sha512-F3rYmze1b/Pu8cNDvqyeLa4IzN+VBx6zhQlp9btiSrLZSeTeXa3il5NS3pNB2/b+FSQG49hU6qgyOza3IY2fSw==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8.1", - "@junobuild/utils": "^1" + "@icp-sdk/core": "*", + "@junobuild/ic-client": "*", + "@junobuild/utils": "*" } }, "node_modules/@junobuild/utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3.tgz", - "integrity": "sha512-jeO1VthkesaT940cG7+Qjm13ndSynkQulx1JGxtXKKhR79ummxaWLAvFJqMPRQl/KsPT8LcPoJQximUuv84CZg==", + "version": "1.0.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3-next-2026-04-20.tgz", + "integrity": "sha512-cv6KJGFnMVprtThfuRP4LXftikcxlB5M6/ELSG9KXAhAbxpyORWWtjW5kyPtCyjitxg0x+/MD5CbdmbG71XzdA==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "^5" + "@icp-sdk/core": "*" } }, "node_modules/@noble/curves": { @@ -2616,9 +2319,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.14", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.14.tgz", - "integrity": "sha512-fOVLPAsFTsQfuCkvahZkzq6nf8KvGWanlYoTh0SVA0A/PIUxQGU2AOZAoD95n2gFLVDW/jP6sbGLny95nmEuHA==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", "license": "Apache-2.0", "peer": true, "bin": { @@ -2755,9 +2458,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001784", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz", - "integrity": "sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==", + "version": "1.0.30001788", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", + "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==", "funding": [ { "type": "opencollective", @@ -3125,9 +2828,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.331", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.331.tgz", - "integrity": "sha512-IbxXrsTlD3hRodkLnbxAPP4OuJYdWCeM3IOdT+CpcMoIwIoDfCmRpEtSPfwBXxVkg9xmBeY7Lz2Eo2TDn/HC3Q==", + "version": "1.5.340", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.340.tgz", + "integrity": "sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==", "license": "ISC", "peer": true }, @@ -3959,9 +3662,9 @@ } }, "node_modules/file-type": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-22.0.0.tgz", - "integrity": "sha512-cmBmnYo8Zymabm2+qAP7jTFbKF10bQpYmxoGfuZbRFRcq00BRddJdGNH/P7GA1EMpJy5yQbqa9B7yROb3z8Ziw==", + "version": "22.0.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-22.0.1.tgz", + "integrity": "sha512-ww5Mhre0EE+jmBvOXTmXAbEMuZE7uX4a3+oRCQFNj8w++g3ev913N6tXQz0XTXbueQ5TWQfm6BdaViEHHn8bhA==", "license": "MIT", "dependencies": { "@tokenizer/inflate": "^0.4.1", @@ -6877,20 +6580,20 @@ "peer": true }, "@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "peer": true, "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -6924,27 +6627,6 @@ "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-annotate-as-pure": { @@ -6992,40 +6674,6 @@ "semver": "^6.3.1" }, "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7048,42 +6696,6 @@ "requires": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-module-imports": { @@ -7094,42 +6706,6 @@ "requires": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-module-transforms": { @@ -7141,42 +6717,6 @@ "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-optimise-call-expression": { @@ -7203,42 +6743,6 @@ "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -7277,27 +6781,15 @@ "requires": { "@babel/template": "^7.28.6", "@babel/types": "^7.29.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "peer": true, "requires": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.29.0" } }, "@babel/plugin-syntax-jsx": { @@ -7319,13 +6811,13 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "peer": true, "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" } }, "@babel/plugin-transform-typescript": { @@ -7342,16 +6834,16 @@ } }, "@babel/preset-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", - "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", "peer": true, "requires": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.27.1" + "@babel/plugin-transform-typescript": "^7.28.5" } }, "@babel/template": { @@ -7363,52 +6855,31 @@ "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6" - }, - "dependencies": { - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "peer": true, - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "peer": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - } } }, "@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "peer": true, "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" } }, "@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "peer": true, "requires": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" } }, "@borewit/text-codec": { @@ -7848,27 +7319,21 @@ } }, "@junobuild/admin": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.3.tgz", - "integrity": "sha512-l8cgcctrt7lBazFWPeBwZs1HtiERnDi5CulBomPe6th8cakjcuPVcbzO/ml1XlOIeDV+P4qyFyyw05iPJ3/taw==", - "requires": {} - }, - "@junobuild/auth": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.2.tgz", - "integrity": "sha512-AR6qDeg6cUN4YabM92kD8P0oDK5NeP1ZA8kD/E5WAknUpDIyqSIE8/AXXj9YJlb6WUgrHhDK8JhRaTxlRdRRVw==", + "version": "4.3.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.3-next-2026-04-20.tgz", + "integrity": "sha512-1WccAUALx1FuG3scCF3YuQbnxYSSh0hsJXItqEQ/ce1tirDPxup82UPrB16K46JhU0knuC0xiINQs6KGxYeFIg==", "requires": {} }, "@junobuild/cdn": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.5.0.tgz", - "integrity": "sha512-ZErAIAxcJG/QYNUkD++VDV9CYfZrFjhKhA7PeUdjvYgkYUUtY+tGi+WP6YbLbNQ42iRbu/IKC+FNEPKz6302QQ==", + "version": "2.5.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.5.0-next-2026-04-20.tgz", + "integrity": "sha512-SXSTkcs2IPHX3v4hmNfRXKuRCzQqCcaeiJuvRjy53ndsQiae29IkWnaxIjJFxzd00HqaQBukTD/lfv5kM8QWQw==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0.tgz", - "integrity": "sha512-akkzWI9TfqjT9G9T9xpffQn9O1zfEefMu+0Gp7yQwyKMRK9c4ardNEPDZg7Mzpq0D3TDuNn5FkwDb/mTzsSJXA==", + "version": "0.14.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0-next-2026-04-20.tgz", + "integrity": "sha512-cVrEEqJLLB/mlKiHkYHLKnmEgbZNmwk559/d+OHWHu8KA83p55+sEynTRyzRnC6qch7OkVe5pAXbKTPuMSnEIA==", "requires": { "file-type": "^22.0.0", "listr2": "^10.2.1", @@ -7877,26 +7342,46 @@ } }, "@junobuild/config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.0.tgz", - "integrity": "sha512-JP3T0V1IWh7o1HYyhK5Bq8eAMO7K2A52zqrP3PxA7jsb7QGstzVphjKVxrsLGrXbwMTBw1xTHEQkYHavG1D0LA==", + "version": "3.0.1-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.1-next-2026-04-20.tgz", + "integrity": "sha512-sM6M8YOA5QKxyCKtiQbk/AmQ0KrNOHHfhFFLv5QOYRGBiUFrGFqEvGy0xiTOF7qH9BCrjiFefEhk6JXlMf/MUQ==", "requires": {} }, "@junobuild/config-loader": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11.tgz", - "integrity": "sha512-8T2/WfKMP6kKOZnsFCjayc0Ha6YRLdisqmmQLmGPatGp7HPzyTWXkzEvubLzHVJg5DjqMi3Qm7Pg1tb7ZXLQgA==", + "version": "0.4.11-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11-next-2026-04-20.tgz", + "integrity": "sha512-fze6zgHjpfk+L30cQMMyikxNPJ7wmiQA3FjLfXw43I0P5oXqFvRUyPL6bcNxsgHuK5jjKcsc2yO/mOedi3k/1Q==", "requires": {} }, "@junobuild/core": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0.tgz", - "integrity": "sha512-XW2O8S7HxNt8zPM9loxhd5z6st+ISY7ffGiYRdk2rzQsjlzGDlNdKdTjFcZqEC7mStnQJjsypJyFHhEzj81C8A==", + "version": "5.4.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0-next-2026-04-20.tgz", + "integrity": "sha512-y5sHKlHI/xvRkho2DeVffpZ0LSY0iDb+qw4Z1BThlSIdqYgL5hzoiai1ZRKlX6JHBXeYDQcfDLF2lZHSSg0acw==", "requires": { "@junobuild/auth": "^4.1", "@junobuild/errors": "*", "@junobuild/ic-client": "^8.1", "@junobuild/storage": "^2.4" + }, + "dependencies": { + "@junobuild/auth": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.2.tgz", + "integrity": "sha512-AR6qDeg6cUN4YabM92kD8P0oDK5NeP1ZA8kD/E5WAknUpDIyqSIE8/AXXj9YJlb6WUgrHhDK8JhRaTxlRdRRVw==", + "requires": {} + }, + "@junobuild/ic-client": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3.tgz", + "integrity": "sha512-vRgPiOaoezxn8KXz4FAn0hoyssP2yETIarIREMT+Dj8rA8ibuDZ1msEJAvufI085NLF+CAdyHVwIPJuAD39aOg==", + "requires": {} + }, + "@junobuild/storage": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2.tgz", + "integrity": "sha512-2rI2S/P8pCW7h8FtQjeKDzJ/OSFrdqWDMuAIxCkqjzhmUwS05TMmQJ5JUqBBS2DnwnlVj5rpOxEHNfT4ISVvmQ==", + "requires": {} + } } }, "@junobuild/emulator-playwright": { @@ -7912,41 +7397,41 @@ "integrity": "sha512-n2rXof9nIqGDCARHZETXcicG3JH6+1JGB9iTuFzkziPZm7q/G1KSzh8gRJYzrFC3XrSGPRWvhX4hKEnoxAbisQ==" }, "@junobuild/functions": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.3.tgz", - "integrity": "sha512-EcgxNxN8NZ3p1MiEpzxcBxYnenaQWN9PaMT4uSzCqCIZlJlNCRGHTJ1ukopA/WZfcRgckkKfkHlSEanrDLD3Cw==", + "version": "0.9.0-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.9.0-next-2026-04-20.tgz", + "integrity": "sha512-UBmQnEMZnN+UFMSXYZVYgPdULYOcz9UlKHIY3rdqZoKZ+btbq9anHLh3OkuXMsJ9ZpPz/qQ7MIhynSGATWhBxA==", "requires": {} }, "@junobuild/functions-tools": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.6.tgz", - "integrity": "sha512-qMg5Offrxek87AhVUZKDkC1kjihpn/PFlLArYgix8xXi5Puk3p4SVJ6PPkdYIRfwnSSk38CTKNKXuLZPWvv7/g==", + "version": "0.6.8-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.8-next-2026-04-20.tgz", + "integrity": "sha512-exuLimqrwC5erCjvtvDi+VUig4zbaZsd0HebzD7K+bSugWiGNLkxmXiS8BsdzPR0XS3JkkHZjFkAQyxZnifu/w==", "requires": {} }, "@junobuild/ic-client": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3.tgz", - "integrity": "sha512-vRgPiOaoezxn8KXz4FAn0hoyssP2yETIarIREMT+Dj8rA8ibuDZ1msEJAvufI085NLF+CAdyHVwIPJuAD39aOg==", + "version": "8.1.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.3-next-2026-04-20.tgz", + "integrity": "sha512-vCHICvb23oTMZXOpsZZkRJkahRkxsBkx/bgGnArKxL3gaJU67JYWjjuZTAUDMjYStI3WNmdvcdnAc6enARWhIQ==", "requires": {} }, "@junobuild/schema": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.3.tgz", - "integrity": "sha512-80hQRu/OUh1oopntIjPqS+ug2Un8xbAizOwS3G8x6oaiD5zaLZ34P7hs6ZFUjgYclAAzUGOKri7DZuRL3noELA==", + "version": "1.2.4-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.4-next-2026-04-20.tgz", + "integrity": "sha512-VNWWRFBbGaX3tqWhMzEWJcKGOT604oFiCdHOdZi63cGv7qdA/s+AW8XY/xstaTj71HMOWT8Vdm8BzgJZglBv1A==", "requires": { "@dfinity/zod-schemas": "^3.2" } }, "@junobuild/storage": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2.tgz", - "integrity": "sha512-2rI2S/P8pCW7h8FtQjeKDzJ/OSFrdqWDMuAIxCkqjzhmUwS05TMmQJ5JUqBBS2DnwnlVj5rpOxEHNfT4ISVvmQ==", + "version": "2.4.2-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2-next-2026-04-20.tgz", + "integrity": "sha512-F3rYmze1b/Pu8cNDvqyeLa4IzN+VBx6zhQlp9btiSrLZSeTeXa3il5NS3pNB2/b+FSQG49hU6qgyOza3IY2fSw==", "requires": {} }, "@junobuild/utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3.tgz", - "integrity": "sha512-jeO1VthkesaT940cG7+Qjm13ndSynkQulx1JGxtXKKhR79ummxaWLAvFJqMPRQl/KsPT8LcPoJQximUuv84CZg==", + "version": "1.0.3-next-2026-04-20", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3-next-2026-04-20.tgz", + "integrity": "sha512-cv6KJGFnMVprtThfuRP4LXftikcxlB5M6/ELSG9KXAhAbxpyORWWtjW5kyPtCyjitxg0x+/MD5CbdmbG71XzdA==", "requires": {} }, "@noble/curves": { @@ -8400,9 +7885,9 @@ "integrity": "sha512-3hf42BysHnUqmZO7mK6e5X/hs1AvyEJIhdVLbG/Mxn/fhFnhGxOO37mWbMHg1RT4TxqcPKXgqj9/bp1YG0GBXA==" }, "baseline-browser-mapping": { - "version": "2.10.14", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.14.tgz", - "integrity": "sha512-fOVLPAsFTsQfuCkvahZkzq6nf8KvGWanlYoTh0SVA0A/PIUxQGU2AOZAoD95n2gFLVDW/jP6sbGLny95nmEuHA==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", "peer": true }, "bech32": { @@ -8480,9 +7965,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001784", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz", - "integrity": "sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==", + "version": "1.0.30001788", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", + "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==", "peer": true }, "chalk": { @@ -8699,9 +8184,9 @@ } }, "electron-to-chromium": { - "version": "1.5.331", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.331.tgz", - "integrity": "sha512-IbxXrsTlD3hRodkLnbxAPP4OuJYdWCeM3IOdT+CpcMoIwIoDfCmRpEtSPfwBXxVkg9xmBeY7Lz2Eo2TDn/HC3Q==", + "version": "1.5.340", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.340.tgz", + "integrity": "sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==", "peer": true }, "emoji-regex": { @@ -9272,9 +8757,9 @@ } }, "file-type": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-22.0.0.tgz", - "integrity": "sha512-cmBmnYo8Zymabm2+qAP7jTFbKF10bQpYmxoGfuZbRFRcq00BRddJdGNH/P7GA1EMpJy5yQbqa9B7yROb3z8Ziw==", + "version": "22.0.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-22.0.1.tgz", + "integrity": "sha512-ww5Mhre0EE+jmBvOXTmXAbEMuZE7uX4a3+oRCQFNj8w++g3ev913N6tXQz0XTXbueQ5TWQfm6BdaViEHHn8bhA==", "requires": { "@tokenizer/inflate": "^0.4.1", "strtok3": "^10.3.5", diff --git a/package.json b/package.json index 4f056a5..4474acf 100644 --- a/package.json +++ b/package.json @@ -32,17 +32,17 @@ "@dfinity/utils": "^4.2.1", "@icp-sdk/canisters": "^3.5.2", "@icp-sdk/core": "^5.2.1", - "@junobuild/admin": "^4.3.3", - "@junobuild/cdn": "^2.5.0", - "@junobuild/cli-tools": "^0.14.0", - "@junobuild/config": "^3.0.0", - "@junobuild/config-loader": "^0.4.11", - "@junobuild/core": "^5.4.0", - "@junobuild/functions-tools": "^0.6.6", - "@junobuild/ic-client": "^8.1.3", - "@junobuild/schema": "^1.2.3", - "@junobuild/storage": "^2.4.2", - "@junobuild/utils": "^1.0.3", + "@junobuild/admin": "^4.3.3-next-2026-04-20", + "@junobuild/cdn": "^2.5.0-next-2026-04-20", + "@junobuild/cli-tools": "^0.14.0-next-2026-04-20", + "@junobuild/config": "^3.0.1-next-2026-04-20", + "@junobuild/config-loader": "^0.4.11-next-2026-04-20", + "@junobuild/core": "^5.4.0-next-2026-04-20", + "@junobuild/functions-tools": "^0.6.8-next-2026-04-20", + "@junobuild/ic-client": "^8.1.3-next-2026-04-20", + "@junobuild/schema": "1.2.4-next-2026-04-20", + "@junobuild/storage": "^2.4.2-next-2026-04-20", + "@junobuild/utils": "1.0.3-next-2026-04-20", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -56,7 +56,7 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.1.1", - "@junobuild/functions": "^0.8.3", + "@junobuild/functions": "^0.9.0-next-2026-04-20", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -90,5 +90,10 @@ "homepage": "https://juno.build", "engines": { "node": ">=20" + }, + "overrides": { + "@junobuild/schema": "1.2.4-next-2026-04-20", + "@junobuild/utils": "1.0.3-next-2026-04-20", + "@icp-sdk/auth": "5.0.0" } } diff --git a/src/services/emulator/_runner.services.ts b/src/services/emulator/_runner.services.ts index 59c9e6d..7d3e4a8 100644 --- a/src/services/emulator/_runner.services.ts +++ b/src/services/emulator/_runner.services.ts @@ -115,9 +115,10 @@ const promptRunnerType = async (): Promise<{runnerType: EmulatorRunnerType}> => choices: [ { title: 'Docker', - value: `docker` + value: 'docker' }, - {title: `Podman`, value: `podman`} + {title: 'Podman', value: 'podman'}, + {title: 'Apple container', value: 'container'} ] }); diff --git a/src/utils/runner.utils.ts b/src/utils/runner.utils.ts index 8f483c9..65c18a2 100644 --- a/src/utils/runner.utils.ts +++ b/src/utils/runner.utils.ts @@ -1,3 +1,4 @@ +import {notEmptyString} from '@dfinity/utils'; import {spawn} from '@junobuild/cli-tools'; import {green, red, yellow} from 'kleur'; import {lt} from 'semver'; @@ -35,9 +36,13 @@ export const assertContainerRunnerRunning = async ({ runner }: Pick) => { try { + // container does not support ps + // Reference: https://github.com/apple/container/pull/299 + const args = runner === 'container' ? ['ls', '--quiet'] : ['ps', '--quiet']; + await spawn({ command: runner, - args: ['ps', '--quiet'], + args, silentOut: true }); } catch (_e: unknown) { @@ -54,13 +59,27 @@ export const hasExistingContainer = async ({ > => { try { let output = ''; + + const args = + runner === 'container' ? ['ls', '-aq'] : ['ps', '-aq', '-f', `name=^/${containerName}$`]; + await spawn({ command: runner, - args: ['ps', '-aq', '-f', `name=^/${containerName}$`], + args, stdout: (o) => (output += o), silentOut: true }); + if (runner === 'container') { + const exist = output + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(notEmptyString) + .some((name) => name === containerName); + + return {exist}; + } + return {exist: output.trim().length > 0}; } catch (err: unknown) { return {err}; @@ -75,13 +94,29 @@ export const isContainerRunning = async ({ > => { try { let output = ''; + + const args = + runner === 'container' + ? ['ls', '--quiet'] + : ['ps', '--quiet', '-f', `name=^/${containerName}$`]; + await spawn({ command: runner, - args: ['ps', '--quiet', '-f', `name=^/${containerName}$`], + args, stdout: (o) => (output += o), silentOut: true }); + if (runner === 'container') { + const running = output + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(notEmptyString) + .some((name) => name === containerName); + + return {running}; + } + return {running: output.trim().length > 0}; } catch (err: unknown) { return {err};