diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index a875ffc1..84f996ba 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -111,6 +111,9 @@ export interface Settings { // Setting for disabling auto-update. disableAutoUpdate?: boolean; + // Setting for disabling the update nag message. + disableUpdateNag?: boolean; + memoryDiscoveryMaxDirs?: number; dnsResolutionOrder?: DnsResolutionOrder; } diff --git a/packages/cli/src/utils/handleAutoUpdate.test.ts b/packages/cli/src/utils/handleAutoUpdate.test.ts index f292d0c2..c7c3da67 100644 --- a/packages/cli/src/utils/handleAutoUpdate.test.ts +++ b/packages/cli/src/utils/handleAutoUpdate.test.ts @@ -91,6 +91,14 @@ describe('handleAutoUpdate', () => { expect(mockSpawn).not.toHaveBeenCalled(); }); + it('should do nothing if update nag is disabled', () => { + mockSettings.merged.disableUpdateNag = true; + handleAutoUpdate(mockUpdateInfo, mockSettings, '/root', mockSpawn); + expect(mockGetInstallationInfo).not.toHaveBeenCalled(); + expect(mockUpdateEventEmitter.emit).not.toHaveBeenCalled(); + expect(mockSpawn).not.toHaveBeenCalled(); + }); + it('should emit "update-received" but not update if auto-updates are disabled', () => { mockSettings.merged.disableAutoUpdate = true; mockGetInstallationInfo.mockReturnValue({ diff --git a/packages/cli/src/utils/handleAutoUpdate.ts b/packages/cli/src/utils/handleAutoUpdate.ts index 03a6a8d6..cbcdb2e0 100644 --- a/packages/cli/src/utils/handleAutoUpdate.ts +++ b/packages/cli/src/utils/handleAutoUpdate.ts @@ -22,6 +22,10 @@ export function handleAutoUpdate( return; } + if (settings.merged.disableUpdateNag) { + return; + } + const installationInfo = getInstallationInfo( projectRoot, settings.merged.disableAutoUpdate ?? false,