Skip to content

Commit 5fa2b38

Browse files
committed
feat(@angular/build): add headless mode for vitest browser mode
1 parent ca83796 commit 5fa2b38

File tree

1 file changed

+12
-1
lines changed
  • packages/angular/build/src/builders/unit-test

1 file changed

+12
-1
lines changed

packages/angular/build/src/builders/unit-test/builder.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,15 @@ function findBrowserProvider(
331331
}
332332
}
333333

334+
function normalizeBrowserName(browserName: string): string {
335+
// Normalize browser names to match Vitest's expectations for headless but also supports karma's names
336+
// e.g., 'ChromeHeadless' -> 'chrome', 'FirefoxHeadless'
337+
// and 'Chrome' -> 'chrome', 'Firefox' -> 'firefox'.
338+
const normalized = browserName.toLowerCase();
339+
340+
return normalized.replace(/headless$/, '');
341+
}
342+
334343
function setupBrowserConfiguration(
335344
browsers: string[] | undefined,
336345
debug: boolean,
@@ -378,8 +387,10 @@ function setupBrowserConfiguration(
378387
const browser = {
379388
enabled: true,
380389
provider,
390+
headless: browsers.some((name) => name.toLowerCase().includes('headless')),
391+
381392
instances: browsers.map((browserName) => ({
382-
browser: browserName,
393+
browser: normalizeBrowserName(browserName),
383394
})),
384395
};
385396

0 commit comments

Comments
 (0)