fix: improve build-info resolution for commit/version

This commit is contained in:
Peter Steinberger
2026-02-03 17:31:51 -08:00
parent e59eb814bd
commit e895e85f54
4 changed files with 34 additions and 7 deletions

View File

@@ -2,6 +2,12 @@
Docs: https://docs.openclaw.ai Docs: https://docs.openclaw.ai
## 2026.2.2-2
### Fixes
- CLI status: resolve build-info from bundled dist output (fixes "unknown" commit in npm builds).
## 2026.2.2-1 ## 2026.2.2-1
### Fixes ### Fixes

View File

@@ -1,6 +1,6 @@
{ {
"name": "openclaw", "name": "openclaw",
"version": "2026.2.2-1", "version": "2026.2.2-2",
"description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent", "description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent",
"keywords": [], "keywords": [],
"license": "MIT", "license": "MIT",

View File

@@ -60,10 +60,21 @@ const readCommitFromPackageJson = () => {
const readCommitFromBuildInfo = () => { const readCommitFromBuildInfo = () => {
try { try {
const require = createRequire(import.meta.url); const require = createRequire(import.meta.url);
const info = require("../build-info.json") as { const candidates = ["../build-info.json", "./build-info.json"];
commit?: string | null; for (const candidate of candidates) {
}; try {
return formatCommit(info.commit ?? null); const info = require(candidate) as {
commit?: string | null;
};
const formatted = formatCommit(info.commit ?? null);
if (formatted) {
return formatted;
}
} catch {
// ignore missing candidate
}
}
return null;
} catch { } catch {
return null; return null;
} }

View File

@@ -15,8 +15,18 @@ function readVersionFromPackageJson(): string | null {
function readVersionFromBuildInfo(): string | null { function readVersionFromBuildInfo(): string | null {
try { try {
const require = createRequire(import.meta.url); const require = createRequire(import.meta.url);
const info = require("../build-info.json") as { version?: string }; const candidates = ["../build-info.json", "./build-info.json"];
return info.version ?? null; for (const candidate of candidates) {
try {
const info = require(candidate) as { version?: string };
if (info.version) {
return info.version;
}
} catch {
// ignore missing candidate
}
}
return null;
} catch { } catch {
return null; return null;
} }