From 69d02819d3490b847ff5d36eef060a888f0e40a3 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Mon, 11 Aug 2025 14:49:26 +0200 Subject: [PATCH 01/16] feat: batch init and commit upload with proposal --- package-lock.json | 84 +++++----- package.json | 12 +- .../assets/deploy/deploy.execute.services.ts | 130 ++++++++++----- src/services/deploy.services.ts | 157 +++++++++++++----- 4 files changed, 250 insertions(+), 133 deletions(-) diff --git a/package-lock.json b/package-lock.json index 324d001c..12e69502 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,15 +16,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^1.0.0-next-2025-08-11.8", - "@junobuild/cdn": "^0.2.3-next-2025-08-11.8", - "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.8", + "@junobuild/admin": "^1.0.0-next-2025-08-11.9", + "@junobuild/cdn": "^0.2.3-next-2025-08-11.9", + "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.9", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.0.3-next-2025-08-11.8", + "@junobuild/core": "^1.0.3-next-2025-08-11.9", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^0.0.1-next-2025-08-11.8", - "@junobuild/storage": "^0.2.4-next-2025-08-11.8", + "@junobuild/ic-client": "^0.0.1-next-2025-08-11.9", + "@junobuild/storage": "^0.2.4-next-2025-08-11.9", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", @@ -1426,9 +1426,9 @@ } }, "node_modules/@junobuild/admin": { - "version": "1.0.0-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.8.tgz", - "integrity": "sha512-yY9vXAVABdUa0gnd8X+dHdeAbIFQqfZrd+tsETz6rdI07bE1crLdY/R8xeIM2EcPesVIntlNH2y2cMSX7oBF/A==", + "version": "1.0.0-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.9.tgz", + "integrity": "sha512-MCO0P47/5cmhuC3GZDKhu/teygt6VmvFH00i9BmMUw2aF69Roqlmcbh4Fi7jioRk8G4Mra//c628+4ISAQVREg==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1444,9 +1444,9 @@ } }, "node_modules/@junobuild/cdn": { - "version": "0.2.3-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.8.tgz", - "integrity": "sha512-+zdWncHzjsVZT/v1Iq/OwB5u7PNQmxhCKAAn0fA1lz1Qu7tYMUR7zOSGuu2pxyh9/QeaBBNSx7tDwk/egNZqaQ==", + "version": "0.2.3-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.9.tgz", + "integrity": "sha512-a+P1oG0XGoZ8ZfR2ucpCB8YWKAbFOm0l5490O74R5JcvP5L476MjujWCrrxW/SozvczxYOyOZM/u57ieiM/+RQ==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1462,9 +1462,9 @@ } }, "node_modules/@junobuild/cli-tools": { - "version": "0.4.1-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.8.tgz", - "integrity": "sha512-v4z3d0iX/kBcVWTfnCjashlzWxYFXeSSk928uej24wEu6TM3RwcnVJRJRxptOdgGS8ed5JNx0M30N9WU0V1ZGQ==", + "version": "0.4.1-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.9.tgz", + "integrity": "sha512-sWNtHerCK16UsrDZST8dwZydA7I5B6cbYifk+152/yjjEjiMNIPZdTvfs7wxYFpybACP3+wGoNtgqAmv6r9muA==", "license": "MIT", "dependencies": { "file-type": "^21.0.0", @@ -1503,9 +1503,9 @@ } }, "node_modules/@junobuild/core": { - "version": "1.0.3-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.8.tgz", - "integrity": "sha512-wZjFH2vHttkRvaYjFs0GbjN5FIDBlFXANL3cx0ziaon4yuvDDoRb0wORyVsNL+laBQdIABXw8w9UsofQFzqXAw==", + "version": "1.0.3-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.9.tgz", + "integrity": "sha512-itbHgL8OoM+YhR6xH/e4bRem7jArRPN+fkUhdXWbZmgXV8JagdOkHTI8QJ5Fi3Nh5vkjmIaJb/pSUuEI1zKY9g==", "license": "MIT", "dependencies": { "@junobuild/errors": "*", @@ -1559,9 +1559,9 @@ } }, "node_modules/@junobuild/ic-client": { - "version": "0.0.1-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.8.tgz", - "integrity": "sha512-gsEvPAiZhrkZCTs494oOqkRx3VbhpAJtPszK3Xgmd+j6rlqscIP27GqZsiX00bo1OjkEHyhtDql16e35G1/aTw==", + "version": "0.0.1-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.9.tgz", + "integrity": "sha512-/ePg3gCzBYS2XJrPVQYODfZrX8Ak85gOxFdxrWVUWFyd/GUKk9PZjfY4AQzFahK8pCg25uutUpFL67IP8+lNLw==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1571,9 +1571,9 @@ } }, "node_modules/@junobuild/storage": { - "version": "0.2.4-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.8.tgz", - "integrity": "sha512-RWudnfO0upcWORS9HcDyNCjcPZ1BP4+eJBx/U3dr1+ijaZmV64h7Zxf1JJPf9JWL+LmG2VhTB6uyGmx6hujqkQ==", + "version": "0.2.4-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.9.tgz", + "integrity": "sha512-Vp5/0vD3skj+NS10F+fY8RbUuK4yay/RUvkwV60X6nGTeWKuoCRTWGUWSyOeh5qWtrXCjLRBurDrk9R8TObPRQ==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -7910,21 +7910,21 @@ } }, "@junobuild/admin": { - "version": "1.0.0-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.8.tgz", - "integrity": "sha512-yY9vXAVABdUa0gnd8X+dHdeAbIFQqfZrd+tsETz6rdI07bE1crLdY/R8xeIM2EcPesVIntlNH2y2cMSX7oBF/A==", + "version": "1.0.0-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.9.tgz", + "integrity": "sha512-MCO0P47/5cmhuC3GZDKhu/teygt6VmvFH00i9BmMUw2aF69Roqlmcbh4Fi7jioRk8G4Mra//c628+4ISAQVREg==", "requires": {} }, "@junobuild/cdn": { - "version": "0.2.3-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.8.tgz", - "integrity": "sha512-+zdWncHzjsVZT/v1Iq/OwB5u7PNQmxhCKAAn0fA1lz1Qu7tYMUR7zOSGuu2pxyh9/QeaBBNSx7tDwk/egNZqaQ==", + "version": "0.2.3-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.9.tgz", + "integrity": "sha512-a+P1oG0XGoZ8ZfR2ucpCB8YWKAbFOm0l5490O74R5JcvP5L476MjujWCrrxW/SozvczxYOyOZM/u57ieiM/+RQ==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.4.1-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.8.tgz", - "integrity": "sha512-v4z3d0iX/kBcVWTfnCjashlzWxYFXeSSk928uej24wEu6TM3RwcnVJRJRxptOdgGS8ed5JNx0M30N9WU0V1ZGQ==", + "version": "0.4.1-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.9.tgz", + "integrity": "sha512-sWNtHerCK16UsrDZST8dwZydA7I5B6cbYifk+152/yjjEjiMNIPZdTvfs7wxYFpybACP3+wGoNtgqAmv6r9muA==", "requires": { "file-type": "^21.0.0", "listr": "^0.14.3", @@ -7945,9 +7945,9 @@ "requires": {} }, "@junobuild/core": { - "version": "1.0.3-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.8.tgz", - "integrity": "sha512-wZjFH2vHttkRvaYjFs0GbjN5FIDBlFXANL3cx0ziaon4yuvDDoRb0wORyVsNL+laBQdIABXw8w9UsofQFzqXAw==", + "version": "1.0.3-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.9.tgz", + "integrity": "sha512-itbHgL8OoM+YhR6xH/e4bRem7jArRPN+fkUhdXWbZmgXV8JagdOkHTI8QJ5Fi3Nh5vkjmIaJb/pSUuEI1zKY9g==", "requires": { "@junobuild/errors": "*", "@junobuild/ic-client": "*", @@ -7974,15 +7974,15 @@ "requires": {} }, "@junobuild/ic-client": { - "version": "0.0.1-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.8.tgz", - "integrity": "sha512-gsEvPAiZhrkZCTs494oOqkRx3VbhpAJtPszK3Xgmd+j6rlqscIP27GqZsiX00bo1OjkEHyhtDql16e35G1/aTw==", + "version": "0.0.1-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.9.tgz", + "integrity": "sha512-/ePg3gCzBYS2XJrPVQYODfZrX8Ak85gOxFdxrWVUWFyd/GUKk9PZjfY4AQzFahK8pCg25uutUpFL67IP8+lNLw==", "requires": {} }, "@junobuild/storage": { - "version": "0.2.4-next-2025-08-11.8", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.8.tgz", - "integrity": "sha512-RWudnfO0upcWORS9HcDyNCjcPZ1BP4+eJBx/U3dr1+ijaZmV64h7Zxf1JJPf9JWL+LmG2VhTB6uyGmx6hujqkQ==", + "version": "0.2.4-next-2025-08-11.9", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.9.tgz", + "integrity": "sha512-Vp5/0vD3skj+NS10F+fY8RbUuK4yay/RUvkwV60X6nGTeWKuoCRTWGUWSyOeh5qWtrXCjLRBurDrk9R8TObPRQ==", "requires": {} }, "@junobuild/utils": { diff --git a/package.json b/package.json index 38bf72ee..9f9f4b15 100644 --- a/package.json +++ b/package.json @@ -30,15 +30,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^1.0.0-next-2025-08-11.8", - "@junobuild/cdn": "^0.2.3-next-2025-08-11.8", - "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.8", + "@junobuild/admin": "^1.0.0-next-2025-08-11.9", + "@junobuild/cdn": "^0.2.3-next-2025-08-11.9", + "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.9", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.0.3-next-2025-08-11.8", + "@junobuild/core": "^1.0.3-next-2025-08-11.9", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^0.0.1-next-2025-08-11.8", - "@junobuild/storage": "^0.2.4-next-2025-08-11.8", + "@junobuild/ic-client": "^0.0.1-next-2025-08-11.9", + "@junobuild/storage": "^0.2.4-next-2025-08-11.9", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 92fc101f..496aa158 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -4,9 +4,8 @@ import type { DeployResult, DeployResultWithProposal, UploadFile, - UploadFileStorage, - UploadFileStorageWithProposal, - UploadFileWithProposal + UploadFiles, + UploadFileStorage } from '@junobuild/cli-tools'; import {postDeploy as cliPostDeploy, preDeploy as cliPreDeploy} from '@junobuild/cli-tools'; import type {SatelliteConfig} from '@junobuild/config'; @@ -19,42 +18,63 @@ import {assertSatelliteMemorySize} from './deploy.assert.services'; import {listAssets} from './deploy.list.services'; export interface DeployFnParams { - deploy: DeployParams; + deploy: {params: DeployParams; upload: T}; satellite: SatelliteParametersWithId; } +// TODO: refactor and naming? export type UploadFileFnParams = UploadFileStorage & {satellite: SatelliteParametersWithId}; export type UploadFileFnParamsWithProposal = UploadFileFnParams & {proposalId: bigint}; +export type UploadFilesFnParams = { + files: UploadFileStorage[]; + satellite: SatelliteParametersWithId; +}; +export type UploadFilesFnParamsWithProposal = UploadFilesFnParams & {proposalId: bigint}; + +type UploadFn

= + | { + deployFn: (params: DeployFnParams<(params: P) => Promise>) => Promise; + uploadFn: (params: P & {satellite: SatelliteParametersWithId}) => Promise; + method: 'single'; + } + | { + deployFn: (params: DeployFnParams<(params: {files: P[]}) => Promise>) => Promise; + uploadFn: (params: {files: P[], satellite: SatelliteParametersWithId}) => Promise; + method: 'grouped'; + }; + +type UploadFileStorageWithProposal = UploadFileStorage & {proposalId: bigint}; + export const executeDeployWithProposal = async ({ - deployFn, - uploadFileFn, - options + options, + ...rest }: { - deployFn: (params: DeployFnParams) => Promise; - uploadFileFn: (params: UploadFileFnParamsWithProposal) => Promise; options: {deprecatedGzip?: string}; -}): Promise => { +} & UploadFn< + UploadFileStorageWithProposal, + DeployResultWithProposal +>): Promise => { return await executeDeploy({ - deployFn, - uploadFileFn, - options + options, + ...rest }); }; export const executeDeployImmediate = async ({ deployFn, - uploadFileFn, + uploadFn, options }: { deployFn: (params: DeployFnParams) => Promise; - uploadFileFn: (params: UploadFileFnParams) => Promise; + uploadFn: (params: UploadFileFnParams) => Promise; options: {deprecatedGzip?: string}; }): Promise => { return await executeDeploy({ deployFn, - uploadFileFn, - options + uploadFn, + options, + method: 'single' }); }; @@ -63,13 +83,12 @@ const executeDeploy = async < R extends DeployResult | DeployResultWithProposal >({ deployFn, - uploadFileFn, + uploadFn, + method, options }: { - deployFn: (params: DeployFnParams<(params: P) => Promise>) => Promise; - uploadFileFn: (params: P & {satellite: SatelliteParametersWithId}) => Promise; options: {deprecatedGzip?: string}; -}): Promise => { +} & UploadFn): Promise => { const assertMemory = async () => { await assertSatelliteMemorySize(); }; @@ -90,27 +109,60 @@ const executeDeploy = async < satellite }); - const uploadFile = async (params: P) => { - const paramsWithSatellite: P & {satellite: SatelliteParametersWithId} = { - ...params, - satellite + // TODO: really ugly + let result: R; + + if (method === 'grouped') { + const uploadFiles = async (params: {files: P[]}) => { + const paramsWithSatellite: {files: P[]} & { + satellite: SatelliteParametersWithId; + } = { + ...params, + satellite + }; + + await uploadFn(paramsWithSatellite); }; - await uploadFileFn(paramsWithSatellite); - }; + await cliPreDeploy({config: satelliteConfig}); + + result = await deployFn({ + deploy: { + params: { + config: satelliteConfig, + listAssets: listExistingAssets, + assertSourceDirExists, + assertMemory + }, + upload: uploadFiles + }, + satellite + }); + } else { + const uploadFile = async (params: P) => { + const paramsWithSatellite: P & {satellite: SatelliteParametersWithId} = { + ...params, + satellite + }; + + await uploadFn(paramsWithSatellite); + }; - await cliPreDeploy({config: satelliteConfig}); - - const result = await deployFn({ - deploy: { - config: satelliteConfig, - listAssets: listExistingAssets, - assertSourceDirExists, - assertMemory, - uploadFile - }, - satellite - }); + await cliPreDeploy({config: satelliteConfig}); + + result = await deployFn({ + deploy: { + params: { + config: satelliteConfig, + listAssets: listExistingAssets, + assertSourceDirExists, + assertMemory + }, + upload: uploadFile + }, + satellite + }); + } if (result.result === 'skipped') { process.exit(0); diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index a16392d3..14e03df3 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -1,13 +1,17 @@ -import {uploadAssetWithProposal} from '@junobuild/cdn'; +import {uploadAssetsWithProposal, uploadAssetWithProposal} from '@junobuild/cdn'; import { deploy as cliDeploy, deployWithProposal as cliDeployWithProposal, type DeployResult, type DeployResultWithProposal, hasArgs, + type UploadFile, + type UploadFileStorage, type UploadFileWithProposal } from '@junobuild/cli-tools'; +import {UploadFilesWithProposal} from '@junobuild/cli-tools/dist/types/types/deploy'; import {uploadBlob} from '@junobuild/core'; +import type {UploadAsset} from '@junobuild/storage'; import {yellow} from 'kleur'; import {compare} from 'semver'; import {clear} from './assets/clear.services'; @@ -16,7 +20,8 @@ import { executeDeployImmediate, executeDeployWithProposal, type UploadFileFnParams, - type UploadFileFnParamsWithProposal + type UploadFileFnParamsWithProposal, + UploadFilesFnParamsWithProposal } from './assets/deploy/deploy.execute.services'; import {clearProposalStagedAssets} from './changes/changes.clear.services'; import {getSatelliteVersion} from './version.services'; @@ -55,72 +60,127 @@ export const deploy = async (args?: string[]) => { return; } - await deployWithProposal({args, clearOption, deprecatedGzip}); + // TODO: use version for grouped + await deployWithProposal({args, clearOption, deprecatedGzip, grouped: true}); }; const deployWithProposal = async ({ args, clearOption, + grouped, deprecatedGzip }: { args?: string[]; clearOption: boolean; + // TODO: rename + grouped: boolean; deprecatedGzip: string | undefined; }) => { const noCommit = hasArgs({args, options: ['--no-apply']}); - const deployFn = async ({ - deploy, - satellite - }: DeployFnParams): Promise => - await cliDeployWithProposal({ - deploy: { - ...deploy, - includeAllFiles: clearOption - }, - proposal: { - clearAssets: clearOption, - autoCommit: !noCommit, - cdn: { - satellite - } - } - }); - - const uploadFileFn = async ({ + // TODO: upgly + const mapFileToAssetForUpload = ({ filename: storageFilename, fullPath: storagePath, data, collection, headers = [], - encoding, - satellite, - proposalId - }: UploadFileFnParamsWithProposal) => { + encoding + }: UploadFileStorage): UploadAsset => { // Similar as in Juno Core SDK // The IC certification does not currently support encoding const filename = decodeURI(storageFilename); const fullPath = storagePath ?? `/${collection}/${filename}`; - await uploadAssetWithProposal({ - cdn: {satellite}, - proposalId, - asset: { - filename, - fullPath, - data, - collection, - headers, - encoding - } + return { + filename, + fullPath, + data, + collection, + headers, + encoding + }; + }; + + // TODO: much duplication + const uploadSingleFile = async (): Promise => { + const uploadFn = async ({satellite, proposalId, ...file}: UploadFileFnParamsWithProposal) => { + await uploadAssetWithProposal({ + cdn: {satellite}, + proposalId, + asset: mapFileToAssetForUpload(file) + }); + }; + + const deployFn = async ({ + deploy: {params, upload}, + satellite + }: DeployFnParams): Promise => + await cliDeployWithProposal({ + deploy: { + params: { + ...params, + includeAllFiles: clearOption + }, + upload: {uploadFile: upload} + }, + proposal: { + clearAssets: clearOption, + autoCommit: !noCommit, + cdn: { + satellite + } + } + }); + + return await executeDeployWithProposal({ + deployFn, + uploadFn, + options: {deprecatedGzip}, + method: 'single' }); }; - const result = await executeDeployWithProposal({ - deployFn, - uploadFileFn, - options: {deprecatedGzip} - }); + const uploadGroupedFiles = async (): Promise => { + const uploadFn = async ({files, satellite, proposalId}: UploadFilesFnParamsWithProposal) => { + await uploadAssetsWithProposal({ + cdn: {satellite}, + proposalId, + assets: files.map(mapFileToAssetForUpload) + }); + }; + + // TODO: basically just UploadFilesWithProposal different + const deployFn = async ({ + deploy: {params, upload}, + satellite + }: DeployFnParams): Promise => + await cliDeployWithProposal({ + deploy: { + params: { + ...params, + includeAllFiles: clearOption + }, + upload: {uploadFiles: upload} + }, + proposal: { + clearAssets: clearOption, + autoCommit: !noCommit, + cdn: { + satellite + } + } + }); + + return await executeDeployWithProposal({ + deployFn, + uploadFn, + method: 'grouped', + options: {deprecatedGzip} + }); + }; + + const result = await (grouped ? uploadGroupedFiles() : uploadSingleFile()); if (result.result !== 'deployed') { return; @@ -145,10 +205,15 @@ const deployImmediate = async ({ await clear(); } - const deployFn = async ({deploy}: DeployFnParams): Promise => - await cliDeploy(deploy); + const deployFn = async ({ + deploy: {params, upload} + }: DeployFnParams): Promise => + await cliDeploy({ + params, + upload: {uploadFile: upload} + }); - const uploadFileFn = async ({ + const uploadFn = async ({ filename, fullPath, data, @@ -170,7 +235,7 @@ const deployImmediate = async ({ await executeDeployImmediate({ deployFn, - uploadFileFn, + uploadFn, options: {deprecatedGzip} }); }; From d1e98e05b2eaeabbc174c1a9f0a2d137f769813b Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Mon, 11 Aug 2025 16:21:02 +0200 Subject: [PATCH 02/16] feat: adapt --- src/services/functions/publish.services.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/services/functions/publish.services.ts b/src/services/functions/publish.services.ts index 024209f3..33273816 100644 --- a/src/services/functions/publish.services.ts +++ b/src/services/functions/publish.services.ts @@ -6,7 +6,7 @@ import { hasArgs, nextArg, publishSatelliteWasmWithProposal, - type UploadFileStorageWithProposal + type UploadFileStorage } from '@junobuild/cli-tools'; import {red} from 'kleur'; import {dirname} from 'node:path'; @@ -115,10 +115,8 @@ const publishWasmWithProposal = async ({ }); }; - const uploadFile = async (params: UploadFileStorageWithProposal) => { - const paramsWithSatellite: UploadFileStorageWithProposal & { - satellite: SatelliteParametersWithId; - } = { + const uploadFile = async (params: UploadFileStorage & {proposalId: bigint}) => { + const paramsWithSatellite = { ...params, satellite }; @@ -134,7 +132,7 @@ const publishWasmWithProposal = async ({ return await publishSatelliteWasmWithProposal({ publish: { - uploadFile, + upload: {uploadFile}, fullPath, filePath, sourceAbsolutePath, From fae865f5068a09508568c85d459cc5e15732df3c Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Mon, 11 Aug 2025 16:59:43 +0200 Subject: [PATCH 03/16] fix: types --- .../assets/deploy/deploy.execute.services.ts | 44 +++++++++---------- src/services/deploy.services.ts | 6 +-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 496aa158..9a2fafdd 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -4,7 +4,6 @@ import type { DeployResult, DeployResultWithProposal, UploadFile, - UploadFiles, UploadFileStorage } from '@junobuild/cli-tools'; import {postDeploy as cliPostDeploy, preDeploy as cliPreDeploy} from '@junobuild/cli-tools'; @@ -26,36 +25,41 @@ export interface DeployFnParams { export type UploadFileFnParams = UploadFileStorage & {satellite: SatelliteParametersWithId}; export type UploadFileFnParamsWithProposal = UploadFileFnParams & {proposalId: bigint}; -export type UploadFilesFnParams = { +export interface UploadFilesFnParams { files: UploadFileStorage[]; satellite: SatelliteParametersWithId; -}; +} export type UploadFilesFnParamsWithProposal = UploadFilesFnParams & {proposalId: bigint}; +type UploadInput = [R] extends [DeployResultWithProposal] ? T & {proposalId: bigint} : T; + +type UploadParams = UploadInput & { + satellite: SatelliteParametersWithId; +}; + type UploadFn

= | { - deployFn: (params: DeployFnParams<(params: P) => Promise>) => Promise; - uploadFn: (params: P & {satellite: SatelliteParametersWithId}) => Promise; method: 'single'; + deployFn: ( + params: DeployFnParams<(params: UploadInput) => Promise> + ) => Promise; + uploadFn: (params: UploadParams) => Promise; } | { - deployFn: (params: DeployFnParams<(params: {files: P[]}) => Promise>) => Promise; - uploadFn: (params: {files: P[], satellite: SatelliteParametersWithId}) => Promise; method: 'grouped'; + deployFn: ( + params: DeployFnParams<(params: UploadInput<{files: P[]}, R>) => Promise> + ) => Promise; + uploadFn: (params: UploadParams<{files: P[]}, R>) => Promise; }; -type UploadFileStorageWithProposal = UploadFileStorage & {proposalId: bigint}; - export const executeDeployWithProposal = async ({ options, ...rest }: { options: {deprecatedGzip?: string}; -} & UploadFn< - UploadFileStorageWithProposal, - DeployResultWithProposal ->): Promise => { - return await executeDeploy({ +} & UploadFn): Promise => { + return await executeDeploy({ options, ...rest }); @@ -113,14 +117,11 @@ const executeDeploy = async < let result: R; if (method === 'grouped') { - const uploadFiles = async (params: {files: P[]}) => { - const paramsWithSatellite: {files: P[]} & { - satellite: SatelliteParametersWithId; - } = { + const uploadFiles = async (params: UploadInput<{files: P[]}, R>) => { + const paramsWithSatellite: UploadParams<{files: P[]}, R> = { ...params, satellite }; - await uploadFn(paramsWithSatellite); }; @@ -139,12 +140,11 @@ const executeDeploy = async < satellite }); } else { - const uploadFile = async (params: P) => { - const paramsWithSatellite: P & {satellite: SatelliteParametersWithId} = { + const uploadFile = async (params: UploadInput) => { + const paramsWithSatellite: UploadParams = { ...params, satellite }; - await uploadFn(paramsWithSatellite); }; diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index 14e03df3..d97bd43f 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -7,9 +7,9 @@ import { hasArgs, type UploadFile, type UploadFileStorage, + type UploadFilesWithProposal, type UploadFileWithProposal } from '@junobuild/cli-tools'; -import {UploadFilesWithProposal} from '@junobuild/cli-tools/dist/types/types/deploy'; import {uploadBlob} from '@junobuild/core'; import type {UploadAsset} from '@junobuild/storage'; import {yellow} from 'kleur'; @@ -21,7 +21,7 @@ import { executeDeployWithProposal, type UploadFileFnParams, type UploadFileFnParamsWithProposal, - UploadFilesFnParamsWithProposal + type UploadFilesFnParamsWithProposal } from './assets/deploy/deploy.execute.services'; import {clearProposalStagedAssets} from './changes/changes.clear.services'; import {getSatelliteVersion} from './version.services'; @@ -207,7 +207,7 @@ const deployImmediate = async ({ const deployFn = async ({ deploy: {params, upload} - }: DeployFnParams): Promise => + }: DeployFnParams): Promise => await cliDeploy({ params, upload: {uploadFile: upload} From 94268f4c500d9fcb330081048343c35533fb6d80 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Tue, 12 Aug 2025 14:14:22 +0200 Subject: [PATCH 04/16] build: use latest --- package-lock.json | 133 ++++++++++++++++++++++++++++++---------------- package.json | 12 ++--- 2 files changed, 93 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12e69502..3259e6c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,15 +16,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^1.0.0-next-2025-08-11.9", - "@junobuild/cdn": "^0.2.3-next-2025-08-11.9", - "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.9", + "@junobuild/admin": "^2.0.0-next-2025-08-12", + "@junobuild/cdn": "^1.0.0-next-2025-08-12", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-12", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.0.3-next-2025-08-11.9", + "@junobuild/core": "^1.1.0-next-2025-08-12", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^0.0.1-next-2025-08-11.9", - "@junobuild/storage": "^0.2.4-next-2025-08-11.9", + "@junobuild/ic-client": "^1.0.0-next-2025-08-12", + "@junobuild/storage": "^1.0.0-next-2025-08-12", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", @@ -1426,9 +1426,9 @@ } }, "node_modules/@junobuild/admin": { - "version": "1.0.0-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.9.tgz", - "integrity": "sha512-MCO0P47/5cmhuC3GZDKhu/teygt6VmvFH00i9BmMUw2aF69Roqlmcbh4Fi7jioRk8G4Mra//c628+4ISAQVREg==", + "version": "2.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.tgz", + "integrity": "sha512-dZy3I4aIHadJDyy2F6riCvGO4FLf3mXdX1+S9uPpnB9jx6GYkkMW1/avgjlETcT4F26dd25bHXgijwLHhZsvrA==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1444,9 +1444,9 @@ } }, "node_modules/@junobuild/cdn": { - "version": "0.2.3-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.9.tgz", - "integrity": "sha512-a+P1oG0XGoZ8ZfR2ucpCB8YWKAbFOm0l5490O74R5JcvP5L476MjujWCrrxW/SozvczxYOyOZM/u57ieiM/+RQ==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-MCBxjm1vzDNb7L68AiPoB8G/YW/74rYhzQxt8X37a7YOGb3fgKAGARGmxC+7r0XHgkLB3ZYGHkc54pEM/5LqTQ==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1462,9 +1462,9 @@ } }, "node_modules/@junobuild/cli-tools": { - "version": "0.4.1-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.9.tgz", - "integrity": "sha512-sWNtHerCK16UsrDZST8dwZydA7I5B6cbYifk+152/yjjEjiMNIPZdTvfs7wxYFpybACP3+wGoNtgqAmv6r9muA==", + "version": "0.5.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.tgz", + "integrity": "sha512-uYJ9UeXv1EKkai3Hei/ro1k5xHYvTkGSqXqd16wy4/4RxK7mteL7XEdkM0zddaOdXXT3yWlAaYSfDBsOIXVpAQ==", "license": "MIT", "dependencies": { "file-type": "^21.0.0", @@ -1503,14 +1503,14 @@ } }, "node_modules/@junobuild/core": { - "version": "1.0.3-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.9.tgz", - "integrity": "sha512-itbHgL8OoM+YhR6xH/e4bRem7jArRPN+fkUhdXWbZmgXV8JagdOkHTI8QJ5Fi3Nh5vkjmIaJb/pSUuEI1zKY9g==", + "version": "1.1.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.tgz", + "integrity": "sha512-/gQbEmRc1M6MhfRosYFyvDLqLXIAWjdVMIEcowxnTiJ/4+TGtNHT8rHxV08J3sqEGpiqEI/U8U0iZUgDHrv0lA==", "license": "MIT", "dependencies": { "@junobuild/errors": "*", - "@junobuild/ic-client": "*", - "@junobuild/storage": "*", + "@junobuild/ic-client": "^1", + "@junobuild/storage": "^1", "@junobuild/utils": "*" }, "peerDependencies": { @@ -1522,6 +1522,33 @@ "@dfinity/utils": "*" } }, + "node_modules/@junobuild/core/node_modules/@junobuild/ic-client": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", + "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "license": "MIT", + "peerDependencies": { + "@dfinity/agent": "^2.3.0", + "@dfinity/candid": "^2.3.0", + "@dfinity/identity": "^2.3.0", + "@dfinity/principal": "^2.3.0" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/storage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", + "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "license": "MIT", + "peerDependencies": { + "@dfinity/agent": "^2.3.0", + "@dfinity/candid": "^2.3.0", + "@dfinity/identity": "^2.3.0", + "@dfinity/principal": "^2.3.0", + "@dfinity/utils": "^2", + "@junobuild/ic-client": "^1", + "@junobuild/utils": "*" + } + }, "node_modules/@junobuild/did-tools": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@junobuild/did-tools/-/did-tools-0.2.4.tgz", @@ -1559,9 +1586,9 @@ } }, "node_modules/@junobuild/ic-client": { - "version": "0.0.1-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.9.tgz", - "integrity": "sha512-/ePg3gCzBYS2XJrPVQYODfZrX8Ak85gOxFdxrWVUWFyd/GUKk9PZjfY4AQzFahK8pCg25uutUpFL67IP8+lNLw==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-iKEkoAlE09xcxCck72sFDPtGWSwML19IeDB7njabXtx4bk3zy6t85+DPZDALwK8xh88vv4L6FCllKKqtnav3bQ==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1571,9 +1598,9 @@ } }, "node_modules/@junobuild/storage": { - "version": "0.2.4-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.9.tgz", - "integrity": "sha512-Vp5/0vD3skj+NS10F+fY8RbUuK4yay/RUvkwV60X6nGTeWKuoCRTWGUWSyOeh5qWtrXCjLRBurDrk9R8TObPRQ==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-5irdq+v6QOvIBp2Z6zvKiYg8OHd+zlxKpUagB0e2F9AEbA/mnQ1gvXVr6NkcQkE4NMfFPxNKU4+EmICUFS50qA==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -7910,21 +7937,21 @@ } }, "@junobuild/admin": { - "version": "1.0.0-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-1.0.0-next-2025-08-11.9.tgz", - "integrity": "sha512-MCO0P47/5cmhuC3GZDKhu/teygt6VmvFH00i9BmMUw2aF69Roqlmcbh4Fi7jioRk8G4Mra//c628+4ISAQVREg==", + "version": "2.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.tgz", + "integrity": "sha512-dZy3I4aIHadJDyy2F6riCvGO4FLf3mXdX1+S9uPpnB9jx6GYkkMW1/avgjlETcT4F26dd25bHXgijwLHhZsvrA==", "requires": {} }, "@junobuild/cdn": { - "version": "0.2.3-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-0.2.3-next-2025-08-11.9.tgz", - "integrity": "sha512-a+P1oG0XGoZ8ZfR2ucpCB8YWKAbFOm0l5490O74R5JcvP5L476MjujWCrrxW/SozvczxYOyOZM/u57ieiM/+RQ==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-MCBxjm1vzDNb7L68AiPoB8G/YW/74rYhzQxt8X37a7YOGb3fgKAGARGmxC+7r0XHgkLB3ZYGHkc54pEM/5LqTQ==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.4.1-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.4.1-next-2025-08-11.9.tgz", - "integrity": "sha512-sWNtHerCK16UsrDZST8dwZydA7I5B6cbYifk+152/yjjEjiMNIPZdTvfs7wxYFpybACP3+wGoNtgqAmv6r9muA==", + "version": "0.5.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.tgz", + "integrity": "sha512-uYJ9UeXv1EKkai3Hei/ro1k5xHYvTkGSqXqd16wy4/4RxK7mteL7XEdkM0zddaOdXXT3yWlAaYSfDBsOIXVpAQ==", "requires": { "file-type": "^21.0.0", "listr": "^0.14.3", @@ -7945,14 +7972,28 @@ "requires": {} }, "@junobuild/core": { - "version": "1.0.3-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.0.3-next-2025-08-11.9.tgz", - "integrity": "sha512-itbHgL8OoM+YhR6xH/e4bRem7jArRPN+fkUhdXWbZmgXV8JagdOkHTI8QJ5Fi3Nh5vkjmIaJb/pSUuEI1zKY9g==", + "version": "1.1.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.tgz", + "integrity": "sha512-/gQbEmRc1M6MhfRosYFyvDLqLXIAWjdVMIEcowxnTiJ/4+TGtNHT8rHxV08J3sqEGpiqEI/U8U0iZUgDHrv0lA==", "requires": { "@junobuild/errors": "*", - "@junobuild/ic-client": "*", - "@junobuild/storage": "*", + "@junobuild/ic-client": "^1", + "@junobuild/storage": "^1", "@junobuild/utils": "*" + }, + "dependencies": { + "@junobuild/ic-client": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", + "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "requires": {} + }, + "@junobuild/storage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", + "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "requires": {} + } } }, "@junobuild/did-tools": { @@ -7974,15 +8015,15 @@ "requires": {} }, "@junobuild/ic-client": { - "version": "0.0.1-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-0.0.1-next-2025-08-11.9.tgz", - "integrity": "sha512-/ePg3gCzBYS2XJrPVQYODfZrX8Ak85gOxFdxrWVUWFyd/GUKk9PZjfY4AQzFahK8pCg25uutUpFL67IP8+lNLw==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-iKEkoAlE09xcxCck72sFDPtGWSwML19IeDB7njabXtx4bk3zy6t85+DPZDALwK8xh88vv4L6FCllKKqtnav3bQ==", "requires": {} }, "@junobuild/storage": { - "version": "0.2.4-next-2025-08-11.9", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-0.2.4-next-2025-08-11.9.tgz", - "integrity": "sha512-Vp5/0vD3skj+NS10F+fY8RbUuK4yay/RUvkwV60X6nGTeWKuoCRTWGUWSyOeh5qWtrXCjLRBurDrk9R8TObPRQ==", + "version": "1.0.0-next-2025-08-12", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.tgz", + "integrity": "sha512-5irdq+v6QOvIBp2Z6zvKiYg8OHd+zlxKpUagB0e2F9AEbA/mnQ1gvXVr6NkcQkE4NMfFPxNKU4+EmICUFS50qA==", "requires": {} }, "@junobuild/utils": { diff --git a/package.json b/package.json index 9f9f4b15..1b6e1ca9 100644 --- a/package.json +++ b/package.json @@ -30,15 +30,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^1.0.0-next-2025-08-11.9", - "@junobuild/cdn": "^0.2.3-next-2025-08-11.9", - "@junobuild/cli-tools": "^0.4.1-next-2025-08-11.9", + "@junobuild/admin": "^2.0.0-next-2025-08-12", + "@junobuild/cdn": "^1.0.0-next-2025-08-12", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-12", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.0.3-next-2025-08-11.9", + "@junobuild/core": "^1.1.0-next-2025-08-12", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^0.0.1-next-2025-08-11.9", - "@junobuild/storage": "^0.2.4-next-2025-08-11.9", + "@junobuild/ic-client": "^1.0.0-next-2025-08-12", + "@junobuild/storage": "^1.0.0-next-2025-08-12", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", From b046709a85312af0a58e416983dd74de39298e79 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Tue, 12 Aug 2025 15:55:38 +0200 Subject: [PATCH 05/16] build: bump latest next --- package-lock.json | 1280 +++++++++------------------------------------ package.json | 12 +- 2 files changed, 252 insertions(+), 1040 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3259e6c1..db648cd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,15 +16,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^2.0.0-next-2025-08-12", - "@junobuild/cdn": "^1.0.0-next-2025-08-12", - "@junobuild/cli-tools": "^0.5.0-next-2025-08-12", + "@junobuild/admin": "^2.0.0-next-2025-08-12.1", + "@junobuild/cdn": "^1.0.0-next-2025-08-12.1", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-12.1", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.1.0-next-2025-08-12", + "@junobuild/core": "^1.1.0-next-2025-08-12.1", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^1.0.0-next-2025-08-12", - "@junobuild/storage": "^1.0.0-next-2025-08-12", + "@junobuild/ic-client": "^1.0.0-next-2025-08-12.1", + "@junobuild/storage": "^1.0.0-next-2025-08-12.1", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", @@ -1426,9 +1426,9 @@ } }, "node_modules/@junobuild/admin": { - "version": "2.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.tgz", - "integrity": "sha512-dZy3I4aIHadJDyy2F6riCvGO4FLf3mXdX1+S9uPpnB9jx6GYkkMW1/avgjlETcT4F26dd25bHXgijwLHhZsvrA==", + "version": "2.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-bdZM1dWDqgwvl+7iuTgWquew1Bfs46JW8w6rxj3CaZrjn/XaFvz2JDIdMCqeIPEt8xQ4V9Zs95m6GdXQAY66yQ==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1444,9 +1444,9 @@ } }, "node_modules/@junobuild/cdn": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-MCBxjm1vzDNb7L68AiPoB8G/YW/74rYhzQxt8X37a7YOGb3fgKAGARGmxC+7r0XHgkLB3ZYGHkc54pEM/5LqTQ==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-hZ9EL/9YLs2fTIvQwh7qylkA8zQQuwfm5/WW6kzsx4fTAwWcpkkE/oaKwQNz0ExX4RXjJBTyeqb2640YlToUfg==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1462,13 +1462,13 @@ } }, "node_modules/@junobuild/cli-tools": { - "version": "0.5.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.tgz", - "integrity": "sha512-uYJ9UeXv1EKkai3Hei/ro1k5xHYvTkGSqXqd16wy4/4RxK7mteL7XEdkM0zddaOdXXT3yWlAaYSfDBsOIXVpAQ==", + "version": "0.5.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.1.tgz", + "integrity": "sha512-cly0QmKMsUbhOWjHhdZVigN9vIXcrbg+hcQS29U/Ng9OhGEKpIIMEAh5kdCZIhzzHWFyhP20U5U8nPTtC0M1xA==", "license": "MIT", "dependencies": { "file-type": "^21.0.0", - "listr": "^0.14.3", + "listr2": "^9.0.1", "mime-types": "^3.0.1", "minimatch": "^10.0.3" }, @@ -1503,9 +1503,9 @@ } }, "node_modules/@junobuild/core": { - "version": "1.1.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.tgz", - "integrity": "sha512-/gQbEmRc1M6MhfRosYFyvDLqLXIAWjdVMIEcowxnTiJ/4+TGtNHT8rHxV08J3sqEGpiqEI/U8U0iZUgDHrv0lA==", + "version": "1.1.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.1.tgz", + "integrity": "sha512-rcl1knZUB9i8UWgQeP8mwzeTanAXc1oFnuG29lpsCSUYv+iMBRHIYLYoGjtc3XakyNwD+Znjedede1Y/6ATPeg==", "license": "MIT", "dependencies": { "@junobuild/errors": "*", @@ -1586,9 +1586,9 @@ } }, "node_modules/@junobuild/ic-client": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-iKEkoAlE09xcxCck72sFDPtGWSwML19IeDB7njabXtx4bk3zy6t85+DPZDALwK8xh88vv4L6FCllKKqtnav3bQ==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-CJAgkQ6KRYMu8McH0dmSR/+i+5YHnN+vZHuw4yECHkGYVfecXuf9D40eC1IgZZrf03KRsvvZON+q2Hn1BSVZlw==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1598,9 +1598,9 @@ } }, "node_modules/@junobuild/storage": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-5irdq+v6QOvIBp2Z6zvKiYg8OHd+zlxKpUagB0e2F9AEbA/mnQ1gvXVr6NkcQkE4NMfFPxNKU4+EmICUFS50qA==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-K4lPSaPxOx0mtd57cfByJDrxcUL+FRVqwMeJcNsUjPGx1Fg1/c2Pld2wFQKd/IZbkETCGZwpg5Q2pmfwN9bRlg==", "license": "MIT", "peerDependencies": { "@dfinity/agent": "*", @@ -1693,26 +1693,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "license": "MIT", - "dependencies": { - "any-observable": "^0.3.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "rxjs": { - "optional": true - }, - "zen-observable": { - "optional": true - } - } - }, "node_modules/@tokenizer/inflate": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", @@ -2140,15 +2120,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2633,60 +2604,19 @@ } }, "node_modules/cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", - "license": "MIT", - "dependencies": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "license": "MIT", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" + "node": ">=18" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/color-convert": { @@ -2707,6 +2637,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2818,12 +2754,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "license": "MIT" - }, "node_modules/debounce-fn": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-6.0.0.tgz", @@ -2991,15 +2921,6 @@ "license": "ISC", "peer": true }, - "node_modules/elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -3804,6 +3725,12 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3873,28 +3800,6 @@ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", "license": "MIT" }, - "node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -4194,27 +4099,6 @@ "dev": true, "license": "MIT" }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -4369,15 +4253,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -4575,15 +4450,15 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-generator-function": { @@ -4700,24 +4575,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "license": "MIT", - "dependencies": { - "symbol-observable": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "license": "MIT" - }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -4766,15 +4623,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -5032,266 +4880,21 @@ "node": ">= 0.8.0" } }, - "node_modules/listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "license": "MIT", - "dependencies": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "listr": "^0.14.2" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-update-renderer/node_modules/log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", - "license": "MIT", - "dependencies": { - "chalk": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "license": "MIT", - "dependencies": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/listr-verbose-renderer/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/listr-verbose-renderer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "license": "MIT", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=20.0.0" } }, "node_modules/locate-path": { @@ -5344,63 +4947,65 @@ } }, "node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "license": "MIT", "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^2.0.0" + "node": ">=12" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "license": "MIT", "dependencies": { - "mimic-fn": "^1.0.0" + "get-east-asian-width": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "license": "MIT", "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/lru-cache": { @@ -5468,15 +5073,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -5532,24 +5128,6 @@ "license": "MIT", "peer": true }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -5768,15 +5346,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6103,6 +5672,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -6138,18 +5713,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -6385,12 +5948,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, "node_modules/simple-cbor": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/simple-cbor/-/simple-cbor-0.4.1.tgz", @@ -6403,12 +5960,31 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/stdin-discarder": { @@ -6621,15 +6197,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -6712,12 +6279,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7052,59 +6613,32 @@ } }, "node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "license": "MIT", "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "node": ">=18" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", - "dependencies": { - "ansi-regex": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/wsl-utils": { @@ -7937,24 +7471,24 @@ } }, "@junobuild/admin": { - "version": "2.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.tgz", - "integrity": "sha512-dZy3I4aIHadJDyy2F6riCvGO4FLf3mXdX1+S9uPpnB9jx6GYkkMW1/avgjlETcT4F26dd25bHXgijwLHhZsvrA==", + "version": "2.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-bdZM1dWDqgwvl+7iuTgWquew1Bfs46JW8w6rxj3CaZrjn/XaFvz2JDIdMCqeIPEt8xQ4V9Zs95m6GdXQAY66yQ==", "requires": {} }, "@junobuild/cdn": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-MCBxjm1vzDNb7L68AiPoB8G/YW/74rYhzQxt8X37a7YOGb3fgKAGARGmxC+7r0XHgkLB3ZYGHkc54pEM/5LqTQ==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-hZ9EL/9YLs2fTIvQwh7qylkA8zQQuwfm5/WW6kzsx4fTAwWcpkkE/oaKwQNz0ExX4RXjJBTyeqb2640YlToUfg==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.5.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.tgz", - "integrity": "sha512-uYJ9UeXv1EKkai3Hei/ro1k5xHYvTkGSqXqd16wy4/4RxK7mteL7XEdkM0zddaOdXXT3yWlAaYSfDBsOIXVpAQ==", + "version": "0.5.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-12.1.tgz", + "integrity": "sha512-cly0QmKMsUbhOWjHhdZVigN9vIXcrbg+hcQS29U/Ng9OhGEKpIIMEAh5kdCZIhzzHWFyhP20U5U8nPTtC0M1xA==", "requires": { "file-type": "^21.0.0", - "listr": "^0.14.3", + "listr2": "^9.0.1", "mime-types": "^3.0.1", "minimatch": "^10.0.3" } @@ -7972,9 +7506,9 @@ "requires": {} }, "@junobuild/core": { - "version": "1.1.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.tgz", - "integrity": "sha512-/gQbEmRc1M6MhfRosYFyvDLqLXIAWjdVMIEcowxnTiJ/4+TGtNHT8rHxV08J3sqEGpiqEI/U8U0iZUgDHrv0lA==", + "version": "1.1.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-12.1.tgz", + "integrity": "sha512-rcl1knZUB9i8UWgQeP8mwzeTanAXc1oFnuG29lpsCSUYv+iMBRHIYLYoGjtc3XakyNwD+Znjedede1Y/6ATPeg==", "requires": { "@junobuild/errors": "*", "@junobuild/ic-client": "^1", @@ -8015,15 +7549,15 @@ "requires": {} }, "@junobuild/ic-client": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-iKEkoAlE09xcxCck72sFDPtGWSwML19IeDB7njabXtx4bk3zy6t85+DPZDALwK8xh88vv4L6FCllKKqtnav3bQ==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-CJAgkQ6KRYMu8McH0dmSR/+i+5YHnN+vZHuw4yECHkGYVfecXuf9D40eC1IgZZrf03KRsvvZON+q2Hn1BSVZlw==", "requires": {} }, "@junobuild/storage": { - "version": "1.0.0-next-2025-08-12", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.tgz", - "integrity": "sha512-5irdq+v6QOvIBp2Z6zvKiYg8OHd+zlxKpUagB0e2F9AEbA/mnQ1gvXVr6NkcQkE4NMfFPxNKU4+EmICUFS50qA==", + "version": "1.0.0-next-2025-08-12.1", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-12.1.tgz", + "integrity": "sha512-K4lPSaPxOx0mtd57cfByJDrxcUL+FRVqwMeJcNsUjPGx1Fg1/c2Pld2wFQKd/IZbkETCGZwpg5Q2pmfwN9bRlg==", "requires": {} }, "@junobuild/utils": { @@ -8077,14 +7611,6 @@ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", "dev": true }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "requires": { - "any-observable": "^0.3.0" - } - }, "@tokenizer/inflate": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", @@ -8340,11 +7866,6 @@ "color-convert": "^2.0.1" } }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -8624,44 +8145,14 @@ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" }, "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - } + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -8677,6 +8168,11 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -8754,11 +8250,6 @@ "is-data-view": "^1.0.1" } }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, "debounce-fn": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-6.0.0.tgz", @@ -8861,11 +8352,6 @@ "integrity": "sha512-SdnWJwSUot04UR51I2oPD8kuP2VI37/CADR1OHsFOUzZIvfWJBO6q11k5P/uKNyTT3cdOsnyjkrZ+DDShqYqJA==", "peer": true }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==" - }, "emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -9420,6 +8906,11 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9480,22 +8971,6 @@ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, "file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -9688,21 +9163,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, "has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -9788,11 +9248,6 @@ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==" - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -9909,12 +9364,9 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==" }, "is-generator-function": { "version": "1.1.0", @@ -9978,19 +9430,6 @@ "has-tostringtag": "^1.0.2" } }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, "is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -10018,11 +9457,6 @@ "call-bound": "^1.0.3" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, "is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -10192,185 +9626,17 @@ "type-check": "~0.4.0" } }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==" - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", - "requires": { - "chalk": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" } }, "locate-path": { @@ -10405,43 +9671,37 @@ } }, "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "requires": { - "restore-cursor": "^2.0.0" - } + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "requires": { - "mimic-fn": "^1.0.0" + "get-east-asian-width": "^1.0.0" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" } } } @@ -10490,11 +9750,6 @@ "mime-db": "^1.54.0" } }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, "mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -10531,16 +9786,6 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "peer": true }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, "object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -10680,11 +9925,6 @@ "p-limit": "^3.0.2" } }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10874,6 +10114,11 @@ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, + "rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, "run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -10888,14 +10133,6 @@ "queue-microtask": "^1.2.2" } }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, "safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -11040,11 +10277,6 @@ "side-channel-map": "^1.0.1" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, "simple-cbor": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/simple-cbor/-/simple-cbor-0.4.1.tgz", @@ -11056,9 +10288,20 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + } + } }, "stdin-discarder": { "version": "0.2.2", @@ -11187,11 +10430,6 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -11244,11 +10482,6 @@ "strip-bom": "^3.0.0" } }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -11456,40 +10689,19 @@ } }, "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" } } }, diff --git a/package.json b/package.json index 1b6e1ca9..81e76faf 100644 --- a/package.json +++ b/package.json @@ -30,15 +30,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^2.0.0-next-2025-08-12", - "@junobuild/cdn": "^1.0.0-next-2025-08-12", - "@junobuild/cli-tools": "^0.5.0-next-2025-08-12", + "@junobuild/admin": "^2.0.0-next-2025-08-12.1", + "@junobuild/cdn": "^1.0.0-next-2025-08-12.1", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-12.1", "@junobuild/config": "^1.1.1", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.1.0-next-2025-08-12", + "@junobuild/core": "^1.1.0-next-2025-08-12.1", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^1.0.0-next-2025-08-12", - "@junobuild/storage": "^1.0.0-next-2025-08-12", + "@junobuild/ic-client": "^1.0.0-next-2025-08-12.1", + "@junobuild/storage": "^1.0.0-next-2025-08-12.1", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", From d9251ad0f8de064ddb85574922e653e5a2b53ff9 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Tue, 12 Aug 2025 15:56:28 +0200 Subject: [PATCH 06/16] feat: pass progress --- .../assets/deploy/deploy.execute.services.ts | 9 ++++++--- src/services/deploy.services.ts | 19 +++++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 9a2fafdd..84f252c1 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -9,6 +9,7 @@ import type { import {postDeploy as cliPostDeploy, preDeploy as cliPreDeploy} from '@junobuild/cli-tools'; import type {SatelliteConfig} from '@junobuild/config'; import {type Asset} from '@junobuild/core'; +import {type OnUploadProgress} from '@junobuild/storage'; import {red} from 'kleur'; import {lstatSync} from 'node:fs'; import type {SatelliteParametersWithId} from '../../../types/satellite'; @@ -23,12 +24,14 @@ export interface DeployFnParams { // TODO: refactor and naming? export type UploadFileFnParams = UploadFileStorage & {satellite: SatelliteParametersWithId}; -export type UploadFileFnParamsWithProposal = UploadFileFnParams & {proposalId: bigint}; +export type UploadFileFnParamsWithProposal = UploadFileFnParams & { + proposalId: bigint; +} & OnUploadProgress; -export interface UploadFilesFnParams { +export type UploadFilesFnParams = { files: UploadFileStorage[]; satellite: SatelliteParametersWithId; -} +} & OnUploadProgress; export type UploadFilesFnParamsWithProposal = UploadFilesFnParams & {proposalId: bigint}; type UploadInput = [R] extends [DeployResultWithProposal] ? T & {proposalId: bigint} : T; diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index d97bd43f..12ac5b2f 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -5,7 +5,6 @@ import { type DeployResult, type DeployResultWithProposal, hasArgs, - type UploadFile, type UploadFileStorage, type UploadFilesWithProposal, type UploadFileWithProposal @@ -104,10 +103,16 @@ const deployWithProposal = async ({ // TODO: much duplication const uploadSingleFile = async (): Promise => { - const uploadFn = async ({satellite, proposalId, ...file}: UploadFileFnParamsWithProposal) => { + const uploadFn = async ({ + satellite, + proposalId, + progress, + ...file + }: UploadFileFnParamsWithProposal) => { await uploadAssetWithProposal({ cdn: {satellite}, proposalId, + progress, asset: mapFileToAssetForUpload(file) }); }; @@ -142,11 +147,11 @@ const deployWithProposal = async ({ }; const uploadGroupedFiles = async (): Promise => { - const uploadFn = async ({files, satellite, proposalId}: UploadFilesFnParamsWithProposal) => { + const uploadFn = async ({files, satellite, ...rest}: UploadFilesFnParamsWithProposal) => { await uploadAssetsWithProposal({ cdn: {satellite}, - proposalId, - assets: files.map(mapFileToAssetForUpload) + assets: files.map(mapFileToAssetForUpload), + ...rest }); }; @@ -205,9 +210,7 @@ const deployImmediate = async ({ await clear(); } - const deployFn = async ({ - deploy: {params, upload} - }: DeployFnParams): Promise => + const deployFn = async ({deploy: {params, upload}}: DeployFnParams): Promise => await cliDeploy({ params, upload: {uploadFile: upload} From 92afecb5610d846c0fcb44f358d7f752a322c544 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 06:45:45 +0200 Subject: [PATCH 07/16] build: use latest next --- package-lock.json | 1391 +++++++++++---------------------------------- package.json | 12 +- 2 files changed, 328 insertions(+), 1075 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ea6537c..ec50b137 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,15 +16,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^2.0.0", - "@junobuild/cdn": "^1.0.0", - "@junobuild/cli-tools": "^0.5.0", + "@junobuild/admin": "^2.0.0-next-2025-08-13", + "@junobuild/cdn": "^1.0.0-next-2025-08-13", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-13", "@junobuild/config": "^1.1.2", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.1.0", + "@junobuild/core": "^1.1.0-next-2025-08-13", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^1.0.0", - "@junobuild/storage": "^1.0.0", + "@junobuild/ic-client": "^1.0.0-next-2025-08-13", + "@junobuild/storage": "^1.0.0-next-2025-08-13", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", @@ -1426,58 +1426,58 @@ } }, "node_modules/@junobuild/admin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0.tgz", - "integrity": "sha512-+HeBYpvry+GAyKDvkSa1EFuUV4v4n0J//uuvgxXw/Ht4d3YHxegDt7xcFCnyawcCszcYTnd5toHMzFnB+JHrvg==", + "version": "2.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-13.tgz", + "integrity": "sha512-6yUqXvciQoCAsegVJUePDKlycCEjkw59DTwoYQ2SjCev/2WPaI971OaszXidvzDXnbCr90NV0R11Yt8I5adm8w==", "license": "MIT", "peerDependencies": { - "@dfinity/agent": "^2.3.0", - "@dfinity/candid": "^2.3.0", - "@dfinity/ic-management": "^6.2", - "@dfinity/identity": "^2.3.0", - "@dfinity/principal": "^2.3.0", - "@dfinity/utils": "^2", + "@dfinity/agent": "*", + "@dfinity/candid": "*", + "@dfinity/ic-management": "*", + "@dfinity/identity": "*", + "@dfinity/principal": "*", + "@dfinity/utils": "*", "@junobuild/config": "*", - "@junobuild/ic-client": "^1", - "semver": "7.*", - "zod": "^3.25" + "@junobuild/ic-client": "*", + "semver": "*", + "zod": "*" } }, "node_modules/@junobuild/cdn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0.tgz", - "integrity": "sha512-wju8v/jIUCG5jPGOKIc/79jau6whC1Vjvn9mU2M1z/OZhqmNMqSoaXzRPQdEhoDz2mHCRpKmhi6DGW7dLVAtRA==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-FM7YwOYaI8sWbEgGjI96pw5VRCsFMTx4UEq1+AnhD+L61sr8AzQUK/yZ2MHxrrKmzlIHd6eD8CTVvT/qVhITvQ==", "license": "MIT", "peerDependencies": { - "@dfinity/agent": "^2.3.0", - "@dfinity/candid": "^2.3.0", - "@dfinity/ic-management": "^6.2", - "@dfinity/identity": "^2.3.0", - "@dfinity/principal": "^2.3.0", - "@dfinity/utils": "^2", + "@dfinity/agent": "*", + "@dfinity/candid": "*", + "@dfinity/ic-management": "*", + "@dfinity/identity": "*", + "@dfinity/principal": "*", + "@dfinity/utils": "*", "@junobuild/config": "*", - "@junobuild/ic-client": "^1", - "@junobuild/storage": "^1", - "semver": "7.*" + "@junobuild/ic-client": "*", + "@junobuild/storage": "*", + "semver": "*" } }, "node_modules/@junobuild/cli-tools": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0.tgz", - "integrity": "sha512-RD8+c7rl7bc3nlATUI+uIMRh+ftjWTSIMUNIzrMAavb/u49Xpawk68P8Gd70DELSY9jpYK2eR6A5cN5yW3Nfjg==", + "version": "0.5.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-13.tgz", + "integrity": "sha512-JTopeHcu/TynOlETlSiBjBbEfekQZyTog0ckKLrQsjfr8dWwYcRc50cuUzn3X6U2fxBMHn3Igk3hZpLEszn8vA==", "license": "MIT", "dependencies": { "file-type": "^21.0.0", - "listr": "^0.14.3", + "listr2": "^9.0.1", "mime-types": "^3.0.1", "minimatch": "^10.0.3" }, "peerDependencies": { - "@dfinity/utils": "^2", - "@junobuild/cdn": "^1", + "@dfinity/utils": "*", + "@junobuild/cdn": "*", "@junobuild/config": "*", - "@junobuild/storage": "^1", - "esbuild": "^0.25.1" + "@junobuild/storage": "*", + "esbuild": "*" } }, "node_modules/@junobuild/config": { @@ -1503,9 +1503,9 @@ } }, "node_modules/@junobuild/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0.tgz", - "integrity": "sha512-NwDkqD4MCzG8sU1sj3esdWH6J64zZO4evdeffp0KA+N3KB63gclejxrTwN3mk4y6om0Fv1VgS8RkOe6jsuCA3A==", + "version": "1.1.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-13.tgz", + "integrity": "sha512-GGPWJd0N5zz49h0khZwiNwbc6N4Ios7vrSGFjj3bsopMagt46P5sXr+9jKkR47k4cWSTb26jWS3OYJ3li5qRwg==", "license": "MIT", "dependencies": { "@junobuild/errors": "*", @@ -1513,13 +1513,40 @@ "@junobuild/storage": "^1", "@junobuild/utils": "*" }, + "peerDependencies": { + "@dfinity/agent": "*", + "@dfinity/auth-client": "*", + "@dfinity/candid": "*", + "@dfinity/identity": "*", + "@dfinity/principal": "*", + "@dfinity/utils": "*" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/ic-client": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", + "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "license": "MIT", + "peerDependencies": { + "@dfinity/agent": "^2.3.0", + "@dfinity/candid": "^2.3.0", + "@dfinity/identity": "^2.3.0", + "@dfinity/principal": "^2.3.0" + } + }, + "node_modules/@junobuild/core/node_modules/@junobuild/storage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", + "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "license": "MIT", "peerDependencies": { "@dfinity/agent": "^2.3.0", - "@dfinity/auth-client": "^2.3.0", "@dfinity/candid": "^2.3.0", "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", - "@dfinity/utils": "^2" + "@dfinity/utils": "^2", + "@junobuild/ic-client": "^1", + "@junobuild/utils": "*" } }, "node_modules/@junobuild/did-tools": { @@ -1559,29 +1586,29 @@ } }, "node_modules/@junobuild/ic-client": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", - "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-I7JeBzAavThVMHKu+mNMGH70d0F30GQg2lLKk4H48eEbs3ax2HrWKX1r7SoZH94qNxHndqAwOFGCppAsLl7nkg==", "license": "MIT", "peerDependencies": { - "@dfinity/agent": "^2.3.0", - "@dfinity/candid": "^2.3.0", - "@dfinity/identity": "^2.3.0", - "@dfinity/principal": "^2.3.0" + "@dfinity/agent": "*", + "@dfinity/candid": "*", + "@dfinity/identity": "*", + "@dfinity/principal": "*" } }, "node_modules/@junobuild/storage": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", - "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-P1r3iTqxWQB5gsbTdB+72pP7fUybupXnA482Pkba3oLCFGvS+PFM5YCcYczffcxTze3re4djVGFfScqwu+Fw7A==", "license": "MIT", "peerDependencies": { - "@dfinity/agent": "^2.3.0", - "@dfinity/candid": "^2.3.0", - "@dfinity/identity": "^2.3.0", - "@dfinity/principal": "^2.3.0", - "@dfinity/utils": "^2", - "@junobuild/ic-client": "^1", + "@dfinity/agent": "*", + "@dfinity/candid": "*", + "@dfinity/identity": "*", + "@dfinity/principal": "*", + "@dfinity/utils": "*", + "@junobuild/ic-client": "*", "@junobuild/utils": "*" } }, @@ -1675,26 +1702,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "license": "MIT", - "dependencies": { - "any-observable": "^0.3.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "rxjs": { - "optional": true - }, - "zen-observable": { - "optional": true - } - } - }, "node_modules/@tokenizer/inflate": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", @@ -2122,15 +2129,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2615,60 +2613,19 @@ } }, "node_modules/cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", - "license": "MIT", - "dependencies": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "license": "MIT", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" + "node": ">=18" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/color-convert": { @@ -2689,6 +2646,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2800,12 +2763,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "license": "MIT" - }, "node_modules/debounce-fn": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-6.0.0.tgz", @@ -2973,15 +2930,6 @@ "license": "ISC", "peer": true }, - "node_modules/elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -3786,6 +3734,12 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3855,28 +3809,6 @@ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", "license": "MIT" }, - "node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -4176,27 +4108,6 @@ "dev": true, "license": "MIT" }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -4351,15 +4262,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -4557,15 +4459,15 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-generator-function": { @@ -4682,24 +4584,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "license": "MIT", - "dependencies": { - "symbol-observable": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "license": "MIT" - }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -4748,15 +4632,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -5014,266 +4889,21 @@ "node": ">= 0.8.0" } }, - "node_modules/listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "license": "MIT", - "dependencies": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "listr": "^0.14.2" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-update-renderer/node_modules/log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", - "license": "MIT", - "dependencies": { - "chalk": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "license": "MIT", "dependencies": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/listr-verbose-renderer/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/listr-verbose-renderer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "license": "MIT", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=20.0.0" } }, "node_modules/locate-path": { @@ -5326,63 +4956,65 @@ } }, "node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "license": "MIT", "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^2.0.0" + "node": ">=12" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "license": "MIT", "dependencies": { - "mimic-fn": "^1.0.0" + "get-east-asian-width": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "license": "MIT", "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/lru-cache": { @@ -5447,16 +5079,7 @@ "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">= 0.6" } }, "node_modules/mimic-function": { @@ -5514,24 +5137,6 @@ "license": "MIT", "peer": true }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -5750,15 +5355,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6085,6 +5681,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -6120,18 +5722,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -6367,12 +5957,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, "node_modules/simple-cbor": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/simple-cbor/-/simple-cbor-0.4.1.tgz", @@ -6385,12 +5969,31 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/stdin-discarder": { @@ -6603,15 +6206,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -6695,12 +6289,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7035,59 +6623,32 @@ } }, "node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "license": "MIT", "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "node": ">=18" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", - "dependencies": { - "ansi-regex": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/wsl-utils": { @@ -7920,24 +7481,24 @@ } }, "@junobuild/admin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0.tgz", - "integrity": "sha512-+HeBYpvry+GAyKDvkSa1EFuUV4v4n0J//uuvgxXw/Ht4d3YHxegDt7xcFCnyawcCszcYTnd5toHMzFnB+JHrvg==", + "version": "2.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/admin/-/admin-2.0.0-next-2025-08-13.tgz", + "integrity": "sha512-6yUqXvciQoCAsegVJUePDKlycCEjkw59DTwoYQ2SjCev/2WPaI971OaszXidvzDXnbCr90NV0R11Yt8I5adm8w==", "requires": {} }, "@junobuild/cdn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0.tgz", - "integrity": "sha512-wju8v/jIUCG5jPGOKIc/79jau6whC1Vjvn9mU2M1z/OZhqmNMqSoaXzRPQdEhoDz2mHCRpKmhi6DGW7dLVAtRA==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/cdn/-/cdn-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-FM7YwOYaI8sWbEgGjI96pw5VRCsFMTx4UEq1+AnhD+L61sr8AzQUK/yZ2MHxrrKmzlIHd6eD8CTVvT/qVhITvQ==", "requires": {} }, "@junobuild/cli-tools": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0.tgz", - "integrity": "sha512-RD8+c7rl7bc3nlATUI+uIMRh+ftjWTSIMUNIzrMAavb/u49Xpawk68P8Gd70DELSY9jpYK2eR6A5cN5yW3Nfjg==", + "version": "0.5.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.5.0-next-2025-08-13.tgz", + "integrity": "sha512-JTopeHcu/TynOlETlSiBjBbEfekQZyTog0ckKLrQsjfr8dWwYcRc50cuUzn3X6U2fxBMHn3Igk3hZpLEszn8vA==", "requires": { "file-type": "^21.0.0", - "listr": "^0.14.3", + "listr2": "^9.0.1", "mime-types": "^3.0.1", "minimatch": "^10.0.3" } @@ -7955,14 +7516,28 @@ "requires": {} }, "@junobuild/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0.tgz", - "integrity": "sha512-NwDkqD4MCzG8sU1sj3esdWH6J64zZO4evdeffp0KA+N3KB63gclejxrTwN3mk4y6om0Fv1VgS8RkOe6jsuCA3A==", + "version": "1.1.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/core/-/core-1.1.0-next-2025-08-13.tgz", + "integrity": "sha512-GGPWJd0N5zz49h0khZwiNwbc6N4Ios7vrSGFjj3bsopMagt46P5sXr+9jKkR47k4cWSTb26jWS3OYJ3li5qRwg==", "requires": { "@junobuild/errors": "*", "@junobuild/ic-client": "^1", "@junobuild/storage": "^1", "@junobuild/utils": "*" + }, + "dependencies": { + "@junobuild/ic-client": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", + "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "requires": {} + }, + "@junobuild/storage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", + "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "requires": {} + } } }, "@junobuild/did-tools": { @@ -7984,15 +7559,15 @@ "requires": {} }, "@junobuild/ic-client": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0.tgz", - "integrity": "sha512-mt+xlBKHoZBIdZsl47JTBsqUAucR/vO2NVHOLX8J8oS8JsePEfe+O89U8uF5YoZqrIQ3TGo0t2zZ5YqBDsRq1w==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/ic-client/-/ic-client-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-I7JeBzAavThVMHKu+mNMGH70d0F30GQg2lLKk4H48eEbs3ax2HrWKX1r7SoZH94qNxHndqAwOFGCppAsLl7nkg==", "requires": {} }, "@junobuild/storage": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0.tgz", - "integrity": "sha512-757c1n5an40K4O5rgAY5lPXrQqdDil4kPxMiYPad2hBauEJZTCY8LkaPQZzJR27vK1nH+7QqedqThvqCgv925g==", + "version": "1.0.0-next-2025-08-13", + "resolved": "https://registry.npmjs.org/@junobuild/storage/-/storage-1.0.0-next-2025-08-13.tgz", + "integrity": "sha512-P1r3iTqxWQB5gsbTdB+72pP7fUybupXnA482Pkba3oLCFGvS+PFM5YCcYczffcxTze3re4djVGFfScqwu+Fw7A==", "requires": {} }, "@junobuild/utils": { @@ -8051,14 +7626,6 @@ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", "dev": true }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "requires": { - "any-observable": "^0.3.0" - } - }, "@tokenizer/inflate": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", @@ -8314,11 +7881,6 @@ "color-convert": "^2.0.1" } }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -8598,44 +8160,14 @@ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" }, "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - } + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -8651,6 +8183,11 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -8728,11 +8265,6 @@ "is-data-view": "^1.0.1" } }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, "debounce-fn": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-6.0.0.tgz", @@ -8835,11 +8367,6 @@ "integrity": "sha512-SdnWJwSUot04UR51I2oPD8kuP2VI37/CADR1OHsFOUzZIvfWJBO6q11k5P/uKNyTT3cdOsnyjkrZ+DDShqYqJA==", "peer": true }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==" - }, "emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -9394,6 +8921,11 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9454,22 +8986,6 @@ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, "file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -9662,21 +9178,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, "has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -9762,11 +9263,6 @@ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==" - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -9883,12 +9379,9 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==" }, "is-generator-function": { "version": "1.1.0", @@ -9952,19 +9445,6 @@ "has-tostringtag": "^1.0.2" } }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, "is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -9992,11 +9472,6 @@ "call-bound": "^1.0.3" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, "is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -10166,185 +9641,17 @@ "type-check": "~0.4.0" } }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==" - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", - "requires": { - "chalk": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" } }, "locate-path": { @@ -10379,43 +9686,37 @@ } }, "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "requires": { - "restore-cursor": "^2.0.0" - } + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "requires": { - "mimic-fn": "^1.0.0" + "get-east-asian-width": "^1.0.0" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" } } } @@ -10464,11 +9765,6 @@ "mime-db": "^1.54.0" } }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, "mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -10505,16 +9801,6 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "peer": true }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, "object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -10654,11 +9940,6 @@ "p-limit": "^3.0.2" } }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10848,6 +10129,11 @@ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, + "rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, "run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -10862,14 +10148,6 @@ "queue-microtask": "^1.2.2" } }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, "safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -11014,11 +10292,6 @@ "side-channel-map": "^1.0.1" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, "simple-cbor": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/simple-cbor/-/simple-cbor-0.4.1.tgz", @@ -11030,9 +10303,20 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + } + } }, "stdin-discarder": { "version": "0.2.2", @@ -11161,11 +10445,6 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -11219,11 +10498,6 @@ "strip-bom": "^3.0.0" } }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -11431,40 +10705,19 @@ } }, "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" - } + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" } } }, diff --git a/package.json b/package.json index e7c429ac..871326ca 100644 --- a/package.json +++ b/package.json @@ -30,15 +30,15 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@dfinity/zod-schemas": "^1.0.0", - "@junobuild/admin": "^2.0.0", - "@junobuild/cdn": "^1.0.0", - "@junobuild/cli-tools": "^0.5.0", + "@junobuild/admin": "^2.0.0-next-2025-08-13", + "@junobuild/cdn": "^1.0.0-next-2025-08-13", + "@junobuild/cli-tools": "^0.5.0-next-2025-08-13", "@junobuild/config": "^1.1.2", "@junobuild/config-loader": "^0.4.1", - "@junobuild/core": "^1.1.0", + "@junobuild/core": "^1.1.0-next-2025-08-13", "@junobuild/did-tools": "^0.2.4", - "@junobuild/ic-client": "^1.0.0", - "@junobuild/storage": "^1.0.0", + "@junobuild/ic-client": "^1.0.0-next-2025-08-13", + "@junobuild/storage": "^1.0.0-next-2025-08-13", "@junobuild/utils": "^0.1.4", "chokidar": "^4.0.3", "conf": "^14.0.0", From 1b05790866b52d777b221d283945ad2785125720 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 06:57:21 +0200 Subject: [PATCH 08/16] feat: withBatch and renames --- src/services/deploy.services.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index 12ac5b2f..230e28aa 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -60,24 +60,25 @@ export const deploy = async (args?: string[]) => { } // TODO: use version for grouped - await deployWithProposal({args, clearOption, deprecatedGzip, grouped: true}); + // const withBatch = compare(result.version, '0.1.2') >= 0; + const withBatch = true; + + await deployWithProposal({args, clearOption, deprecatedGzip, withBatch}); }; const deployWithProposal = async ({ args, clearOption, - grouped, + withBatch, deprecatedGzip }: { args?: string[]; clearOption: boolean; - // TODO: rename - grouped: boolean; + withBatch: boolean; deprecatedGzip: string | undefined; }) => { const noCommit = hasArgs({args, options: ['--no-apply']}); - // TODO: upgly const mapFileToAssetForUpload = ({ filename: storageFilename, fullPath: storagePath, @@ -102,7 +103,7 @@ const deployWithProposal = async ({ }; // TODO: much duplication - const uploadSingleFile = async (): Promise => { + const uploadFilesIndividually = async (): Promise => { const uploadFn = async ({ satellite, proposalId, @@ -146,7 +147,7 @@ const deployWithProposal = async ({ }); }; - const uploadGroupedFiles = async (): Promise => { + const uploadFilesWithBatch = async (): Promise => { const uploadFn = async ({files, satellite, ...rest}: UploadFilesFnParamsWithProposal) => { await uploadAssetsWithProposal({ cdn: {satellite}, @@ -185,7 +186,7 @@ const deployWithProposal = async ({ }); }; - const result = await (grouped ? uploadGroupedFiles() : uploadSingleFile()); + const result = await (withBatch ? uploadFilesWithBatch() : uploadFilesIndividually()); if (result.result !== 'deployed') { return; From 5e1d57b67ba8438683745e8c4ff7d6a45d1bcb50 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 07:16:25 +0200 Subject: [PATCH 09/16] feat: refactor duplicate code --- src/services/deploy.services.ts | 68 +++++++++++++++++---------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index 230e28aa..634afeda 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -1,7 +1,9 @@ import {uploadAssetsWithProposal, uploadAssetWithProposal} from '@junobuild/cdn'; +import type {UploadIndividually, UploadWithBatch} from '@junobuild/cli-tools'; import { deploy as cliDeploy, deployWithProposal as cliDeployWithProposal, + type DeployParams, type DeployResult, type DeployResultWithProposal, hasArgs, @@ -13,6 +15,7 @@ import {uploadBlob} from '@junobuild/core'; import type {UploadAsset} from '@junobuild/storage'; import {yellow} from 'kleur'; import {compare} from 'semver'; +import type {SatelliteParametersWithId} from '../types/satellite'; import {clear} from './assets/clear.services'; import { type DeployFnParams, @@ -102,7 +105,33 @@ const deployWithProposal = async ({ }; }; - // TODO: much duplication + const deployWithProposal = async ({ + deploy: {params, upload}, + satellite + }: { + deploy: { + params: DeployParams; + upload: UploadIndividually | UploadWithBatch; + }; + satellite: SatelliteParametersWithId; + }): Promise => + await cliDeployWithProposal({ + deploy: { + params: { + ...params, + includeAllFiles: clearOption + }, + upload + }, + proposal: { + clearAssets: clearOption, + autoCommit: !noCommit, + cdn: { + satellite + } + } + }); + const uploadFilesIndividually = async (): Promise => { const uploadFn = async ({ satellite, @@ -122,21 +151,9 @@ const deployWithProposal = async ({ deploy: {params, upload}, satellite }: DeployFnParams): Promise => - await cliDeployWithProposal({ - deploy: { - params: { - ...params, - includeAllFiles: clearOption - }, - upload: {uploadFile: upload} - }, - proposal: { - clearAssets: clearOption, - autoCommit: !noCommit, - cdn: { - satellite - } - } + await deployWithProposal({ + deploy: {params, upload: {uploadFile: upload}}, + satellite }); return await executeDeployWithProposal({ @@ -156,26 +173,13 @@ const deployWithProposal = async ({ }); }; - // TODO: basically just UploadFilesWithProposal different const deployFn = async ({ deploy: {params, upload}, satellite }: DeployFnParams): Promise => - await cliDeployWithProposal({ - deploy: { - params: { - ...params, - includeAllFiles: clearOption - }, - upload: {uploadFiles: upload} - }, - proposal: { - clearAssets: clearOption, - autoCommit: !noCommit, - cdn: { - satellite - } - } + await deployWithProposal({ + deploy: {params, upload: {uploadFiles: upload}}, + satellite }); return await executeDeployWithProposal({ From 7185dc9e9d12913c61b410dc7e4832d8dfa28596 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 07:26:02 +0200 Subject: [PATCH 10/16] feat: extract functions for deploy with proposal --- src/services/deploy.services.ts | 137 ++-------------- .../deploy/_deploy.with-proposal.services.ts | 150 ++++++++++++++++++ 2 files changed, 159 insertions(+), 128 deletions(-) create mode 100644 src/services/deploy/_deploy.with-proposal.services.ts diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index 634afeda..ab67aede 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -1,31 +1,15 @@ -import {uploadAssetsWithProposal, uploadAssetWithProposal} from '@junobuild/cdn'; -import type {UploadIndividually, UploadWithBatch} from '@junobuild/cli-tools'; -import { - deploy as cliDeploy, - deployWithProposal as cliDeployWithProposal, - type DeployParams, - type DeployResult, - type DeployResultWithProposal, - hasArgs, - type UploadFileStorage, - type UploadFilesWithProposal, - type UploadFileWithProposal -} from '@junobuild/cli-tools'; +import {deploy as cliDeploy, type DeployResult, hasArgs} from '@junobuild/cli-tools'; import {uploadBlob} from '@junobuild/core'; -import type {UploadAsset} from '@junobuild/storage'; import {yellow} from 'kleur'; import {compare} from 'semver'; -import type {SatelliteParametersWithId} from '../types/satellite'; import {clear} from './assets/clear.services'; import { type DeployFnParams, executeDeployImmediate, - executeDeployWithProposal, - type UploadFileFnParams, - type UploadFileFnParamsWithProposal, - type UploadFilesFnParamsWithProposal + type UploadFileFnParams } from './assets/deploy/deploy.execute.services'; import {clearProposalStagedAssets} from './changes/changes.clear.services'; +import {deployWithProposal as executeDeployWithProposal} from './deploy/_deploy.with-proposal.services'; import {getSatelliteVersion} from './version.services'; export const deploy = async (args?: string[]) => { @@ -82,115 +66,12 @@ const deployWithProposal = async ({ }) => { const noCommit = hasArgs({args, options: ['--no-apply']}); - const mapFileToAssetForUpload = ({ - filename: storageFilename, - fullPath: storagePath, - data, - collection, - headers = [], - encoding - }: UploadFileStorage): UploadAsset => { - // Similar as in Juno Core SDK - // The IC certification does not currently support encoding - const filename = decodeURI(storageFilename); - const fullPath = storagePath ?? `/${collection}/${filename}`; - - return { - filename, - fullPath, - data, - collection, - headers, - encoding - }; - }; - - const deployWithProposal = async ({ - deploy: {params, upload}, - satellite - }: { - deploy: { - params: DeployParams; - upload: UploadIndividually | UploadWithBatch; - }; - satellite: SatelliteParametersWithId; - }): Promise => - await cliDeployWithProposal({ - deploy: { - params: { - ...params, - includeAllFiles: clearOption - }, - upload - }, - proposal: { - clearAssets: clearOption, - autoCommit: !noCommit, - cdn: { - satellite - } - } - }); - - const uploadFilesIndividually = async (): Promise => { - const uploadFn = async ({ - satellite, - proposalId, - progress, - ...file - }: UploadFileFnParamsWithProposal) => { - await uploadAssetWithProposal({ - cdn: {satellite}, - proposalId, - progress, - asset: mapFileToAssetForUpload(file) - }); - }; - - const deployFn = async ({ - deploy: {params, upload}, - satellite - }: DeployFnParams): Promise => - await deployWithProposal({ - deploy: {params, upload: {uploadFile: upload}}, - satellite - }); - - return await executeDeployWithProposal({ - deployFn, - uploadFn, - options: {deprecatedGzip}, - method: 'single' - }); - }; - - const uploadFilesWithBatch = async (): Promise => { - const uploadFn = async ({files, satellite, ...rest}: UploadFilesFnParamsWithProposal) => { - await uploadAssetsWithProposal({ - cdn: {satellite}, - assets: files.map(mapFileToAssetForUpload), - ...rest - }); - }; - - const deployFn = async ({ - deploy: {params, upload}, - satellite - }: DeployFnParams): Promise => - await deployWithProposal({ - deploy: {params, upload: {uploadFiles: upload}}, - satellite - }); - - return await executeDeployWithProposal({ - deployFn, - uploadFn, - method: 'grouped', - options: {deprecatedGzip} - }); - }; - - const result = await (withBatch ? uploadFilesWithBatch() : uploadFilesIndividually()); + const result = await executeDeployWithProposal({ + withBatch, + clearOption, + deprecatedGzip, + noCommit + }); if (result.result !== 'deployed') { return; diff --git a/src/services/deploy/_deploy.with-proposal.services.ts b/src/services/deploy/_deploy.with-proposal.services.ts new file mode 100644 index 00000000..f80c18c4 --- /dev/null +++ b/src/services/deploy/_deploy.with-proposal.services.ts @@ -0,0 +1,150 @@ +import {uploadAssetsWithProposal, uploadAssetWithProposal} from '@junobuild/cdn'; +import type {UploadIndividually, UploadWithBatch, + deployWithProposal as cliDeployWithProposal, + type DeployParams, + type DeployResultWithProposal, + type UploadFileStorage, + type UploadFilesWithProposal, + type UploadFileWithProposal +} from '@junobuild/cli-tools'; +import type {UploadAsset} from '@junobuild/storage'; +import {type SatelliteParametersWithId} from '../../types/satellite'; +import { + type DeployFnParams, + executeDeployWithProposal, + type UploadFileFnParamsWithProposal, + type UploadFilesFnParamsWithProposal +} from '../assets/deploy/deploy.execute.services'; + +interface DeployWithProposalParams { + clearOption: boolean; + deprecatedGzip: string | undefined; + noCommit: boolean; +} + +export const deployWithProposal = async ({ + withBatch, + ...rest +}: { + withBatch: boolean; +} & DeployWithProposalParams) => { + return await (withBatch ? uploadFilesWithBatch(rest) : uploadFilesIndividually(rest)); +}; + +const uploadFilesIndividually = async ({ + deprecatedGzip, + ...cliParams +}: DeployWithProposalParams): Promise => { + const uploadFn = async ({ + satellite, + proposalId, + progress, + ...file + }: UploadFileFnParamsWithProposal) => { + await uploadAssetWithProposal({ + cdn: {satellite}, + proposalId, + progress, + asset: mapFileToAssetForUpload(file) + }); + }; + + const deployFn = async ({ + deploy: {params, upload}, + satellite + }: DeployFnParams): Promise => + await deployWithUpload({ + deploy: {params, upload: {uploadFile: upload}}, + satellite, + cliParams + }); + + return await executeDeployWithProposal({ + deployFn, + uploadFn, + options: {deprecatedGzip}, + method: 'single' + }); +}; + +const uploadFilesWithBatch = async ({ + deprecatedGzip, + ...cliParams +}: DeployWithProposalParams): Promise => { + const uploadFn = async ({files, satellite, ...rest}: UploadFilesFnParamsWithProposal) => { + await uploadAssetsWithProposal({ + cdn: {satellite}, + assets: files.map(mapFileToAssetForUpload), + ...rest + }); + }; + + const deployFn = async ({ + deploy: {params, upload}, + satellite + }: DeployFnParams): Promise => + await deployWithUpload({ + deploy: {params, upload: {uploadFiles: upload}}, + satellite, + cliParams + }); + + return await executeDeployWithProposal({ + deployFn, + uploadFn, + method: 'grouped', + options: {deprecatedGzip} + }); +}; + +const deployWithUpload = async ({ + deploy: {params, upload}, + satellite, + cliParams: {clearOption, noCommit} +}: { + deploy: { + params: DeployParams; + upload: UploadIndividually | UploadWithBatch; + }; + satellite: SatelliteParametersWithId; + cliParams: Omit; +}): Promise => + await cliDeployWithProposal({ + deploy: { + params: { + ...params, + includeAllFiles: clearOption + }, + upload + }, + proposal: { + clearAssets: clearOption, + autoCommit: !noCommit, + cdn: { + satellite + } + } + }); + +const mapFileToAssetForUpload = ({ + filename: storageFilename, + fullPath: storagePath, + data, + collection, + headers = [], + encoding +}: UploadFileStorage): UploadAsset => { + // Similar as in Juno Core SDK + // The IC certification does not currently support encoding + const filename = decodeURI(storageFilename); + const fullPath = storagePath ?? `/${collection}/${filename}`; + + return { + filename, + fullPath, + data, + collection, + headers, + encoding + }; +}; From 0278c8c3c2a9d2983a80d7c0955b0e426a0fc0ac Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 07:26:41 +0200 Subject: [PATCH 11/16] chore: fmt --- src/services/deploy/_deploy.with-proposal.services.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/services/deploy/_deploy.with-proposal.services.ts b/src/services/deploy/_deploy.with-proposal.services.ts index f80c18c4..c4ed410c 100644 --- a/src/services/deploy/_deploy.with-proposal.services.ts +++ b/src/services/deploy/_deploy.with-proposal.services.ts @@ -1,11 +1,13 @@ import {uploadAssetsWithProposal, uploadAssetWithProposal} from '@junobuild/cdn'; -import type {UploadIndividually, UploadWithBatch, +import { deployWithProposal as cliDeployWithProposal, type DeployParams, type DeployResultWithProposal, type UploadFileStorage, type UploadFilesWithProposal, - type UploadFileWithProposal + type UploadFileWithProposal, + type UploadIndividually, + type UploadWithBatch } from '@junobuild/cli-tools'; import type {UploadAsset} from '@junobuild/storage'; import {type SatelliteParametersWithId} from '../../types/satellite'; From 1d3ab501140aba75f9029219b3ffba005e9ba2a4 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 07:27:32 +0200 Subject: [PATCH 12/16] refactor: move --- .../deploy/deploy.with-proposal.services.ts} | 4 ++-- src/services/deploy.services.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename src/services/{deploy/_deploy.with-proposal.services.ts => assets/deploy/deploy.with-proposal.services.ts} (96%) diff --git a/src/services/deploy/_deploy.with-proposal.services.ts b/src/services/assets/deploy/deploy.with-proposal.services.ts similarity index 96% rename from src/services/deploy/_deploy.with-proposal.services.ts rename to src/services/assets/deploy/deploy.with-proposal.services.ts index c4ed410c..edb24ce8 100644 --- a/src/services/deploy/_deploy.with-proposal.services.ts +++ b/src/services/assets/deploy/deploy.with-proposal.services.ts @@ -10,13 +10,13 @@ import { type UploadWithBatch } from '@junobuild/cli-tools'; import type {UploadAsset} from '@junobuild/storage'; -import {type SatelliteParametersWithId} from '../../types/satellite'; +import {type SatelliteParametersWithId} from '../../../types/satellite'; import { type DeployFnParams, executeDeployWithProposal, type UploadFileFnParamsWithProposal, type UploadFilesFnParamsWithProposal -} from '../assets/deploy/deploy.execute.services'; +} from './deploy.execute.services'; interface DeployWithProposalParams { clearOption: boolean; diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index ab67aede..c6f5ebeb 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -9,7 +9,7 @@ import { type UploadFileFnParams } from './assets/deploy/deploy.execute.services'; import {clearProposalStagedAssets} from './changes/changes.clear.services'; -import {deployWithProposal as executeDeployWithProposal} from './deploy/_deploy.with-proposal.services'; +import {deployWithProposal as executeDeployWithProposal} from './assets/deploy/deploy.with-proposal.services'; import {getSatelliteVersion} from './version.services'; export const deploy = async (args?: string[]) => { From 322ec304eb751567f949bd7f0323eccb1cb9f994 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 07:44:49 +0200 Subject: [PATCH 13/16] refactor: cleanup --- .../assets/deploy/deploy.execute.services.ts | 106 ++++++++++-------- 1 file changed, 58 insertions(+), 48 deletions(-) diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 84f252c1..82b77aa9 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -89,17 +89,11 @@ const executeDeploy = async < P extends UploadFileStorage, R extends DeployResult | DeployResultWithProposal >({ - deployFn, - uploadFn, - method, - options + options, + ...rest }: { options: {deprecatedGzip?: string}; } & UploadFn): Promise => { - const assertMemory = async () => { - await assertSatelliteMemorySize(); - }; - const {satellite, satelliteConfig: satelliteConfigRead} = await assertConfigAndLoadSatelliteContext(); @@ -110,14 +104,52 @@ const executeDeploy = async < ...(nonNullish(gzip) && {gzip}) }; + await cliPreDeploy({config: satelliteConfig}); + + const result = await deployWithMethod({ + ...rest, + satellite, + satelliteConfig + }); + + if (result.result === 'skipped') { + process.exit(0); + } + + await cliPostDeploy({config: satelliteConfig}); + + return result; +}; + +const deployWithMethod = async < + P extends UploadFileStorage, + R extends DeployResult | DeployResultWithProposal +>({ + deployFn, + uploadFn, + method, + satellite, + satelliteConfig +}: { + satellite: SatelliteParametersWithId; + satelliteConfig: SatelliteConfig; +} & UploadFn): Promise => { + const assertMemory = async () => { + await assertSatelliteMemorySize(); + }; + const listExistingAssets = async ({startAfter}: {startAfter?: string}): Promise => await listAssets({ startAfter, satellite }); - // TODO: really ugly - let result: R; + const deployParams: DeployParams = { + config: satelliteConfig, + listAssets: listExistingAssets, + assertSourceDirExists, + assertMemory + }; if (method === 'grouped') { const uploadFiles = async (params: UploadInput<{files: P[]}, R>) => { @@ -128,52 +160,30 @@ const executeDeploy = async < await uploadFn(paramsWithSatellite); }; - await cliPreDeploy({config: satelliteConfig}); - - result = await deployFn({ + return await deployFn({ deploy: { - params: { - config: satelliteConfig, - listAssets: listExistingAssets, - assertSourceDirExists, - assertMemory - }, + params: deployParams, upload: uploadFiles }, satellite }); - } else { - const uploadFile = async (params: UploadInput) => { - const paramsWithSatellite: UploadParams = { - ...params, - satellite - }; - await uploadFn(paramsWithSatellite); - }; - - await cliPreDeploy({config: satelliteConfig}); - - result = await deployFn({ - deploy: { - params: { - config: satelliteConfig, - listAssets: listExistingAssets, - assertSourceDirExists, - assertMemory - }, - upload: uploadFile - }, - satellite - }); - } - - if (result.result === 'skipped') { - process.exit(0); } - await cliPostDeploy({config: satelliteConfig}); + const uploadFile = async (params: UploadInput) => { + const paramsWithSatellite: UploadParams = { + ...params, + satellite + }; + await uploadFn(paramsWithSatellite); + }; - return result; + return await deployFn({ + deploy: { + params: deployParams, + upload: uploadFile + }, + satellite + }); }; const assertSourceDirExists = (source: string) => { From 2bf2f837b00faf03f51eb5bf6ac16d308dc45814 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 08:28:10 +0200 Subject: [PATCH 14/16] chore: fmt --- src/services/deploy.services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index c6f5ebeb..63f3cbca 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -8,8 +8,8 @@ import { executeDeployImmediate, type UploadFileFnParams } from './assets/deploy/deploy.execute.services'; -import {clearProposalStagedAssets} from './changes/changes.clear.services'; import {deployWithProposal as executeDeployWithProposal} from './assets/deploy/deploy.with-proposal.services'; +import {clearProposalStagedAssets} from './changes/changes.clear.services'; import {getSatelliteVersion} from './version.services'; export const deploy = async (args?: string[]) => { From 334195757b3b4eb0a0fd9c5815fcaaeec9e603da Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 08:29:19 +0200 Subject: [PATCH 15/16] chore: remove todo --- src/services/assets/deploy/deploy.execute.services.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 82b77aa9..1dc62c26 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -22,7 +22,6 @@ export interface DeployFnParams { satellite: SatelliteParametersWithId; } -// TODO: refactor and naming? export type UploadFileFnParams = UploadFileStorage & {satellite: SatelliteParametersWithId}; export type UploadFileFnParamsWithProposal = UploadFileFnParams & { proposalId: bigint; From b730abd5865565dfd7dcfcefbf3b299ac2cb3c13 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Wed, 13 Aug 2025 08:30:45 +0200 Subject: [PATCH 16/16] feat: rename to align with types --- src/services/assets/deploy/deploy.execute.services.ts | 8 ++++---- .../assets/deploy/deploy.with-proposal.services.ts | 4 ++-- src/services/deploy.services.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/services/assets/deploy/deploy.execute.services.ts b/src/services/assets/deploy/deploy.execute.services.ts index 1dc62c26..ddde4ecd 100644 --- a/src/services/assets/deploy/deploy.execute.services.ts +++ b/src/services/assets/deploy/deploy.execute.services.ts @@ -41,14 +41,14 @@ type UploadParams = UploadInput & { type UploadFn

= | { - method: 'single'; + method: 'individual'; deployFn: ( params: DeployFnParams<(params: UploadInput) => Promise> ) => Promise; uploadFn: (params: UploadParams) => Promise; } | { - method: 'grouped'; + method: 'batch'; deployFn: ( params: DeployFnParams<(params: UploadInput<{files: P[]}, R>) => Promise> ) => Promise; @@ -80,7 +80,7 @@ export const executeDeployImmediate = async ({ deployFn, uploadFn, options, - method: 'single' + method: 'individual' }); }; @@ -150,7 +150,7 @@ const deployWithMethod = async < assertMemory }; - if (method === 'grouped') { + if (method === 'batch') { const uploadFiles = async (params: UploadInput<{files: P[]}, R>) => { const paramsWithSatellite: UploadParams<{files: P[]}, R> = { ...params, diff --git a/src/services/assets/deploy/deploy.with-proposal.services.ts b/src/services/assets/deploy/deploy.with-proposal.services.ts index edb24ce8..b53e6384 100644 --- a/src/services/assets/deploy/deploy.with-proposal.services.ts +++ b/src/services/assets/deploy/deploy.with-proposal.services.ts @@ -65,7 +65,7 @@ const uploadFilesIndividually = async ({ deployFn, uploadFn, options: {deprecatedGzip}, - method: 'single' + method: 'individual' }); }; @@ -94,7 +94,7 @@ const uploadFilesWithBatch = async ({ return await executeDeployWithProposal({ deployFn, uploadFn, - method: 'grouped', + method: 'batch', options: {deprecatedGzip} }); }; diff --git a/src/services/deploy.services.ts b/src/services/deploy.services.ts index 63f3cbca..b5586cf2 100644 --- a/src/services/deploy.services.ts +++ b/src/services/deploy.services.ts @@ -46,7 +46,7 @@ export const deploy = async (args?: string[]) => { return; } - // TODO: use version for grouped + // TODO: use version for batch // const withBatch = compare(result.version, '0.1.2') >= 0; const withBatch = true;