From 5e63cc6a54d1ec28d9fce9baa93d527ee238316b Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Mon, 7 Jul 2025 15:34:45 +0200 Subject: [PATCH 1/5] TA-3920: Fix package.json path --- src/core/utils/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/utils/version.ts b/src/core/utils/version.ts index 78343fc5..764b69df 100644 --- a/src/core/utils/version.ts +++ b/src/core/utils/version.ts @@ -1,5 +1,5 @@ // tslint:disable-next-line:no-var-requires -const { version } = require("../../../package.json"); +const { version } = require("../../package.json"); export class VersionUtils { public static getCurrentCliVersion(): string { From d5ea6d74992497425dfc4bf37ef13309e660c05a Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 9 Jul 2025 11:18:44 +0200 Subject: [PATCH 2/5] TA-3920: Fix package.json path --- package.json | 1 + src/content-cli.ts | 36 ++++++++++++++++++++---------------- src/core/utils/version.ts | 14 ++++++++++---- yarn.lock | 7 +++++++ 4 files changed, 38 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 0583918c..1d2b4757 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "form-data": "4.0.1", "openid-client": "5.6.1", "hpagent": "1.2.0", + "package-up": "5.0.0", "semver": "7.6.3", "valid-url": "1.0.9", "winston": "3.17.0", diff --git a/src/content-cli.ts b/src/content-cli.ts index 3bf4cd41..89527c16 100644 --- a/src/content-cli.ts +++ b/src/content-cli.ts @@ -22,24 +22,27 @@ if (!semverSatisfies(process.version, requiredVersion)) { process.exit(1); } -// Global configuration options -const program: Command = new Command(); -program.version(VersionUtils.getCurrentCliVersion()); -program.option("-q, --quietmode", "Reduce output to a minimum", false); -program.option("-p, --profile [profile]"); -program.option("--debug", "Print debug messages", false); -program.option("--dev", "Development Mode", false); -program.parseOptions(process.argv); +async function configureGlobalConfigurationOptions(): Promise { + const program: Command = new Command(); + const currentCliVersion = await VersionUtils.getCurrentCliVersion(); + program.version(currentCliVersion); + program.option("-q, --quietmode", "Reduce output to a minimum", false); + program.option("-p, --profile [profile]"); + program.option("--debug", "Print debug messages", false); + program.option("--dev", "Development Mode", false); + program.parseOptions(process.argv); -if (!program.opts().quietmode) { - console.log(`Content CLI - (C) Copyright 2025 - Celonis SE - Version ${VersionUtils.getCurrentCliVersion()}`); - console.log(); -} + if (!program.opts().quietmode) { + console.log(`Content CLI - (C) Copyright 2025 - Celonis SE - Version ${currentCliVersion}`); + console.log(); + } -if (program.opts().debug) { - logger.transports.forEach(t => { - t.level = "debug"; - }); + if (program.opts().debug) { + logger.transports.forEach(t => { + t.level = "debug"; + }); + } + return program; } /** @@ -53,6 +56,7 @@ function configureRootCommands(configurator: Configurator): void { } async function run(): Promise { + const program = await configureGlobalConfigurationOptions(); const context = new Context(program.opts()); await context.init(); diff --git a/src/core/utils/version.ts b/src/core/utils/version.ts index 764b69df..fb2d7b55 100644 --- a/src/core/utils/version.ts +++ b/src/core/utils/version.ts @@ -1,8 +1,14 @@ -// tslint:disable-next-line:no-var-requires -const { version } = require("../../package.json"); +import * as fs from "fs"; +import { packageUp } from "package-up"; export class VersionUtils { - public static getCurrentCliVersion(): string { - return version; + public static async getCurrentCliVersion(): Promise { + const packageJsonPath = await packageUp(); + if (!packageJsonPath) { + throw new Error("Could not find package.json"); + } + + const pkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8")); + return pkg.version; } } diff --git a/yarn.lock b/yarn.lock index 4124240a..0e8789d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4459,6 +4459,13 @@ pac-resolver@^7.0.1: degenerator "^5.0.0" netmask "^2.0.2" +package-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/package-up/-/package-up-5.0.0.tgz#3facda2aa9248c0b68b3dddfa4c58d22aa3faea2" + integrity sha512-MQEgDUvXCa3sGvqHg3pzHO8e9gqTCMPVrWUko3vPQGntwegmFo52mZb2abIVTjFnUcW0BcPz0D93jV5Cas1DWA== + dependencies: + find-up-simple "^1.0.0" + packageurl-js@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/packageurl-js/-/packageurl-js-2.0.1.tgz" From 77164b484a3d198e6ff95ff8272d303dbcb19a1b Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 9 Jul 2025 11:19:26 +0200 Subject: [PATCH 3/5] TA-3920: Commit yarn.lock changes --- yarn.lock | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yarn.lock b/yarn.lock index 0e8789d5..0c94940a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3075,6 +3075,11 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +find-up-simple@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.1.tgz#18fb90ad49e45252c4d7fca56baade04fa3fca1e" + integrity sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ== + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" From c2ca612597c95559d3d891b3cb9cf5aa70cec341 Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 9 Jul 2025 11:31:52 +0200 Subject: [PATCH 4/5] TA-3920: Try dynamic import --- src/core/utils/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/utils/version.ts b/src/core/utils/version.ts index fb2d7b55..f14c2f61 100644 --- a/src/core/utils/version.ts +++ b/src/core/utils/version.ts @@ -1,8 +1,8 @@ import * as fs from "fs"; -import { packageUp } from "package-up"; export class VersionUtils { public static async getCurrentCliVersion(): Promise { + const { packageUp } = await import("package-up"); const packageJsonPath = await packageUp(); if (!packageJsonPath) { throw new Error("Could not find package.json"); From 98528a455abf7678d56abdd3f8d8f3e47d69a123 Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 9 Jul 2025 13:20:17 +0200 Subject: [PATCH 5/5] TA-3920: Remove `package-up` and use `find-up` --- package.json | 1 - src/core/utils/version.ts | 4 ++-- yarn.lock | 12 ------------ 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 1d2b4757..0583918c 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "form-data": "4.0.1", "openid-client": "5.6.1", "hpagent": "1.2.0", - "package-up": "5.0.0", "semver": "7.6.3", "valid-url": "1.0.9", "winston": "3.17.0", diff --git a/src/core/utils/version.ts b/src/core/utils/version.ts index f14c2f61..7f3c3583 100644 --- a/src/core/utils/version.ts +++ b/src/core/utils/version.ts @@ -1,9 +1,9 @@ import * as fs from "fs"; +import * as findUp from "find-up"; export class VersionUtils { public static async getCurrentCliVersion(): Promise { - const { packageUp } = await import("package-up"); - const packageJsonPath = await packageUp(); + const packageJsonPath = await findUp("package.json"); if (!packageJsonPath) { throw new Error("Could not find package.json"); } diff --git a/yarn.lock b/yarn.lock index 0c94940a..4124240a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3075,11 +3075,6 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -find-up-simple@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.1.tgz#18fb90ad49e45252c4d7fca56baade04fa3fca1e" - integrity sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ== - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" @@ -4464,13 +4459,6 @@ pac-resolver@^7.0.1: degenerator "^5.0.0" netmask "^2.0.2" -package-up@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/package-up/-/package-up-5.0.0.tgz#3facda2aa9248c0b68b3dddfa4c58d22aa3faea2" - integrity sha512-MQEgDUvXCa3sGvqHg3pzHO8e9gqTCMPVrWUko3vPQGntwegmFo52mZb2abIVTjFnUcW0BcPz0D93jV5Cas1DWA== - dependencies: - find-up-simple "^1.0.0" - packageurl-js@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/packageurl-js/-/packageurl-js-2.0.1.tgz"