Skip to content

Commit 9d5890f

Browse files
committed
fix(@angular/build): disable root config extension for inline test project
In Vitest 5, inline projects declared under `test.projects` extend the declaring root configuration by default (`extends: true`). Because the Angular CLI test runner already explicitly merges user-provided options from the configuration file into `projectConfig`, automatic root inheritance caused array options—such as `browser.instances` and plugins—to be merged and concatenated twice. Setting `extends: false` on the inline project configuration keeps it isolated from the declaring root config and prevents duplicate browser instance registrations and repeated test runs.
1 parent 0a64044 commit 9d5890f

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

  • packages/angular/build/src/builders/unit-test/runners/vitest

packages/angular/build/src/builders/unit-test/runners/vitest/plugins.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ export async function createVitestConfigPlugin(
245245
const projectResolver = createProjectResolver(projectSourceRoot);
246246

247247
const projectDefaults: Vite.UserConfig & UserWorkspaceConfig = {
248+
extends: false,
248249
test: {
249250
setupFiles,
250251
globals: true,
@@ -265,6 +266,7 @@ export async function createVitestConfigPlugin(
265266

266267
const { optimizeDeps, resolve } = config;
267268
const projectOverrides: Vite.UserConfig & UserWorkspaceConfig = {
269+
extends: false,
268270
test: {
269271
name: projectName,
270272
include,

0 commit comments

Comments
 (0)