From 9f29eff19f3fa060949d82e9255390681423497d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 18 Apr 2023 17:29:49 +0000 Subject: [PATCH] fix(@angular/cli): process keeps running when analytics are enabled In newer Node.js versions ng commands do not terminate properly when analytics are enabled. This is because the request is never closed unless a `data` event listener is attached. Closes #25034 and closes #25008 --- packages/angular/cli/src/analytics/analytics-collector.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 39848e222faf..b43d7e5e16f5 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -182,6 +182,9 @@ export class AnalyticsCollector { }, }, (response) => { + // The below is needed as otherwise the response will never close which will cause the CLI not to terminate. + response.on('data', () => {}); + if (response.statusCode !== 200 && response.statusCode !== 204) { reject( new Error(`Analytics reporting failed with status code: ${response.statusCode}.`),