From 76ec9122c0dd36f0535a74c65811c0f7bd138f4d Mon Sep 17 00:00:00 2001 From: Tommaso Sciortino Date: Fri, 6 Jun 2025 16:21:20 -0700 Subject: clean up version lookup code (#804) --- packages/cli/src/utils/version.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 packages/cli/src/utils/version.ts (limited to 'packages/cli/src/utils') diff --git a/packages/cli/src/utils/version.ts b/packages/cli/src/utils/version.ts new file mode 100644 index 00000000..8ccc3737 --- /dev/null +++ b/packages/cli/src/utils/version.ts @@ -0,0 +1,34 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { readPackageUp } from 'read-package-up'; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +let cliVersion: string | undefined; + +export async function getCliVersion(): Promise { + if (cliVersion) { + return cliVersion; + } + + if (process.env.CLI_VERSION) { + cliVersion = process.env.CLI_VERSION; + return cliVersion; + } + + try { + const readUpResult = await readPackageUp({ cwd: __dirname }); + cliVersion = readUpResult?.packageJson.version || 'unknown'; + } catch (_e) { + cliVersion = 'unknown'; + } + + return cliVersion; +} -- cgit v1.2.3