Skip to content

Commit 1c2aeb0

Browse files
committed
skip global check when checking for updates.
1 parent f781e22 commit 1c2aeb0

File tree

7 files changed

+15
-46
lines changed

7 files changed

+15
-46
lines changed

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ const main = async () => {
2323

2424
const updateMessage = await checkForUpdates();
2525
if (updateMessage) {
26+
console.log();
2627
logger.info(updateMessage);
28+
console.log();
2729
}
2830

2931
// Error handling

src/test-eslint.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/tools/system/shellMessage.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { describe, it, expect, beforeEach, afterEach } from "vitest";
22
import { processStates, shellStartTool } from "./shellStart.js";
3-
import { MockLogger } from "../../utils/mockLogger.js";
3+
import { MockLogger } from "../../utils/mockLogger.test.js";
44
import { shellMessageTool } from "./shellMessage.js";
55

66
// Helper function to get instanceId from shellStart result

src/tools/system/shellStart.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { describe, it, expect, beforeEach, afterEach } from "vitest";
22
import { processStates, shellStartTool } from "./shellStart.js";
3-
import { MockLogger } from "../../utils/mockLogger.js";
3+
import { MockLogger } from "../../utils/mockLogger.test.js";
44

55
describe("shellStartTool", () => {
66
const mockLogger = new MockLogger();
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { Logger } from './logger.js';
1+
import { Logger } from "./logger.js";
22

33
export class MockLogger extends Logger {
44
constructor() {
5-
super({ name: 'mock' });
5+
super({ name: "mock" });
66
}
77

88
debug(..._messages: any[]): void {}
99
verbose(..._messages: any[]): void {}
1010
info(..._messages: any[]): void {}
1111
warn(..._messages: any[]): void {}
1212
error(..._messages: any[]): void {}
13-
}
13+
}

src/utils/versionCheck.test.ts

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,16 @@
11
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
22
import {
3-
isGlobalPackage,
43
generateUpgradeMessage,
54
fetchLatestVersion,
65
getPackageInfo,
76
checkForUpdates,
87
} from "./versionCheck.js";
98

10-
// eslint-disable-next-line max-lines-per-function
119
describe("versionCheck", () => {
12-
describe("isGlobalPackage", () => {
13-
const originalEnv = process.env;
14-
15-
beforeEach(() => {
16-
process.env = { ...originalEnv };
17-
});
18-
19-
afterEach(() => {
20-
process.env = originalEnv;
21-
});
22-
23-
it("returns true when npm_config_global is set", () => {
24-
process.env.npm_config_global = "true";
25-
expect(isGlobalPackage()).toBe(true);
26-
});
27-
28-
it("returns false when npm_config_global is not set", () => {
29-
delete process.env.npm_config_global;
30-
expect(isGlobalPackage()).toBe(false);
31-
});
32-
});
33-
3410
describe("generateUpgradeMessage", () => {
3511
it("returns null when versions are the same", () => {
3612
expect(generateUpgradeMessage("1.0.0", "1.0.0", "test-package")).toBe(
37-
null,
13+
null
3814
);
3915
});
4016

@@ -67,7 +43,7 @@ describe("versionCheck", () => {
6743
const version = await fetchLatestVersion("test-package");
6844
expect(version).toBe("1.1.0");
6945
expect(mockFetch).toHaveBeenCalledWith(
70-
"https://registry.npmjs.org/test-package/latest",
46+
"https://registry.npmjs.org/test-package/latest"
7147
);
7248
});
7349

src/utils/versionCheck.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Logger } from "./logger.js";
2+
import chalk from "chalk";
23
import { createRequire } from "module";
34
import type { PackageJson } from "type-fest";
45

@@ -30,7 +31,7 @@ export function isGlobalPackage(): boolean {
3031
* Fetches the latest version of a package from npm registry
3132
*/
3233
export async function fetchLatestVersion(
33-
packageName: string,
34+
packageName: string
3435
): Promise<string | null> {
3536
try {
3637
const registryUrl = `https://registry.npmjs.org/${packageName}/latest`;
@@ -45,7 +46,7 @@ export async function fetchLatestVersion(
4546
} catch (error) {
4647
logger.warn(
4748
"Error fetching latest version:",
48-
error instanceof Error ? error.message : String(error),
49+
error instanceof Error ? error.message : String(error)
4950
);
5051
return null;
5152
}
@@ -57,10 +58,10 @@ export async function fetchLatestVersion(
5758
export function generateUpgradeMessage(
5859
currentVersion: string,
5960
latestVersion: string,
60-
packageName: string,
61+
packageName: string
6162
): string | null {
6263
return currentVersion !== latestVersion
63-
? `Update available: ${currentVersion}${latestVersion}\nRun 'npm install -g ${packageName}' to update`
64+
? chalk.green(` Update available: ${currentVersion}${latestVersion}\n Run 'npm install -g ${packageName}' to update`)
6465
: null;
6566
}
6667

@@ -72,11 +73,6 @@ export function generateUpgradeMessage(
7273
*/
7374
export async function checkForUpdates(): Promise<string | null> {
7475
try {
75-
// Only check for updates if running as global package
76-
if (!isGlobalPackage()) {
77-
return null;
78-
}
79-
8076
const { name: packageName, version: currentVersion } = getPackageInfo();
8177

8278
if (!packageName || !currentVersion) {
@@ -96,7 +92,7 @@ export async function checkForUpdates(): Promise<string | null> {
9692
// Log error but don't throw to handle gracefully
9793
logger.warn(
9894
"Error checking for updates:",
99-
error instanceof Error ? error.message : String(error),
95+
error instanceof Error ? error.message : String(error)
10096
);
10197
return null;
10298
}

0 commit comments

Comments
 (0)