From fc3458fde329d0ec8639041f26b3f6bc37564d1e 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. --- .../unit-test/runners/vitest/build-options.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts b/packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts index 1d08bb4c156f..d0bb6fb9078b 100644 --- a/packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts +++ b/packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts @@ -46,6 +46,17 @@ function createTestBedInitVirtualFile( `; } +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; + } +} + export async function getVitestBuildOptions( options: NormalizedUnitTestBuilderOptions, baseBuildOptions: Partial, @@ -82,7 +93,7 @@ export async function getVitestBuildOptions( ssr: false, prerender: false, sourceMap: { scripts: true, vendor: false, styles: false }, - outputHashing: OutputHashing.None, + outputHashing: adjustOutputHashing(baseBuildOptions.outputHashing), optimization: false, tsConfig, entryPoints,