fix(cli): guard startup update check

This commit is contained in:
2026-05-10 11:10:30 +00:00
parent 358d677e72
commit cc3128f07b
2 changed files with 20 additions and 6 deletions
+4
View File
@@ -2,6 +2,10 @@
## Pending ## Pending
### Fixes
- Prevent startup update checks from crashing when installed package metadata is incomplete.
## 2026-05-10 - 2.16.0 ## 2026-05-10 - 2.16.0
+16 -6
View File
@@ -2,6 +2,7 @@ import * as plugins from "./plugins.js";
import * as paths from "./paths.js"; import * as paths from "./paths.js";
import { GitzoneConfig } from "./classes.gitzoneconfig.js"; import { GitzoneConfig } from "./classes.gitzoneconfig.js";
import { getRawCliMode } from "./helpers.climode.js"; import { getRawCliMode } from "./helpers.climode.js";
import { commitinfo } from "./00_commitinfo_data.js";
const gitzoneSmartcli = new plugins.smartcli.Smartcli(); const gitzoneSmartcli = new plugins.smartcli.Smartcli();
@@ -11,20 +12,29 @@ export let run = async () => {
// get packageInfo // get packageInfo
const projectInfo = new plugins.projectinfo.ProjectInfo(paths.packageDir); const projectInfo = new plugins.projectinfo.ProjectInfo(paths.packageDir);
const projectInfoVersion = (projectInfo.npm as any)?.version;
const packageVersion =
typeof projectInfoVersion === "string" && projectInfoVersion.length > 0
? projectInfoVersion
: commitinfo.version;
// check for updates // check for updates
if (rawCliMode.checkUpdates) { if (rawCliMode.checkUpdates) {
const smartupdateInstance = new plugins.smartupdate.SmartUpdate(); const smartupdateInstance = new plugins.smartupdate.SmartUpdate();
await smartupdateInstance.check( try {
"gitzone", await smartupdateInstance.check(
projectInfo.npm.version, "gitzone",
"http://gitzone.gitlab.io/gitzone/changelog.html", packageVersion,
); "http://gitzone.gitlab.io/gitzone/changelog.html",
);
} catch {
// Update checks must never block actual CLI commands.
}
} }
if (rawCliMode.output === "human") { if (rawCliMode.output === "human") {
console.log("---------------------------------------------"); console.log("---------------------------------------------");
} }
gitzoneSmartcli.addVersion(projectInfo.npm.version); gitzoneSmartcli.addVersion(packageVersion);
// ======> Standard task <====== // ======> Standard task <======