From edeba8d9306ea852f0fc38bf9df011a66197346f Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sat, 5 Apr 2025 09:29:35 +0200 Subject: [PATCH] feat: copy pkg json with name and mandatory for sputnik --- package-lock.json | 18 +++++++++--------- package.json | 2 +- src/services/build/build.javascript.ts | 14 ++++++-------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index 67c4b4bb..c1d2bc50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@junobuild/admin": "^0.1.6", - "@junobuild/cli-tools": "^0.1.7", + "@junobuild/cli-tools": "^0.1.7-next-2025-04-05.2", "@junobuild/config-loader": "^0.2.0", "@junobuild/core": "^0.1.9", "@junobuild/did-tools": "^0.2.0", @@ -1475,9 +1475,9 @@ } }, "node_modules/@junobuild/cli-tools": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.1.7.tgz", - "integrity": "sha512-URLlilOJ8f/cBsjRKTW80iaku316QAyxLXvjiCwNIsBo2Nc1z963qwFD2xy1zrq0cyqks4gTAy5L3E1+3QTxSQ==", + "version": "0.1.7-next-2025-04-05.2", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.1.7-next-2025-04-05.2.tgz", + "integrity": "sha512-i4Me5i1yhqLxCmoJI+U6NIjiznwiPmr58dglBJdXf6g40tQ48nvOSvkqwUFDDIBHNGSUIup/3WQzonfdlbkNrQ==", "license": "MIT", "dependencies": { "file-type": "^20.4.1", @@ -1486,9 +1486,9 @@ "minimatch": "^10.0.1" }, "peerDependencies": { - "@dfinity/utils": "^2", + "@dfinity/utils": "*", "@junobuild/config": "*", - "esbuild": "^0.25.1" + "esbuild": "*" } }, "node_modules/@junobuild/config": { @@ -7918,9 +7918,9 @@ "requires": {} }, "@junobuild/cli-tools": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.1.7.tgz", - "integrity": "sha512-URLlilOJ8f/cBsjRKTW80iaku316QAyxLXvjiCwNIsBo2Nc1z963qwFD2xy1zrq0cyqks4gTAy5L3E1+3QTxSQ==", + "version": "0.1.7-next-2025-04-05.2", + "resolved": "https://registry.npmjs.org/@junobuild/cli-tools/-/cli-tools-0.1.7-next-2025-04-05.2.tgz", + "integrity": "sha512-i4Me5i1yhqLxCmoJI+U6NIjiznwiPmr58dglBJdXf6g40tQ48nvOSvkqwUFDDIBHNGSUIup/3WQzonfdlbkNrQ==", "requires": { "file-type": "^20.4.1", "listr": "^0.14.3", diff --git a/package.json b/package.json index c0eb1f53..49961d12 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@dfinity/identity": "^2.3.0", "@dfinity/principal": "^2.3.0", "@junobuild/admin": "^0.1.6", - "@junobuild/cli-tools": "^0.1.7", + "@junobuild/cli-tools": "^0.1.7-next-2025-04-05.2", "@junobuild/config-loader": "^0.2.0", "@junobuild/core": "^0.1.9", "@junobuild/did-tools": "^0.2.0", diff --git a/src/services/build/build.javascript.ts b/src/services/build/build.javascript.ts index d8878270..946b59e4 100644 --- a/src/services/build/build.javascript.ts +++ b/src/services/build/build.javascript.ts @@ -125,7 +125,7 @@ const prepareMetadata = async (): Promise => { } try { - const {juno, version} = await readPackageJson(); + const {juno, version, name} = await readPackageJson(); if (isEmptyString(juno?.functions?.version) && isEmptyString(version)) { // No version detected therefore no metadata to the build in the container. @@ -135,14 +135,13 @@ const prepareMetadata = async (): Promise => { const functionsVersion = juno?.functions?.version; return { + ...(notEmptyString(name) && {name}), ...(notEmptyString(version) && {version}), ...(notEmptyString(functionsVersion) && {juno}) }; } catch (_err: unknown) { - // We want to continue the build process even if copying package.json fails, - // since it's only used to set the extended custom version. - console.log('⚠️ Could not read build metadata from package.json.'); - return undefined; + console.log(red('⚠️ Could not read build metadata from package.json.')); + process.exit(1); } }; @@ -155,9 +154,8 @@ const copyMetadata = async (metadata: BuildMetadata): Promise => { try { await writeFile(PACKAGE_JSON_SPUTNIK_PATH, JSON.stringify(metadata, null, 2), 'utf-8'); } catch (_err: unknown) { - // We want to continue the build process even if copying package.json fails, - // since it's only used to set the extended custom version. - console.log('⚠️ Could not copy package.json for the build.'); + console.log(red('⚠️ Could not copy package.json metadata for the build.')); + process.exit(1); } };