taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 8494fb100d5b9af80cb10cda487a593899906076
parent e8d97b2b6b01c24737c162fbe23ce75592e2b08e
Author: Sebastian <sebasjm@gmail.com>
Date:   Wed,  3 Sep 2025 11:34:52 -0300

partially fix #10352

Diffstat:
Mpackages/anastasis-cli/build-node.mjs | 17++++++++++-------
Mpackages/merchant-backend-ui/build.mjs | 21+++++++++++----------
Mpackages/taler-harness/build.mjs | 20++++++++++++--------
Mpackages/taler-wallet-cli/build-node.mjs | 17++++++++++-------
Mpackages/taler-wallet-embedded/build.mjs | 19+++++++++++--------
Mpackages/web-util/build.mjs | 21+++++++++++----------
Mpackages/web-util/src/index.build.ts | 18+++++++++---------
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; }