From 880a50c50cafb3ab2e5713aed0c4a20be6648ced Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 10 Feb 2025 13:40:38 +0000 Subject: [PATCH] fix(@angular/build): exclude unmodified files from logs with `--localize` Ensures that only modified files are displayed in logs when using the `--localize` flag, preventing unnecessary noise. Closes #29586 --- .../build/src/builders/application/execute-build.ts | 5 ++--- packages/angular/build/src/tools/esbuild/utils.ts | 7 ++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/angular/build/src/builders/application/execute-build.ts b/packages/angular/build/src/builders/application/execute-build.ts index d6e121a6bd20..51351c3aa372 100644 --- a/packages/angular/build/src/builders/application/execute-build.ts +++ b/packages/angular/build/src/builders/application/execute-build.ts @@ -184,9 +184,6 @@ export async function executeBuild( executionResult.outputFiles.push(...outputFiles); - const changedFiles = - rebuildState && executionResult.findChangedFiles(rebuildState.previousOutputInfo); - // Analyze files for bundle budget failures if present let budgetFailures: BudgetCalculatorResult[] | undefined; if (options.budgets) { @@ -288,6 +285,8 @@ export async function executeBuild( } if (!jsonLogs) { + const changedFiles = + rebuildState && executionResult.findChangedFiles(rebuildState.previousOutputInfo); executionResult.addLog( logBuildStats( metafile, diff --git a/packages/angular/build/src/tools/esbuild/utils.ts b/packages/angular/build/src/tools/esbuild/utils.ts index 3e62c6e7bb1a..6b8e44def11d 100644 --- a/packages/angular/build/src/tools/esbuild/utils.ts +++ b/packages/angular/build/src/tools/esbuild/utils.ts @@ -40,6 +40,11 @@ export function logBuildStats( ssrOutputEnabled?: boolean, verbose?: boolean, ): string { + // Remove the i18n subpath in case the build is using i18n. + // en-US/main.js -> main.js + const normalizedChangedFiles: Set = new Set( + [...(changedFiles ?? [])].map((f) => basename(f)), + ); const browserStats: BundleStats[] = []; const serverStats: BundleStats[] = []; let unchangedCount = 0; @@ -52,7 +57,7 @@ export function logBuildStats( } // Show only changed files if a changed list is provided - if (changedFiles && !changedFiles.has(file)) { + if (normalizedChangedFiles.size && !normalizedChangedFiles.has(file)) { ++unchangedCount; continue; }