From 15812faf094afeee6e9c73cc2024c8c6130c73e8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 Jun 2025 10:28:24 -0400 Subject: [PATCH] fix(@angular/build): use date/time based output path for vitest unit-test The output directory name for the unit-test code when using the experimental `unit-test` builder with the `vitest` runner will now use a value based on the date and time of test execution instead of only a random UUID. This value improves the discoverability of a test execution when multiple have been performed. --- packages/angular/build/src/builders/unit-test/builder.ts | 9 ++++++++- 1 file changed, 8 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 15ac0294a2fc..1ab5b3369a75 100644 --- a/packages/angular/build/src/builders/unit-test/builder.ts +++ b/packages/angular/build/src/builders/unit-test/builder.ts @@ -113,7 +113,7 @@ export async function* execute( buildTargetOptions.polyfills.push('zone.js/testing'); } - const outputPath = path.join(context.workspaceRoot, 'dist/test-out', randomUUID()); + const outputPath = path.join(context.workspaceRoot, generateOutputPath()); const buildOptions: ApplicationBuilderInternalOptions = { ...buildTargetOptions, watch: normalizedOptions.watch, @@ -343,3 +343,10 @@ function setupBrowserConfiguration( return { browser }; } + +function generateOutputPath(): string { + const datePrefix = new Date().toISOString().replaceAll(/[-:.]/g, ''); + const uuidSuffix = randomUUID().slice(0, 8); + + return path.join('dist', 'test-out', `${datePrefix}-${uuidSuffix}`); +}