From c5a6cc6b54217d34a895c06bd6fd0a855d1ee9fc Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 2 Sep 2025 12:44:24 -0400 Subject: [PATCH] fix(@angular/build): maintain media output hashing with vitest unit-testing To ensure that output media files do not overwrite each other if source media files use the same base file name but are contained in different directories, the output hashing option from the build target will now keep the `media` option enabled if configured. (cherry picked from commit f806f6477af222907f1879181fb0f9839e889ea8) --- .../angular/build/src/builders/unit-test/builder.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/angular/build/src/builders/unit-test/builder.ts b/packages/angular/build/src/builders/unit-test/builder.ts index dde40f449742..4bda61b3893f 100644 --- a/packages/angular/build/src/builders/unit-test/builder.ts +++ b/packages/angular/build/src/builders/unit-test/builder.ts @@ -36,6 +36,17 @@ export type { UnitTestBuilderOptions }; type VitestCoverageOption = Exclude; +function adjustOutputHashing(hashing?: OutputHashing): OutputHashing { + switch (hashing) { + case OutputHashing.All: + case OutputHashing.Media: + // Ensure media is continued to be hashed to avoid overwriting of output media files + return OutputHashing.Media; + default: + return OutputHashing.None; + } +} + /** * @experimental Direct usage of this function is considered experimental. */ @@ -135,7 +146,7 @@ export async function* execute( ssr: false, prerender: false, sourceMap: { scripts: true, vendor: false, styles: false }, - outputHashing: OutputHashing.None, + outputHashing: adjustOutputHashing(buildTargetOptions.outputHashing), optimization: false, tsConfig: normalizedOptions.tsConfig, entryPoints,