diff --git a/packages/cli/src/ui/utils/updateCheck.test.ts b/packages/cli/src/ui/utils/updateCheck.test.ts index 6d3c8b77..975c320d 100644 --- a/packages/cli/src/ui/utils/updateCheck.test.ts +++ b/packages/cli/src/ui/utils/updateCheck.test.ts @@ -20,6 +20,23 @@ vi.mock('update-notifier', () => ({ describe('checkForUpdates', () => { beforeEach(() => { vi.resetAllMocks(); + // Clear DEV environment variable before each test + delete process.env.DEV; + }); + + it('should return null when running from source (DEV=true)', async () => { + process.env.DEV = 'true'; + getPackageJson.mockResolvedValue({ + name: 'test-package', + version: '1.0.0', + }); + updateNotifier.mockReturnValue({ + update: { current: '1.0.0', latest: '1.1.0' }, + }); + const result = await checkForUpdates(); + expect(result).toBeNull(); + expect(getPackageJson).not.toHaveBeenCalled(); + expect(updateNotifier).not.toHaveBeenCalled(); }); it('should return null if package.json is missing', async () => { diff --git a/packages/cli/src/ui/utils/updateCheck.ts b/packages/cli/src/ui/utils/updateCheck.ts index 6be5effc..904a9890 100644 --- a/packages/cli/src/ui/utils/updateCheck.ts +++ b/packages/cli/src/ui/utils/updateCheck.ts @@ -10,6 +10,11 @@ import { getPackageJson } from '../../utils/package.js'; export async function checkForUpdates(): Promise { try { + // Skip update check when running from source (development mode) + if (process.env.DEV === 'true') { + return null; + } + const packageJson = await getPackageJson(); if (!packageJson || !packageJson.name || !packageJson.version) { return null;