commit 8494fb100d5b9af80cb10cda487a593899906076
parent e8d97b2b6b01c24737c162fbe23ce75592e2b08e
Author: Sebastian <sebasjm@gmail.com>
Date: Wed, 3 Sep 2025 11:34:52 -0300
partially fix #10352
Diffstat:
7 files changed, 74 insertions(+), 59 deletions(-)
diff --git a/packages/anastasis-cli/build-node.mjs b/packages/anastasis-cli/build-node.mjs
@@ -25,13 +25,16 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- console.log("not found");
- process.exit(1);
-}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
+const GIT_HASH = GIT_ROOT === "/" ? "not defined" : git_hash();
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
+}
function git_hash() {
const rev = fs
@@ -58,7 +61,7 @@ export const buildConfig = {
sourcemap: true,
inject: ["src/import-meta-url.js"],
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
["import.meta.url"]: "import_meta_url",
},
diff --git a/packages/merchant-backend-ui/build.mjs b/packages/merchant-backend-ui/build.mjs
@@ -51,15 +51,16 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- // eslint-disable-next-line no-undef
- console.log("not found");
- // eslint-disable-next-line no-undef
- process.exit(1);
+const GIT_HASH = GIT_ROOT === "/" ? 'not defined' : git_hash();
+
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
function git_hash() {
const rev = fs
@@ -143,7 +144,7 @@ export const buildConfig = {
jsxFactory: "h",
jsxFragment: "Fragment",
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
},
plugins: [
@@ -180,7 +181,7 @@ export const testingConfig = {
platform: "node",
sourcemap: true,
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
},
plugins: [
diff --git a/packages/taler-harness/build.mjs b/packages/taler-harness/build.mjs
@@ -25,13 +25,17 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- console.log("not found");
- process.exit(1);
-}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
+const GIT_HASH = GIT_ROOT === "/" ? 'not defined' : git_hash();
+
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
+}
function git_hash() {
const rev = fs
@@ -62,9 +66,9 @@ export const buildConfig = {
sourcemap: true,
inject: ["src/import-meta-url.js"],
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
- "walletCoreBuildInfo.implementationSemver": `"${_package.version}"`,
+ "walletCoreBuildInfo.implementationSemver": `"${PACKAGE_VERSION}"`,
"walletCoreBuildInfo.implementationGitHash": `"${GIT_HASH}"`,
"import.meta.url": "import_meta_url",
},
diff --git a/packages/taler-wallet-cli/build-node.mjs b/packages/taler-wallet-cli/build-node.mjs
@@ -25,13 +25,16 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- console.log("not found");
- process.exit(1);
-}
const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
+}
function git_hash() {
const rev = fs
@@ -61,9 +64,9 @@ export const buildConfig = {
sourcemap: true,
inject: ["src/import-meta-url.js"],
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
- "walletCoreBuildInfo.implementationSemver": `"${_package.version}"`,
+ "walletCoreBuildInfo.implementationSemver": `"${PACKAGE_VERSION}"`,
"walletCoreBuildInfo.implementationGitHash": `"${GIT_HASH}"`,
["import.meta.url"]: "import_meta_url",
},
diff --git a/packages/taler-wallet-embedded/build.mjs b/packages/taler-wallet-embedded/build.mjs
@@ -25,13 +25,16 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- console.log("not found");
- process.exit(1);
-}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
+const GIT_HASH = GIT_ROOT === "/" ? 'not defined' : git_hash();
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
+}
function git_hash() {
const rev = fs
@@ -63,9 +66,9 @@ export const buildConfig = {
conditions: ["qtart"],
sourcemap: true,
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
- "walletCoreBuildInfo.implementationSemver": `"${_package.version}"`,
+ "walletCoreBuildInfo.implementationSemver": `"${PACKAGE_VERSION}"`,
"walletCoreBuildInfo.implementationGitHash": `"${GIT_HASH}"`,
},
};
diff --git a/packages/web-util/build.mjs b/packages/web-util/build.mjs
@@ -1,4 +1,4 @@
-#!/usr/bin/env node
+#!/bin/env node
/*
This file is part of GNU Taler
(C) 2022 Taler Systems S.A.
@@ -26,15 +26,16 @@ let GIT_ROOT = BASE;
while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === "/") {
- // eslint-disable-next-line no-undef
- console.log("not found");
- // eslint-disable-next-line no-undef
- process.exit(1);
+const GIT_HASH = GIT_ROOT === "/" ? 'not defined' : git_hash();
+
+let PACKAGE_VERSION = get_version()
+function get_version() {
+ try {
+ return JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))).version;
+ } catch {
+ return 'not defined'
+ }
}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
function git_hash() {
const rev = fs
@@ -109,7 +110,7 @@ const buildConfigBase = {
},
sourcemap: true,
define: {
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${PACKAGE_VERSION}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
},
//plugins: [nativeNodeModulesPlugin],
diff --git a/packages/web-util/src/index.build.ts b/packages/web-util/src/index.build.ts
@@ -247,21 +247,21 @@ function getPackageAndGitRoot(meta: undefined | ImportMeta) {
GIT_ROOT = path.join(GIT_ROOT, "../");
}
if (GIT_ROOT === "/") {
- throw Error(`could not found git root from ${meta}`);
+ return { version: 'not defined', hash: 'not defined', baseDir }
}
const hash = git_hash(GIT_ROOT);
const buf = fs.readFileSync(path.join(baseDir, "package.json"));
- const pkg = JSON.parse(buf.toString("utf-8"));
- return { pkg, hash, baseDir };
+ const version = JSON.parse(buf.toString("utf-8")).version;
+ return { version, hash, baseDir };
}
export function computeConfig(params: BuildParams): {
esBuildOptions: esbuild.BuildOptions;
- pkg: any;
+ version: string;
} {
const {
- pkg: _package,
+ version,
hash: GIT_HASH,
baseDir,
} = getPackageAndGitRoot(params.importMeta);
@@ -316,22 +316,22 @@ export function computeConfig(params: BuildParams): {
sourcemap: true, //params.type !== "production",
define: {
"process.env.NODE_ENV": JSON.stringify(params.type),
- __VERSION__: `"${_package.version}"`,
+ __VERSION__: `"${version}"`,
__GIT_HASH__: `"${GIT_HASH}"`,
},
plugins,
};
- return { esBuildOptions, pkg: _package };
+ return { esBuildOptions, version };
}
/**
* Build sources for prod environment
*/
export async function build(config: BuildParams) {
- const { esBuildOptions, pkg } = computeConfig(config);
+ const { esBuildOptions, version } = computeConfig(config);
const res = await esbuild.build(esBuildOptions);
- fs.writeFileSync(`${esBuildOptions.outdir}/version.txt`, pkg.version);
+ fs.writeFileSync(`${esBuildOptions.outdir}/version.txt`, version);
return res;
}