From b5530698962a0421e882f60e2975026cf348e795 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 10 Feb 2025 12:47:05 +0000 Subject: [PATCH] fix(@angular/build): handle unlocalizable files correctly in localized prerender Ensure proper handling of unlocalizable files during localized prerendering to prevent errors. Closes #29587 --- .../angular/build/src/builders/application/i18n.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/angular/build/src/builders/application/i18n.ts b/packages/angular/build/src/builders/application/i18n.ts index f526286e35a7..151694173246 100644 --- a/packages/angular/build/src/builders/application/i18n.ts +++ b/packages/angular/build/src/builders/application/i18n.ts @@ -64,6 +64,11 @@ export async function inlineI18n( // For each active locale, use the inliner to process the output files of the build. const updatedOutputFiles = []; const updatedAssetFiles = []; + // Root and SSR entry files are not modified. + const unModifiedOutputFiles = executionResult.outputFiles.filter( + ({ type }) => type === BuildOutputFileType.Root || type === BuildOutputFileType.ServerRoot, + ); + try { for (const locale of i18nOptions.inlineLocales) { // A locale specific set of files is returned from the inliner. @@ -87,7 +92,7 @@ export async function inlineI18n( ...options, baseHref: getLocaleBaseHref(baseHref, i18nOptions, locale) ?? baseHref, }, - localeOutputFiles, + [...unModifiedOutputFiles, ...localeOutputFiles], executionResult.assetFiles, initialFiles, locale, @@ -124,9 +129,7 @@ export async function inlineI18n( // Update the result with all localized files. executionResult.outputFiles = [ // Root and SSR entry files are not modified. - ...executionResult.outputFiles.filter( - ({ type }) => type === BuildOutputFileType.Root || type === BuildOutputFileType.ServerRoot, - ), + ...unModifiedOutputFiles, // Updated files for each locale. ...updatedOutputFiles, ];