fix(cli): guard startup update check
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
|
||||
## Pending
|
||||
|
||||
### Fixes
|
||||
|
||||
- Prevent startup update checks from crashing when installed package metadata is incomplete.
|
||||
|
||||
|
||||
## 2026-05-10 - 2.16.0
|
||||
|
||||
|
||||
+12
-2
@@ -2,6 +2,7 @@ import * as plugins from "./plugins.js";
|
||||
import * as paths from "./paths.js";
|
||||
import { GitzoneConfig } from "./classes.gitzoneconfig.js";
|
||||
import { getRawCliMode } from "./helpers.climode.js";
|
||||
import { commitinfo } from "./00_commitinfo_data.js";
|
||||
|
||||
const gitzoneSmartcli = new plugins.smartcli.Smartcli();
|
||||
|
||||
@@ -11,20 +12,29 @@ export let run = async () => {
|
||||
|
||||
// get packageInfo
|
||||
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
|
||||
if (rawCliMode.checkUpdates) {
|
||||
const smartupdateInstance = new plugins.smartupdate.SmartUpdate();
|
||||
try {
|
||||
await smartupdateInstance.check(
|
||||
"gitzone",
|
||||
projectInfo.npm.version,
|
||||
packageVersion,
|
||||
"http://gitzone.gitlab.io/gitzone/changelog.html",
|
||||
);
|
||||
} catch {
|
||||
// Update checks must never block actual CLI commands.
|
||||
}
|
||||
}
|
||||
if (rawCliMode.output === "human") {
|
||||
console.log("---------------------------------------------");
|
||||
}
|
||||
gitzoneSmartcli.addVersion(projectInfo.npm.version);
|
||||
gitzoneSmartcli.addVersion(packageVersion);
|
||||
|
||||
// ======> Standard task <======
|
||||
|
||||
|
||||
Reference in New Issue
Block a user