From 0e29a4f1c3c4220492801ef9df05e9539e8ebeda Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sat, 11 Apr 2026 16:17:24 +0200 Subject: [PATCH 1/5] feat: support for hosting config Signed-off-by: David Dal Busco --- juno.config.ts | 6 +- package-lock.json | 313 ++++++++++-------- package.json | 30 +- .../assets/_deploy/deploy.execute.services.ts | 7 +- src/services/assets/prune.services.ts | 2 +- src/types/deploy.ts | 1 + templates/init/juno.config.js | 4 +- templates/init/juno.config.ts | 4 +- templates/init/juno.predeploy.config.js | 6 +- templates/init/juno.predeploy.config.ts | 6 +- templates/init/juno.runner.config.js | 4 +- templates/init/juno.runner.config.ts | 4 +- .../init/juno.runner.predeploy.config.js | 6 +- .../init/juno.runner.predeploy.config.ts | 6 +- templates/init/juno.skylab.config.js | 4 +- templates/init/juno.skylab.config.ts | 4 +- .../init/juno.skylab.predeploy.config.js | 6 +- .../init/juno.skylab.predeploy.config.ts | 6 +- 18 files changed, 245 insertions(+), 174 deletions(-) diff --git a/juno.config.ts b/juno.config.ts index caa0213c..b6927919 100644 --- a/juno.config.ts +++ b/juno.config.ts @@ -6,8 +6,10 @@ export default defineConfig({ development: '', production: '' }, - source: 'e2e/fixtures', - precompress: false, + hosting: { + source: 'e2e/fixtures', + precompress: false + }, collections: { datastore: [ { diff --git a/package-lock.json b/package-lock.json index d96a18c9..01b4047b 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.2", - "@junobuild/cdn": "^2.4.2", - "@junobuild/cli-tools": "^0.13.3", - "@junobuild/config": "^2.15.1", - "@junobuild/config-loader": "^0.4.10", - "@junobuild/core": "^5.3.1", - "@junobuild/functions-tools": "^0.6.3", - "@junobuild/ic-client": "^8.1.2", - "@junobuild/schema": "^1.2.1", - "@junobuild/storage": "^2.4.1", - "@junobuild/utils": "^1.0.2", + "@junobuild/admin": "^4.3.2-next-2026-04-11", + "@junobuild/cdn": "^2.4.2-next-2026-04-11", + "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", + "@junobuild/config": "2.15.1-next-2026-04-11.1", + "@junobuild/config-loader": "^0.4.10-next-2026-04-11", + "@junobuild/core": "^5.3.1-next-2026-04-11", + "@junobuild/functions-tools": "0.6.3-next-2026-04-11", + "@junobuild/ic-client": "^8.1.2-next-2026-04-11", + "@junobuild/schema": "1.2.1-next-2026-04-11", + "@junobuild/storage": "^2.4.1-next-2026-04-11", + "@junobuild/utils": "1.0.2-next-2026-04-11", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -39,7 +39,6 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.0.5", - "@junobuild/functions": "^0.8.2", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -1717,50 +1716,39 @@ } }, "node_modules/@junobuild/admin": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2.tgz", - "integrity": "sha512-RY78gfIyMwfMljoa01vM6A7VXdqcLftIrxog9NCAoOH/51JsCck5YTsS9VoAqUqk0AMtztVCgy67W/e7N0k8mw==", + "version": "4.3.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2-next-2026-04-11.tgz", + "integrity": "sha512-sm/Wz88BXgdJDdNaKHCJU+z68nBuIWnkIEhodSCRKdkBd9oIvuEdm4MjxIWvJ7C+QVtbNcgFHc8vk//gP0dfxQ==", "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.1", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", - "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", - "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.4.2", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2.tgz", - "integrity": "sha512-gpdJzX6ixJ5pWeHrJepSR234U9lXFqcWhkf3qU1PO+2WqrIGtMdMeTQzPty8rHXOmGgz/nL+sZI2ZgIwyYguJg==", + "version": "2.4.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2-next-2026-04-11.tgz", + "integrity": "sha512-DZQAoWjNJyVKSFIB/bHuDx34vdxECrFYM3uVmKniskm579N0ovw1xYcLNzDhl4KGNZNQkchbkVOqDs31sXTCIw==", "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/storage": "^2.4", - "@junobuild/utils": "^1.0.2", - "semver": "7.*" + "@junobuild/ic-client": "*", + "@junobuild/storage": "*", + "@junobuild/utils": "*", + "semver": "*" } }, "node_modules/@junobuild/cli-tools": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3.tgz", - "integrity": "sha512-N2RCF+SC6sdcRqdloa0lwsdq/6x4f1W5ii9aq7pSjqlSFb7SghWE7RhvMTSFXhjvP6T0UVd77nypzJplZi092A==", + "version": "0.13.3-next-2026-04-11.3", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3-next-2026-04-11.3.tgz", + "integrity": "sha512-1cna9S5SEFAXsMoFNE9VQJnYnDB2MjvjwS0vtaJWdCG9alTLO9LedkpQfTpPoVOe8vpSg5sPghB6u1Me1Vd13A==", "license": "MIT", "dependencies": { "file-type": "^22.0.0", @@ -1769,41 +1757,41 @@ "minimatch": "^10.2.5" }, "peerDependencies": { - "@junobuild/cdn": "^2.4", - "@junobuild/config": "^2.14", - "@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": "2.15.1", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1.tgz", - "integrity": "sha512-UVVZQNe8pOjE6Vwo7YxN1E+iZ8aBwnEs9/E7DurW2yqs9aNH0V72ziNUi5/urEq/GE8zY8M9u2MF0uUKQyJcrA==", + "version": "2.15.1-next-2026-04-11.1", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1-next-2026-04-11.1.tgz", + "integrity": "sha512-z9G5gKHiHtg7x3aKl8Sh9V9ZFAxWdMKcN0ILoPnyE/19QI8Qo7NXX1ylaqPLgg3i3ZLhG2s/Dp1OFzBl01ZjYQ==", "license": "MIT", "peerDependencies": { - "@junobuild/schema": "^1.2", - "zod": "^4.3" + "@junobuild/schema": "*", + "zod": "*" } }, "node_modules/@junobuild/config-loader": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10.tgz", - "integrity": "sha512-Hr5VrouGq9nnLaED+/No+tIfDU0pPl2W/3VkmpFGiN9ZNlD6qXYg7NSKArS3JdZ7ChZfTdai7v+8JhPpoL3nZQ==", + "version": "0.4.10-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10-next-2026-04-11.tgz", + "integrity": "sha512-VOg6DIa0pWPXTlMIKr+KqUAYhjbRQwyEgKQNRaVZ+wWrGNkyGIZzP1VI90KtUmgo0mRhH9ZvuC7Z6Vts0q2knQ==", "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.3.1", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1.tgz", - "integrity": "sha512-w+5pC1vU4KqfRihSN5DsT1RPJ3YqZHFQBDIMXeuG6peXuzy3IHs5NpAp9CrKH2xlX9PFn9wPoQzV5sraRZlGMg==", + "version": "5.3.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1-next-2026-04-11.tgz", + "integrity": "sha512-UM7OpwLctIr0bq/hkSdohck3N41U70ga6/mgIilLWO8qkYk1kzSU8Xw7D7tknaj3nDIEpn/A+hk03s6zdlKQ4Q==", "license": "MIT", "dependencies": { "@junobuild/auth": "^4.1", @@ -1812,8 +1800,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.1", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", + "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", + "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.2", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", + "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", + "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.1", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", + "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", + "license": "MIT", + "peerDependencies": { "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8.1", "@junobuild/utils": "^1" } }, @@ -1846,6 +1867,7 @@ "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.2.tgz", "integrity": "sha512-CjZAYKI1kbcB5HHZaeFkqixgMSxDsMNPLXTnBHVUwV3e2fvro8K2MZuWTh8gMYEerkujJqwOgBWHXeMHii87bA==", "license": "MIT", + "peer": true, "peerDependencies": { "@icp-sdk/core": "^5", "@junobuild/schema": "^1.2", @@ -1854,64 +1876,64 @@ } }, "node_modules/@junobuild/functions-tools": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3.tgz", - "integrity": "sha512-sb4mYZUlZhVN7a2kQ2Q16IFtx01ZTCnnHfoNdYv0P8uD9+2I/fIjaAPWqgNUHNNx8Ix+4uomeDLCk8X2Pxjh3A==", + "version": "0.6.3-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3-next-2026-04-11.tgz", + "integrity": "sha512-SO9ggoBxOe5EerJgFCPhq7REd1Ilof6iun9DYQ1kQ5g88ruJr5sjN5nBtpxzaCDuluxQSP+XF8mdB93T+EAl0A==", "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", - "@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.2", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", - "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", + "version": "8.1.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2-next-2026-04-11.tgz", + "integrity": "sha512-4LlbthZXPek+5+8ea6J4S9h9mld/qfpoLlF+ReqYDxpgzBzDibd7KLnNCvUBPz4KdcwA7x15/HVbSkRu0MV/+g==", "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.1", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1.tgz", - "integrity": "sha512-jaBt9Ob7qeqnSzepeaSungOs+z1bYzNLxbOnOhhQalOBxC2OTJHAUbiQKMfjn+TXl0zTxUeeiBihtiZSLKQDfg==", + "version": "1.2.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1-next-2026-04-11.tgz", + "integrity": "sha512-xXzxr0SgcM02PPtJqeB7zOk5mJA/iuirgZzdE2g2P92FQ15451lRpiZyfHWsLadDfD6lrDuF1ILJwVCfF8quDQ==", "license": "MIT", "dependencies": { "@dfinity/zod-schemas": "^3.2" }, "peerDependencies": { - "zod": "^4.3" + "zod": "*" } }, "node_modules/@junobuild/storage": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", - "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", + "version": "2.4.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1-next-2026-04-11.tgz", + "integrity": "sha512-k9deBuOyC7Cm1XWSDYx6JnlgosDnZ/mMCzePIc+kQoOQ4tv8RLGZSfarZtuHYdgPjDIVINOH1IPYOVyIroZ10Q==", "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.2", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2.tgz", - "integrity": "sha512-GMkupzpm2OrhOF9zWQ+2ZcVuJGNJEab18h0X9p7nxIu0KuuXQJXMCEmag/Y8N9RE0KBvYEmBbQVRMqRfH+9Dyg==", + "version": "1.0.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2-next-2026-04-11.tgz", + "integrity": "sha512-FNPl4ShPv6ocRvzTdG7b1Iz5Q6qyvLgi77x6PtZsE94QUZ4rLzTqQvGGkEv2MJRpQRd/UcPzxedEl0Jxs70czA==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "^5" + "@icp-sdk/core": "*" } }, "node_modules/@noble/curves": { @@ -7888,27 +7910,21 @@ } }, "@junobuild/admin": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2.tgz", - "integrity": "sha512-RY78gfIyMwfMljoa01vM6A7VXdqcLftIrxog9NCAoOH/51JsCck5YTsS9VoAqUqk0AMtztVCgy67W/e7N0k8mw==", - "requires": {} - }, - "@junobuild/auth": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", - "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", + "version": "4.3.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2-next-2026-04-11.tgz", + "integrity": "sha512-sm/Wz88BXgdJDdNaKHCJU+z68nBuIWnkIEhodSCRKdkBd9oIvuEdm4MjxIWvJ7C+QVtbNcgFHc8vk//gP0dfxQ==", "requires": {} }, "@junobuild/cdn": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2.tgz", - "integrity": "sha512-gpdJzX6ixJ5pWeHrJepSR234U9lXFqcWhkf3qU1PO+2WqrIGtMdMeTQzPty8rHXOmGgz/nL+sZI2ZgIwyYguJg==", + "version": "2.4.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2-next-2026-04-11.tgz", + "integrity": "sha512-DZQAoWjNJyVKSFIB/bHuDx34vdxECrFYM3uVmKniskm579N0ovw1xYcLNzDhl4KGNZNQkchbkVOqDs31sXTCIw==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3.tgz", - "integrity": "sha512-N2RCF+SC6sdcRqdloa0lwsdq/6x4f1W5ii9aq7pSjqlSFb7SghWE7RhvMTSFXhjvP6T0UVd77nypzJplZi092A==", + "version": "0.13.3-next-2026-04-11.3", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3-next-2026-04-11.3.tgz", + "integrity": "sha512-1cna9S5SEFAXsMoFNE9VQJnYnDB2MjvjwS0vtaJWdCG9alTLO9LedkpQfTpPoVOe8vpSg5sPghB6u1Me1Vd13A==", "requires": { "file-type": "^22.0.0", "listr2": "^10.2.1", @@ -7917,26 +7933,46 @@ } }, "@junobuild/config": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1.tgz", - "integrity": "sha512-UVVZQNe8pOjE6Vwo7YxN1E+iZ8aBwnEs9/E7DurW2yqs9aNH0V72ziNUi5/urEq/GE8zY8M9u2MF0uUKQyJcrA==", + "version": "2.15.1-next-2026-04-11.1", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1-next-2026-04-11.1.tgz", + "integrity": "sha512-z9G5gKHiHtg7x3aKl8Sh9V9ZFAxWdMKcN0ILoPnyE/19QI8Qo7NXX1ylaqPLgg3i3ZLhG2s/Dp1OFzBl01ZjYQ==", "requires": {} }, "@junobuild/config-loader": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10.tgz", - "integrity": "sha512-Hr5VrouGq9nnLaED+/No+tIfDU0pPl2W/3VkmpFGiN9ZNlD6qXYg7NSKArS3JdZ7ChZfTdai7v+8JhPpoL3nZQ==", + "version": "0.4.10-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10-next-2026-04-11.tgz", + "integrity": "sha512-VOg6DIa0pWPXTlMIKr+KqUAYhjbRQwyEgKQNRaVZ+wWrGNkyGIZzP1VI90KtUmgo0mRhH9ZvuC7Z6Vts0q2knQ==", "requires": {} }, "@junobuild/core": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1.tgz", - "integrity": "sha512-w+5pC1vU4KqfRihSN5DsT1RPJ3YqZHFQBDIMXeuG6peXuzy3IHs5NpAp9CrKH2xlX9PFn9wPoQzV5sraRZlGMg==", + "version": "5.3.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1-next-2026-04-11.tgz", + "integrity": "sha512-UM7OpwLctIr0bq/hkSdohck3N41U70ga6/mgIilLWO8qkYk1kzSU8Xw7D7tknaj3nDIEpn/A+hk03s6zdlKQ4Q==", "requires": { "@junobuild/auth": "^4.1", "@junobuild/errors": "*", "@junobuild/ic-client": "^8.1", "@junobuild/storage": "^2.4" + }, + "dependencies": { + "@junobuild/auth": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", + "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", + "requires": {} + }, + "@junobuild/ic-client": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", + "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", + "requires": {} + }, + "@junobuild/storage": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", + "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", + "requires": {} + } } }, "@junobuild/emulator-playwright": { @@ -7955,38 +7991,39 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.2.tgz", "integrity": "sha512-CjZAYKI1kbcB5HHZaeFkqixgMSxDsMNPLXTnBHVUwV3e2fvro8K2MZuWTh8gMYEerkujJqwOgBWHXeMHii87bA==", + "peer": true, "requires": {} }, "@junobuild/functions-tools": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3.tgz", - "integrity": "sha512-sb4mYZUlZhVN7a2kQ2Q16IFtx01ZTCnnHfoNdYv0P8uD9+2I/fIjaAPWqgNUHNNx8Ix+4uomeDLCk8X2Pxjh3A==", + "version": "0.6.3-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3-next-2026-04-11.tgz", + "integrity": "sha512-SO9ggoBxOe5EerJgFCPhq7REd1Ilof6iun9DYQ1kQ5g88ruJr5sjN5nBtpxzaCDuluxQSP+XF8mdB93T+EAl0A==", "requires": {} }, "@junobuild/ic-client": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", - "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", + "version": "8.1.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2-next-2026-04-11.tgz", + "integrity": "sha512-4LlbthZXPek+5+8ea6J4S9h9mld/qfpoLlF+ReqYDxpgzBzDibd7KLnNCvUBPz4KdcwA7x15/HVbSkRu0MV/+g==", "requires": {} }, "@junobuild/schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1.tgz", - "integrity": "sha512-jaBt9Ob7qeqnSzepeaSungOs+z1bYzNLxbOnOhhQalOBxC2OTJHAUbiQKMfjn+TXl0zTxUeeiBihtiZSLKQDfg==", + "version": "1.2.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1-next-2026-04-11.tgz", + "integrity": "sha512-xXzxr0SgcM02PPtJqeB7zOk5mJA/iuirgZzdE2g2P92FQ15451lRpiZyfHWsLadDfD6lrDuF1ILJwVCfF8quDQ==", "requires": { "@dfinity/zod-schemas": "^3.2" } }, "@junobuild/storage": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", - "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", + "version": "2.4.1-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1-next-2026-04-11.tgz", + "integrity": "sha512-k9deBuOyC7Cm1XWSDYx6JnlgosDnZ/mMCzePIc+kQoOQ4tv8RLGZSfarZtuHYdgPjDIVINOH1IPYOVyIroZ10Q==", "requires": {} }, "@junobuild/utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2.tgz", - "integrity": "sha512-GMkupzpm2OrhOF9zWQ+2ZcVuJGNJEab18h0X9p7nxIu0KuuXQJXMCEmag/Y8N9RE0KBvYEmBbQVRMqRfH+9Dyg==", + "version": "1.0.2-next-2026-04-11", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2-next-2026-04-11.tgz", + "integrity": "sha512-FNPl4ShPv6ocRvzTdG7b1Iz5Q6qyvLgi77x6PtZsE94QUZ4rLzTqQvGGkEv2MJRpQRd/UcPzxedEl0Jxs70czA==", "requires": {} }, "@noble/curves": { diff --git a/package.json b/package.json index df0ade25..e10facec 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.2", - "@junobuild/cdn": "^2.4.2", - "@junobuild/cli-tools": "^0.13.3", - "@junobuild/config": "^2.15.1", - "@junobuild/config-loader": "^0.4.10", - "@junobuild/core": "^5.3.1", - "@junobuild/functions-tools": "^0.6.3", - "@junobuild/ic-client": "^8.1.2", - "@junobuild/schema": "^1.2.1", - "@junobuild/storage": "^2.4.1", - "@junobuild/utils": "^1.0.2", + "@junobuild/admin": "^4.3.2-next-2026-04-11", + "@junobuild/cdn": "^2.4.2-next-2026-04-11", + "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", + "@junobuild/config": "2.15.1-next-2026-04-11.1", + "@junobuild/config-loader": "^0.4.10-next-2026-04-11", + "@junobuild/core": "^5.3.1-next-2026-04-11", + "@junobuild/functions-tools": "0.6.3-next-2026-04-11", + "@junobuild/ic-client": "^8.1.2-next-2026-04-11", + "@junobuild/schema": "1.2.1-next-2026-04-11", + "@junobuild/storage": "^2.4.1-next-2026-04-11", + "@junobuild/utils": "1.0.2-next-2026-04-11", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -56,7 +56,6 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.0.5", - "@junobuild/functions": "^0.8.2", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -90,5 +89,12 @@ "homepage": "https://juno.build", "engines": { "node": ">=20" + }, + "overrides": { + "@junobuild/config": "2.15.1-next-2026-04-11.1", + "@junobuild/schema": "1.2.1-next-2026-04-11", + "@junobuild/utils": "1.0.2-next-2026-04-11", + "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", + "@junobuild/functions-tools": "0.6.3-next-2026-04-11" } } diff --git a/src/services/assets/_deploy/deploy.execute.services.ts b/src/services/assets/_deploy/deploy.execute.services.ts index dcbc0892..18ad5d85 100644 --- a/src/services/assets/_deploy/deploy.execute.services.ts +++ b/src/services/assets/_deploy/deploy.execute.services.ts @@ -64,6 +64,7 @@ const executeDeploy = async < const {satellite, satelliteConfig: satelliteConfigRead} = await assertConfigAndLoadSatelliteContext(); + /** @deprecated */ const precompress = satelliteConfigRead.precompress ?? (nonNullish(deprecatedGzip) @@ -77,7 +78,7 @@ const executeDeploy = async < ...(nonNullish(precompress) && {precompress}) }; - await cliPreDeploy({config: satelliteConfig}); + await cliPreDeploy({config: satelliteConfig.hosting ?? satelliteConfig}); const result = await deployWithMethod({ ...rest, @@ -90,7 +91,7 @@ const executeDeploy = async < process.exit(0); } - await cliPostDeploy({config: satelliteConfig}); + await cliPostDeploy({config: satelliteConfig.hosting ?? satelliteConfig}); return result; }; @@ -121,7 +122,7 @@ const deployWithMethod = async < }); const deployParams: DeployParams = { - config: satelliteConfig, + config: satelliteConfig.hosting ?? satelliteConfig, listAssets: listExistingAssets, assertSourceDirExists, assertMemory, diff --git a/src/services/assets/prune.services.ts b/src/services/assets/prune.services.ts index 3938703b..21d4786d 100644 --- a/src/services/assets/prune.services.ts +++ b/src/services/assets/prune.services.ts @@ -42,7 +42,7 @@ export const executePrune = async (params: {dryRun?: boolean; batchSize?: number const result = await pruneServices({ params: { - config: satelliteConfig, + config: satelliteConfig.hosting ?? satelliteConfig, listAssets: listExistingAssets, assertSourceDirExists, ...params diff --git a/src/types/deploy.ts b/src/types/deploy.ts index b1f60dc0..a473aed3 100644 --- a/src/types/deploy.ts +++ b/src/types/deploy.ts @@ -9,6 +9,7 @@ import type {OnUploadProgress} from '@junobuild/storage'; import type {SatelliteParametersWithId} from './satellite'; export interface DeployOptions { + /** @deprecated */ deprecatedGzip?: string; uploadBatchSize: number | undefined; } diff --git a/templates/init/juno.config.js b/templates/init/juno.config.js index 9508104a..eb314347 100644 --- a/templates/init/juno.config.js +++ b/templates/init/juno.config.js @@ -7,7 +7,9 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } }, orbiter: { id: '' diff --git a/templates/init/juno.config.ts b/templates/init/juno.config.ts index 5636a0dc..4eef813f 100644 --- a/templates/init/juno.config.ts +++ b/templates/init/juno.config.ts @@ -6,7 +6,9 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } }, orbiter: { id: '' diff --git a/templates/init/juno.predeploy.config.js b/templates/init/juno.predeploy.config.js index 454b130c..d3b6a1a0 100644 --- a/templates/init/juno.predeploy.config.js +++ b/templates/init/juno.predeploy.config.js @@ -7,8 +7,10 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } }, orbiter: { id: '' diff --git a/templates/init/juno.predeploy.config.ts b/templates/init/juno.predeploy.config.ts index ff7772cc..b6ca90cb 100644 --- a/templates/init/juno.predeploy.config.ts +++ b/templates/init/juno.predeploy.config.ts @@ -6,8 +6,10 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } }, orbiter: { id: '' diff --git a/templates/init/juno.runner.config.js b/templates/init/juno.runner.config.js index 58d34fad..f65b6de8 100644 --- a/templates/init/juno.runner.config.js +++ b/templates/init/juno.runner.config.js @@ -7,7 +7,9 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } }, emulator: { runner: { diff --git a/templates/init/juno.runner.config.ts b/templates/init/juno.runner.config.ts index eef4a23e..0b246df7 100644 --- a/templates/init/juno.runner.config.ts +++ b/templates/init/juno.runner.config.ts @@ -6,7 +6,9 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } }, emulator: { runner: { diff --git a/templates/init/juno.runner.predeploy.config.js b/templates/init/juno.runner.predeploy.config.js index 6a73ffd0..5677e78e 100644 --- a/templates/init/juno.runner.predeploy.config.js +++ b/templates/init/juno.runner.predeploy.config.js @@ -7,8 +7,10 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } }, emulator: { runner: { diff --git a/templates/init/juno.runner.predeploy.config.ts b/templates/init/juno.runner.predeploy.config.ts index 5fe206bd..4a686f77 100644 --- a/templates/init/juno.runner.predeploy.config.ts +++ b/templates/init/juno.runner.predeploy.config.ts @@ -6,8 +6,10 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } }, emulator: { runner: { diff --git a/templates/init/juno.skylab.config.js b/templates/init/juno.skylab.config.js index 3f12cb8d..a245d62a 100644 --- a/templates/init/juno.skylab.config.js +++ b/templates/init/juno.skylab.config.js @@ -7,6 +7,8 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } } }); diff --git a/templates/init/juno.skylab.config.ts b/templates/init/juno.skylab.config.ts index 0e4aa9b5..5340d02c 100644 --- a/templates/init/juno.skylab.config.ts +++ b/templates/init/juno.skylab.config.ts @@ -6,6 +6,8 @@ export default defineConfig({ development: '', production: '' }, - source: '' + hosting: { + source: '' + } } }); diff --git a/templates/init/juno.skylab.predeploy.config.js b/templates/init/juno.skylab.predeploy.config.js index cd28e8b5..12130bfd 100644 --- a/templates/init/juno.skylab.predeploy.config.js +++ b/templates/init/juno.skylab.predeploy.config.js @@ -7,7 +7,9 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } } }); diff --git a/templates/init/juno.skylab.predeploy.config.ts b/templates/init/juno.skylab.predeploy.config.ts index 5052e5d2..150b4f12 100644 --- a/templates/init/juno.skylab.predeploy.config.ts +++ b/templates/init/juno.skylab.predeploy.config.ts @@ -6,7 +6,9 @@ export default defineConfig({ development: '', production: '' }, - source: '', - predeploy: [' build'] + hosting: { + source: '', + predeploy: [' build'] + } } }); From bcb15b9451726a8b43b150a5f6b43c00d1171c03 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 12 Apr 2026 11:04:14 +0200 Subject: [PATCH 2/5] feat: source for init Signed-off-by: David Dal Busco --- src/configs/juno.config.ts | 6 ++++-- src/services/config/init.services.ts | 4 +++- src/types/config.ts | 6 ++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/configs/juno.config.ts b/src/configs/juno.config.ts index 72e5e296..ff84f5c0 100644 --- a/src/configs/juno.config.ts +++ b/src/configs/juno.config.ts @@ -55,7 +55,9 @@ export const writeJunoConfigPlaceholder = async ({ case 'ts': case 'js': { const { - satellite: {source} + satellite: { + hosting: {source} + } } = config; const withPredeploy = nonNullish(pm); @@ -74,7 +76,7 @@ export const writeJunoConfigPlaceholder = async ({ }); let content = template - .replace('', source ?? DEPLOY_DEFAULT_SOURCE) + .replace('', source) .replace('', pm === 'npm' ? 'npm run' : (pm ?? '')); if (nonNullish(emulatorConfig)) { diff --git a/src/services/config/init.services.ts b/src/services/config/init.services.ts index 1c2aec72..b530804e 100644 --- a/src/services/config/init.services.ts +++ b/src/services/config/init.services.ts @@ -94,7 +94,9 @@ export const initConfigNoneInteractive = async ({ await writeJunoConfigPlaceholder({ ...rest, config: { - satellite: {source} + satellite: { + hosting: {source} + } }, emulatorConfig }); diff --git a/src/types/config.ts b/src/types/config.ts index 7e680f8a..98cf3b99 100644 --- a/src/types/config.ts +++ b/src/types/config.ts @@ -1,4 +1,4 @@ -import type {JunoConfig, OrbiterConfig, SatelliteConfig} from '@junobuild/config'; +import type {HostingConfig, JunoConfig, OrbiterConfig, SatelliteConfig} from '@junobuild/config'; export type JunoConfigWithSatelliteId = Omit & { satellite: Omit & Required>; @@ -6,5 +6,7 @@ export type JunoConfigWithSatelliteId = Omit & { - satellite: Pick; + satellite: { + hosting: Pick; + }; }; From 65ce3b8d80830471ce573d1875d83cd9bf791125 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 12 Apr 2026 11:12:29 +0200 Subject: [PATCH 3/5] feat: review msg Signed-off-by: David Dal Busco --- src/services/assets/_deploy/deploy.execute.services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/assets/_deploy/deploy.execute.services.ts b/src/services/assets/_deploy/deploy.execute.services.ts index 18ad5d85..de2a8549 100644 --- a/src/services/assets/_deploy/deploy.execute.services.ts +++ b/src/services/assets/_deploy/deploy.execute.services.ts @@ -171,7 +171,7 @@ const assertSourceDirExists = (source: string) => { console.log( `${red( 'Cannot proceed deployment.' - )}\nAre you sure the folder containing your built app (the "source" tag in the configuration file for Juno) files is correctly configured, or have you built your app?` + )}\nAre you sure the folder containing your built app files is correctly configured (in your juno.config under "hosting > source"), or have you built your app?` ); process.exit(1); } From 3ea5466ee6507c7f1f499271ed5f231d7213d5d7 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 12 Apr 2026 11:19:59 +0200 Subject: [PATCH 4/5] chore: shorter Signed-off-by: David Dal Busco --- src/services/assets/_deploy/deploy.execute.services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/assets/_deploy/deploy.execute.services.ts b/src/services/assets/_deploy/deploy.execute.services.ts index de2a8549..d83d919a 100644 --- a/src/services/assets/_deploy/deploy.execute.services.ts +++ b/src/services/assets/_deploy/deploy.execute.services.ts @@ -171,7 +171,7 @@ const assertSourceDirExists = (source: string) => { console.log( `${red( 'Cannot proceed deployment.' - )}\nAre you sure the folder containing your built app files is correctly configured (in your juno.config under "hosting > source"), or have you built your app?` + )}\nAre you sure the folder containing your built app files is correctly configured (in your juno.config "hosting > source"), or have you built your app?` ); process.exit(1); } From 817e9c276bdc92c1dd3de14428650c1670177a20 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 12 Apr 2026 20:10:50 +0200 Subject: [PATCH 5/5] feat: released libs Signed-off-by: David Dal Busco --- package-lock.json | 338 ++++++++++++++++++++-------------------------- package.json | 30 ++-- 2 files changed, 162 insertions(+), 206 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5630015..48735280 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.2-next-2026-04-11", - "@junobuild/cdn": "^2.4.2-next-2026-04-11", - "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", - "@junobuild/config": "2.15.1-next-2026-04-11.1", - "@junobuild/config-loader": "^0.4.10-next-2026-04-11", - "@junobuild/core": "^5.3.1-next-2026-04-11", - "@junobuild/functions-tools": "0.6.3-next-2026-04-11", - "@junobuild/ic-client": "^8.1.2-next-2026-04-11", - "@junobuild/schema": "1.2.1-next-2026-04-11", - "@junobuild/storage": "^2.4.1-next-2026-04-11", - "@junobuild/utils": "1.0.2-next-2026-04-11", + "@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.4", + "@junobuild/ic-client": "^8.1.3", + "@junobuild/schema": "^1.2.2", + "@junobuild/storage": "^2.4.2", + "@junobuild/utils": "^1.0.3", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -39,6 +39,7 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.1.1", + "@junobuild/functions": "^0.8.3", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -1716,39 +1717,49 @@ } }, "node_modules/@junobuild/admin": { - "version": "4.3.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2-next-2026-04-11.tgz", - "integrity": "sha512-sm/Wz88BXgdJDdNaKHCJU+z68nBuIWnkIEhodSCRKdkBd9oIvuEdm4MjxIWvJ7C+QVtbNcgFHc8vk//gP0dfxQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.3.tgz", + "integrity": "sha512-l8cgcctrt7lBazFWPeBwZs1HtiERnDi5CulBomPe6th8cakjcuPVcbzO/ml1XlOIeDV+P4qyFyyw05iPJ3/taw==", "license": "MIT", "peerDependencies": { - "@icp-sdk/canisters": "*", - "@icp-sdk/core": "*", + "@icp-sdk/canisters": "^3.3", + "@icp-sdk/core": "^5", "@junobuild/config": "*", - "@junobuild/ic-client": "*", - "@junobuild/utils": "*", - "semver": "*", - "zod": "*" + "@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" } }, "node_modules/@junobuild/cdn": { - "version": "2.4.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2-next-2026-04-11.tgz", - "integrity": "sha512-DZQAoWjNJyVKSFIB/bHuDx34vdxECrFYM3uVmKniskm579N0ovw1xYcLNzDhl4KGNZNQkchbkVOqDs31sXTCIw==", + "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==", "license": "MIT", "peerDependencies": { - "@icp-sdk/canisters": "*", - "@icp-sdk/core": "*", - "@junobuild/config": "*", - "@junobuild/ic-client": "*", - "@junobuild/storage": "*", - "@junobuild/utils": "*", - "semver": "*" + "@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.*" } }, "node_modules/@junobuild/cli-tools": { - "version": "0.13.3-next-2026-04-11.3", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3-next-2026-04-11.3.tgz", - "integrity": "sha512-1cna9S5SEFAXsMoFNE9VQJnYnDB2MjvjwS0vtaJWdCG9alTLO9LedkpQfTpPoVOe8vpSg5sPghB6u1Me1Vd13A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0.tgz", + "integrity": "sha512-akkzWI9TfqjT9G9T9xpffQn9O1zfEefMu+0Gp7yQwyKMRK9c4ardNEPDZg7Mzpq0D3TDuNn5FkwDb/mTzsSJXA==", "license": "MIT", "dependencies": { "file-type": "^22.0.0", @@ -1757,41 +1768,41 @@ "minimatch": "^10.2.5" }, "peerDependencies": { - "@junobuild/cdn": "*", - "@junobuild/config": "*", - "@junobuild/functions-tools": "*", - "@junobuild/storage": "*", - "@junobuild/utils": "*", - "esbuild": "*", - "ora": "*" + "@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" } }, "node_modules/@junobuild/config": { - "version": "2.15.1-next-2026-04-11.1", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1-next-2026-04-11.1.tgz", - "integrity": "sha512-z9G5gKHiHtg7x3aKl8Sh9V9ZFAxWdMKcN0ILoPnyE/19QI8Qo7NXX1ylaqPLgg3i3ZLhG2s/Dp1OFzBl01ZjYQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.0.tgz", + "integrity": "sha512-JP3T0V1IWh7o1HYyhK5Bq8eAMO7K2A52zqrP3PxA7jsb7QGstzVphjKVxrsLGrXbwMTBw1xTHEQkYHavG1D0LA==", "license": "MIT", "peerDependencies": { - "@junobuild/schema": "*", - "zod": "*" + "@junobuild/schema": "^1.2", + "zod": "^4.3" } }, "node_modules/@junobuild/config-loader": { - "version": "0.4.10-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10-next-2026-04-11.tgz", - "integrity": "sha512-VOg6DIa0pWPXTlMIKr+KqUAYhjbRQwyEgKQNRaVZ+wWrGNkyGIZzP1VI90KtUmgo0mRhH9ZvuC7Z6Vts0q2knQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11.tgz", + "integrity": "sha512-8T2/WfKMP6kKOZnsFCjayc0Ha6YRLdisqmmQLmGPatGp7HPzyTWXkzEvubLzHVJg5DjqMi3Qm7Pg1tb7ZXLQgA==", "license": "MIT", "peerDependencies": { - "@babel/core": "*", - "@babel/plugin-transform-modules-commonjs": "*", - "@babel/preset-typescript": "*", + "@babel/core": "7.28.4", + "@babel/plugin-transform-modules-commonjs": "7.27.1", + "@babel/preset-typescript": "7.27.1", "@junobuild/config": "*" } }, "node_modules/@junobuild/core": { - "version": "5.3.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1-next-2026-04-11.tgz", - "integrity": "sha512-UM7OpwLctIr0bq/hkSdohck3N41U70ga6/mgIilLWO8qkYk1kzSU8Xw7D7tknaj3nDIEpn/A+hk03s6zdlKQ4Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0.tgz", + "integrity": "sha512-XW2O8S7HxNt8zPM9loxhd5z6st+ISY7ffGiYRdk2rzQsjlzGDlNdKdTjFcZqEC7mStnQJjsypJyFHhEzj81C8A==", "license": "MIT", "dependencies": { "@junobuild/auth": "^4.1", @@ -1800,41 +1811,8 @@ "@junobuild/storage": "^2.4" }, "peerDependencies": { - "@icp-sdk/auth": "*", - "@icp-sdk/core": "*", - "@junobuild/utils": "*" - } - }, - "node_modules/@junobuild/core/node_modules/@junobuild/auth": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", - "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", - "license": "MIT", - "peerDependencies": { + "@icp-sdk/auth": "^5", "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8.1", - "@junobuild/utils": "^1" - } - }, - "node_modules/@junobuild/core/node_modules/@junobuild/ic-client": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", - "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", - "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.1", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", - "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", - "license": "MIT", - "peerDependencies": { - "@icp-sdk/core": "^5", - "@junobuild/ic-client": "^8.1", "@junobuild/utils": "^1" } }, @@ -1857,17 +1835,16 @@ } }, "node_modules/@junobuild/errors": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@junobuild/errors/-/errors-0.2.6.tgz", - "integrity": "sha512-B+0qKmUZUaCCRC54DE/J7vSW5Nr3UE4mcUQnIXQJG79wUKjT8ydYvye5D5vUsUDFspQGs5xGGdElPKVSDLusKQ==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@junobuild/errors/-/errors-0.2.8.tgz", + "integrity": "sha512-n2rXof9nIqGDCARHZETXcicG3JH6+1JGB9iTuFzkziPZm7q/G1KSzh8gRJYzrFC3XrSGPRWvhX4hKEnoxAbisQ==", "license": "MIT" }, "node_modules/@junobuild/functions": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.2.tgz", - "integrity": "sha512-CjZAYKI1kbcB5HHZaeFkqixgMSxDsMNPLXTnBHVUwV3e2fvro8K2MZuWTh8gMYEerkujJqwOgBWHXeMHii87bA==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.3.tgz", + "integrity": "sha512-EcgxNxN8NZ3p1MiEpzxcBxYnenaQWN9PaMT4uSzCqCIZlJlNCRGHTJ1ukopA/WZfcRgckkKfkHlSEanrDLD3Cw==", "license": "MIT", - "peer": true, "peerDependencies": { "@icp-sdk/core": "^5", "@junobuild/schema": "^1.2", @@ -1876,64 +1853,64 @@ } }, "node_modules/@junobuild/functions-tools": { - "version": "0.6.3-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3-next-2026-04-11.tgz", - "integrity": "sha512-SO9ggoBxOe5EerJgFCPhq7REd1Ilof6iun9DYQ1kQ5g88ruJr5sjN5nBtpxzaCDuluxQSP+XF8mdB93T+EAl0A==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.4.tgz", + "integrity": "sha512-9FFADzRzH6rjbwUonZN86DkPa2wK0fLn0aOxJrB1garI3YuBxgZCdTDR68mTDDpFh4Q0qHEoejYxXKCdFfjJMA==", "license": "MIT", "peerDependencies": { - "@babel/core": "*", - "@babel/parser": "*", - "@babel/plugin-transform-modules-commonjs": "*", - "@babel/preset-typescript": "*", - "@babel/traverse": "*", - "@babel/types": "*", - "@junobuild/functions": "*", - "@junobuild/schema": "*", - "@junobuild/utils": "*", - "zod": "*" + "@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", + "@junobuild/utils": "^1.0.2", + "zod": "^4.3" } }, "node_modules/@junobuild/ic-client": { - "version": "8.1.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2-next-2026-04-11.tgz", - "integrity": "sha512-4LlbthZXPek+5+8ea6J4S9h9mld/qfpoLlF+ReqYDxpgzBzDibd7KLnNCvUBPz4KdcwA7x15/HVbSkRu0MV/+g==", + "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": "*", - "@junobuild/utils": "*", - "idb-keyval": "*" + "@icp-sdk/core": "^5", + "@junobuild/utils": "^1.0.2", + "idb-keyval": "^6.2.2" } }, "node_modules/@junobuild/schema": { - "version": "1.2.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1-next-2026-04-11.tgz", - "integrity": "sha512-xXzxr0SgcM02PPtJqeB7zOk5mJA/iuirgZzdE2g2P92FQ15451lRpiZyfHWsLadDfD6lrDuF1ILJwVCfF8quDQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.2.tgz", + "integrity": "sha512-llWsGZfgKszVnYJwC7pBn3fIZT6ip6QEKYFA82P+JgKtRskFP+RaCvuk6i8SqtT3dmhFRpBRXvESQuBUJJKl9A==", "license": "MIT", "dependencies": { "@dfinity/zod-schemas": "^3.2" }, "peerDependencies": { - "zod": "*" + "zod": "^4.3" } }, "node_modules/@junobuild/storage": { - "version": "2.4.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1-next-2026-04-11.tgz", - "integrity": "sha512-k9deBuOyC7Cm1XWSDYx6JnlgosDnZ/mMCzePIc+kQoOQ4tv8RLGZSfarZtuHYdgPjDIVINOH1IPYOVyIroZ10Q==", + "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": "*", - "@junobuild/ic-client": "*", - "@junobuild/utils": "*" + "@icp-sdk/core": "^5", + "@junobuild/ic-client": "^8.1", + "@junobuild/utils": "^1" } }, "node_modules/@junobuild/utils": { - "version": "1.0.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2-next-2026-04-11.tgz", - "integrity": "sha512-FNPl4ShPv6ocRvzTdG7b1Iz5Q6qyvLgi77x6PtZsE94QUZ4rLzTqQvGGkEv2MJRpQRd/UcPzxedEl0Jxs70czA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3.tgz", + "integrity": "sha512-jeO1VthkesaT940cG7+Qjm13ndSynkQulx1JGxtXKKhR79ummxaWLAvFJqMPRQl/KsPT8LcPoJQximUuv84CZg==", "license": "MIT", "peerDependencies": { - "@icp-sdk/core": "*" + "@icp-sdk/core": "^5" } }, "node_modules/@noble/curves": { @@ -7910,21 +7887,27 @@ } }, "@junobuild/admin": { - "version": "4.3.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-4.3.2-next-2026-04-11.tgz", - "integrity": "sha512-sm/Wz88BXgdJDdNaKHCJU+z68nBuIWnkIEhodSCRKdkBd9oIvuEdm4MjxIWvJ7C+QVtbNcgFHc8vk//gP0dfxQ==", + "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==", "requires": {} }, "@junobuild/cdn": { - "version": "2.4.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-2.4.2-next-2026-04-11.tgz", - "integrity": "sha512-DZQAoWjNJyVKSFIB/bHuDx34vdxECrFYM3uVmKniskm579N0ovw1xYcLNzDhl4KGNZNQkchbkVOqDs31sXTCIw==", + "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==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.13.3-next-2026-04-11.3", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.13.3-next-2026-04-11.3.tgz", - "integrity": "sha512-1cna9S5SEFAXsMoFNE9VQJnYnDB2MjvjwS0vtaJWdCG9alTLO9LedkpQfTpPoVOe8vpSg5sPghB6u1Me1Vd13A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.14.0.tgz", + "integrity": "sha512-akkzWI9TfqjT9G9T9xpffQn9O1zfEefMu+0Gp7yQwyKMRK9c4ardNEPDZg7Mzpq0D3TDuNn5FkwDb/mTzsSJXA==", "requires": { "file-type": "^22.0.0", "listr2": "^10.2.1", @@ -7933,46 +7916,26 @@ } }, "@junobuild/config": { - "version": "2.15.1-next-2026-04-11.1", - "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-2.15.1-next-2026-04-11.1.tgz", - "integrity": "sha512-z9G5gKHiHtg7x3aKl8Sh9V9ZFAxWdMKcN0ILoPnyE/19QI8Qo7NXX1ylaqPLgg3i3ZLhG2s/Dp1OFzBl01ZjYQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/config/-/config-3.0.0.tgz", + "integrity": "sha512-JP3T0V1IWh7o1HYyhK5Bq8eAMO7K2A52zqrP3PxA7jsb7QGstzVphjKVxrsLGrXbwMTBw1xTHEQkYHavG1D0LA==", "requires": {} }, "@junobuild/config-loader": { - "version": "0.4.10-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.10-next-2026-04-11.tgz", - "integrity": "sha512-VOg6DIa0pWPXTlMIKr+KqUAYhjbRQwyEgKQNRaVZ+wWrGNkyGIZzP1VI90KtUmgo0mRhH9ZvuC7Z6Vts0q2knQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@junobuild/config-loader/-/config-loader-0.4.11.tgz", + "integrity": "sha512-8T2/WfKMP6kKOZnsFCjayc0Ha6YRLdisqmmQLmGPatGp7HPzyTWXkzEvubLzHVJg5DjqMi3Qm7Pg1tb7ZXLQgA==", "requires": {} }, "@junobuild/core": { - "version": "5.3.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.3.1-next-2026-04-11.tgz", - "integrity": "sha512-UM7OpwLctIr0bq/hkSdohck3N41U70ga6/mgIilLWO8qkYk1kzSU8Xw7D7tknaj3nDIEpn/A+hk03s6zdlKQ4Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-5.4.0.tgz", + "integrity": "sha512-XW2O8S7HxNt8zPM9loxhd5z6st+ISY7ffGiYRdk2rzQsjlzGDlNdKdTjFcZqEC7mStnQJjsypJyFHhEzj81C8A==", "requires": { "@junobuild/auth": "^4.1", "@junobuild/errors": "*", "@junobuild/ic-client": "^8.1", "@junobuild/storage": "^2.4" - }, - "dependencies": { - "@junobuild/auth": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@junobuild/auth/-/auth-4.1.1.tgz", - "integrity": "sha512-0xD4GZ3TCsNi2R5Ge/ycllOa9Tg+DBcHPQ0ydNo6FxP3iNPCIxI7lUwnEX9vJnopzGGWCBoFAZYLLz0w9I1yQA==", - "requires": {} - }, - "@junobuild/ic-client": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2.tgz", - "integrity": "sha512-sUaCeWqfkbk4VVcgYbsO4J16A0Vag37+qDACl+1qjcgaN661HmksTtyn+W85NTNZ3TzbgAgK5HvpdHsSQvpWSA==", - "requires": {} - }, - "@junobuild/storage": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1.tgz", - "integrity": "sha512-vDAPvzMC7aojV8hXPAmvWVOvHO3OqqL+l6icSncZLDSqDU8Yb/EX9n0Pjmn29HNC0FJAz6FlNkpO5dMIlAU88g==", - "requires": {} - } } }, "@junobuild/emulator-playwright": { @@ -7983,47 +7946,46 @@ "requires": {} }, "@junobuild/errors": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@junobuild/errors/-/errors-0.2.6.tgz", - "integrity": "sha512-B+0qKmUZUaCCRC54DE/J7vSW5Nr3UE4mcUQnIXQJG79wUKjT8ydYvye5D5vUsUDFspQGs5xGGdElPKVSDLusKQ==" + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@junobuild/errors/-/errors-0.2.8.tgz", + "integrity": "sha512-n2rXof9nIqGDCARHZETXcicG3JH6+1JGB9iTuFzkziPZm7q/G1KSzh8gRJYzrFC3XrSGPRWvhX4hKEnoxAbisQ==" }, "@junobuild/functions": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.2.tgz", - "integrity": "sha512-CjZAYKI1kbcB5HHZaeFkqixgMSxDsMNPLXTnBHVUwV3e2fvro8K2MZuWTh8gMYEerkujJqwOgBWHXeMHii87bA==", - "peer": true, + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@junobuild/functions/-/functions-0.8.3.tgz", + "integrity": "sha512-EcgxNxN8NZ3p1MiEpzxcBxYnenaQWN9PaMT4uSzCqCIZlJlNCRGHTJ1ukopA/WZfcRgckkKfkHlSEanrDLD3Cw==", "requires": {} }, "@junobuild/functions-tools": { - "version": "0.6.3-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.3-next-2026-04-11.tgz", - "integrity": "sha512-SO9ggoBxOe5EerJgFCPhq7REd1Ilof6iun9DYQ1kQ5g88ruJr5sjN5nBtpxzaCDuluxQSP+XF8mdB93T+EAl0A==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@junobuild/functions-tools/-/functions-tools-0.6.4.tgz", + "integrity": "sha512-9FFADzRzH6rjbwUonZN86DkPa2wK0fLn0aOxJrB1garI3YuBxgZCdTDR68mTDDpFh4Q0qHEoejYxXKCdFfjJMA==", "requires": {} }, "@junobuild/ic-client": { - "version": "8.1.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-8.1.2-next-2026-04-11.tgz", - "integrity": "sha512-4LlbthZXPek+5+8ea6J4S9h9mld/qfpoLlF+ReqYDxpgzBzDibd7KLnNCvUBPz4KdcwA7x15/HVbSkRu0MV/+g==", + "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/schema": { - "version": "1.2.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.1-next-2026-04-11.tgz", - "integrity": "sha512-xXzxr0SgcM02PPtJqeB7zOk5mJA/iuirgZzdE2g2P92FQ15451lRpiZyfHWsLadDfD6lrDuF1ILJwVCfF8quDQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@junobuild/schema/-/schema-1.2.2.tgz", + "integrity": "sha512-llWsGZfgKszVnYJwC7pBn3fIZT6ip6QEKYFA82P+JgKtRskFP+RaCvuk6i8SqtT3dmhFRpBRXvESQuBUJJKl9A==", "requires": { "@dfinity/zod-schemas": "^3.2" } }, "@junobuild/storage": { - "version": "2.4.1-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.1-next-2026-04-11.tgz", - "integrity": "sha512-k9deBuOyC7Cm1XWSDYx6JnlgosDnZ/mMCzePIc+kQoOQ4tv8RLGZSfarZtuHYdgPjDIVINOH1IPYOVyIroZ10Q==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-2.4.2.tgz", + "integrity": "sha512-2rI2S/P8pCW7h8FtQjeKDzJ/OSFrdqWDMuAIxCkqjzhmUwS05TMmQJ5JUqBBS2DnwnlVj5rpOxEHNfT4ISVvmQ==", "requires": {} }, "@junobuild/utils": { - "version": "1.0.2-next-2026-04-11", - "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.2-next-2026-04-11.tgz", - "integrity": "sha512-FNPl4ShPv6ocRvzTdG7b1Iz5Q6qyvLgi77x6PtZsE94QUZ4rLzTqQvGGkEv2MJRpQRd/UcPzxedEl0Jxs70czA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@junobuild/utils/-/utils-1.0.3.tgz", + "integrity": "sha512-jeO1VthkesaT940cG7+Qjm13ndSynkQulx1JGxtXKKhR79ummxaWLAvFJqMPRQl/KsPT8LcPoJQximUuv84CZg==", "requires": {} }, "@noble/curves": { diff --git a/package.json b/package.json index c18870ed..329c5aee 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.2-next-2026-04-11", - "@junobuild/cdn": "^2.4.2-next-2026-04-11", - "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", - "@junobuild/config": "2.15.1-next-2026-04-11.1", - "@junobuild/config-loader": "^0.4.10-next-2026-04-11", - "@junobuild/core": "^5.3.1-next-2026-04-11", - "@junobuild/functions-tools": "0.6.3-next-2026-04-11", - "@junobuild/ic-client": "^8.1.2-next-2026-04-11", - "@junobuild/schema": "1.2.1-next-2026-04-11", - "@junobuild/storage": "^2.4.1-next-2026-04-11", - "@junobuild/utils": "1.0.2-next-2026-04-11", + "@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.4", + "@junobuild/ic-client": "^8.1.3", + "@junobuild/schema": "^1.2.2", + "@junobuild/storage": "^2.4.2", + "@junobuild/utils": "^1.0.3", "chokidar": "^5.0.0", "conf": "^15.1.0", "open": "^11.0.0", @@ -56,6 +56,7 @@ "@eslint/eslintrc": "^3.3.3", "@eslint/js": "^9.39.2", "@junobuild/emulator-playwright": "^0.1.1", + "@junobuild/functions": "^0.8.3", "@playwright/test": "^1.58.1", "@types/node": "24.10.9", "@types/prompts": "^2.4.9", @@ -89,12 +90,5 @@ "homepage": "https://juno.build", "engines": { "node": ">=20" - }, - "overrides": { - "@junobuild/config": "2.15.1-next-2026-04-11.1", - "@junobuild/schema": "1.2.1-next-2026-04-11", - "@junobuild/utils": "1.0.2-next-2026-04-11", - "@junobuild/cli-tools": "0.13.3-next-2026-04-11.3", - "@junobuild/functions-tools": "0.6.3-next-2026-04-11" } }