From 0fa19493c53fbd51fe26af19ef41a35b48e4bb99 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 27 Apr 2026 16:52:12 +0200 Subject: [PATCH] Refactor readPackageVersion function to support multiple candidate paths for package.json - Updated the logic to read the package version from either the current directory or the parent directory. - Added error handling to continue searching through candidate paths if the first read fails. --- server/api/app/version.get.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/server/api/app/version.get.js b/server/api/app/version.get.js index 90b29ce..35b42b1 100644 --- a/server/api/app/version.get.js +++ b/server/api/app/version.get.js @@ -3,9 +3,24 @@ import path from 'path' import { getUserFromToken } from '../../utils/auth.js' async function readPackageVersion() { - const packageJsonPath = path.join(process.cwd(), 'package.json') - const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8')) - return String(packageJson.version || '') + const cwd = process.cwd() + const candidatePaths = [ + path.join(cwd, 'package.json'), + path.join(cwd, '../package.json') + ] + + for (const packageJsonPath of candidatePaths) { + try { + const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8')) + if (packageJson?.version) { + return String(packageJson.version) + } + } catch (_error) { + // Try next candidate path (e.g. .output runtime) + } + } + + return '' } export default defineEventHandler(async (event) => {