From ba7851f5cb3e20f42985a8c5335ccf8948c7ff06 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 21 Oct 2025 16:01:20 -0400 Subject: [PATCH] refactor(@angular/build): make `runner` optional in unit-test builder The `runner` option in the `unit-test` builder is now optional to streamline the user configuration. If the `runner` option is not provided, the builder now defaults to using the `vitest` value. The builder's schema has been updated to reflect this change by removing `runner` from the required properties and updating its entry to document the new default behavior. --- goldens/public-api/angular/build/index.api.md | 2 +- packages/angular/build/src/builders/unit-test/options.ts | 2 +- packages/angular/build/src/builders/unit-test/schema.json | 3 ++- tests/legacy-cli/e2e/utils/vitest.ts | 6 +----- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/goldens/public-api/angular/build/index.api.md b/goldens/public-api/angular/build/index.api.md index 2615db9fd0b0..0e6a3375d8fb 100644 --- a/goldens/public-api/angular/build/index.api.md +++ b/goldens/public-api/angular/build/index.api.md @@ -235,7 +235,7 @@ export type UnitTestBuilderOptions = { progress?: boolean; providersFile?: string; reporters?: SchemaReporter[]; - runner: Runner; + runner?: Runner; setupFiles?: string[]; tsConfig?: string; watch?: boolean; diff --git a/packages/angular/build/src/builders/unit-test/options.ts b/packages/angular/build/src/builders/unit-test/options.ts index c94acc27a932..33792ce89e8f 100644 --- a/packages/angular/build/src/builders/unit-test/options.ts +++ b/packages/angular/build/src/builders/unit-test/options.ts @@ -82,7 +82,7 @@ export async function normalizeOptions( include: options.include ?? ['**/*.spec.ts'], exclude: options.exclude, filter, - runnerName: runner, + runnerName: runner ?? 'vitest', coverage: options.coverage ? { all: options.coverageAll, diff --git a/packages/angular/build/src/builders/unit-test/schema.json b/packages/angular/build/src/builders/unit-test/schema.json index 668cc8639a09..1cce0bf34e53 100644 --- a/packages/angular/build/src/builders/unit-test/schema.json +++ b/packages/angular/build/src/builders/unit-test/schema.json @@ -16,6 +16,7 @@ "runner": { "type": "string", "description": "Specifies the test runner to use for test execution.", + "default": "vitest", "enum": ["karma", "vitest"] }, "browsers": { @@ -267,5 +268,5 @@ } }, "additionalProperties": false, - "required": ["runner"] + "required": [] } diff --git a/tests/legacy-cli/e2e/utils/vitest.ts b/tests/legacy-cli/e2e/utils/vitest.ts index 95929703cf9b..ca856243592a 100644 --- a/tests/legacy-cli/e2e/utils/vitest.ts +++ b/tests/legacy-cli/e2e/utils/vitest.ts @@ -19,11 +19,7 @@ export async function applyVitestBuilder(): Promise { // Update to Vitest builder. const test = project['architect']['test']; test['builder'] = '@angular/build:unit-test'; - test['options'] = { - tsConfig: test['options']['tsConfig'], - buildTarget: '::development', - runner: 'vitest', - }; + test['options'] = {}; }); await updateJsonFile('tsconfig.spec.json', (tsconfig) => {