diff --git a/src/infra/openclaw-root.ts b/src/infra/openclaw-root.ts index 55b6bf7b91a..8015fcc8450 100644 --- a/src/infra/openclaw-root.ts +++ b/src/infra/openclaw-root.ts @@ -5,11 +5,14 @@ import { fileURLToPath } from "node:url"; const CORE_PACKAGE_NAMES = new Set(["openclaw"]); +function parsePackageName(raw: string): string | null { + const parsed = JSON.parse(raw) as { name?: unknown }; + return typeof parsed.name === "string" ? parsed.name : null; +} + async function readPackageName(dir: string): Promise { try { - const raw = await fs.readFile(path.join(dir, "package.json"), "utf-8"); - const parsed = JSON.parse(raw) as { name?: unknown }; - return typeof parsed.name === "string" ? parsed.name : null; + return parsePackageName(await fs.readFile(path.join(dir, "package.json"), "utf-8")); } catch { return null; } @@ -17,9 +20,7 @@ async function readPackageName(dir: string): Promise { function readPackageNameSync(dir: string): string | null { try { - const raw = fsSync.readFileSync(path.join(dir, "package.json"), "utf-8"); - const parsed = JSON.parse(raw) as { name?: unknown }; - return typeof parsed.name === "string" ? parsed.name : null; + return parsePackageName(fsSync.readFileSync(path.join(dir, "package.json"), "utf-8")); } catch { return null; }