Skip to content

feat(@angular/build): add isolate option to unit-test builder#33041

Merged
dgp1130 merged 1 commit intoangular:mainfrom
clydin:feat/vitest-isolate
Apr 27, 2026
Merged

feat(@angular/build): add isolate option to unit-test builder#33041
dgp1130 merged 1 commit intoangular:mainfrom
clydin:feat/vitest-isolate

Conversation

@clydin
Copy link
Copy Markdown
Member

@clydin clydin commented Apr 23, 2026

This commit adds an isolate option to the @angular/build:unit-test builder for the Vitest runner. By default, tests run in a non-isolated environment to match the behavior of Karma/Jasmine. This new option allows developers to easily opt-in to Vitest native isolation (running tests in separate threads or processes) without requiring a custom Vitest configuration file. The option is not supported by the Karma runner and will result in an error if used there.

@clydin clydin added the target: minor This PR is targeted for the next minor release label Apr 23, 2026
@angular-robot angular-robot Bot added detected: feature PR contains a feature commit area: @angular/build labels Apr 23, 2026
@clydin clydin force-pushed the feat/vitest-isolate branch 3 times, most recently from 39aa7c9 to 9d357a9 Compare April 24, 2026 13:21
@clydin clydin added the action: review The PR is still awaiting reviews from at least one requested reviewer label Apr 24, 2026
@clydin clydin marked this pull request as ready for review April 24, 2026 14:12
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an "isolate" option to the unit test builder, enabling test isolation when using the Vitest runner. The changes span the public API, schema definitions, option normalization, and the Vitest plugin configuration, supported by new unit tests. Review feedback identifies a bug in the validation logic where the default runner is not correctly accounted for, a conflict between isolation and debug modes, and a potential issue where CLI flags might be overridden by user configuration files.

Comment thread packages/angular/build/src/builders/unit-test/options.ts
Comment thread packages/angular/build/src/builders/unit-test/runners/vitest/plugins.ts Outdated
This commit adds an `isolate` option to the `@angular/build:unit-test` builder for the Vitest runner. By default, tests run in a non-isolated environment to match the behavior of Karma/Jasmine. This new option allows developers to easily opt-in to Vitest native isolation (running tests in separate threads or processes) without requiring a custom Vitest configuration file. The option is not supported by the Karma runner and will result in an error if used there.
@clydin clydin force-pushed the feat/vitest-isolate branch from 9d357a9 to 150c3a7 Compare April 24, 2026 14:48
@clydin clydin requested a review from alan-agius4 April 24, 2026 15:21
@alan-agius4 alan-agius4 added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Apr 27, 2026
@dgp1130 dgp1130 merged commit e9aa796 into angular:main Apr 27, 2026
36 checks passed
@dgp1130
Copy link
Copy Markdown
Collaborator

dgp1130 commented Apr 27, 2026

This PR was merged into the repository. The changes were merged into the following branches:

@clydin clydin deleted the feat/vitest-isolate branch April 27, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: @angular/build detected: feature PR contains a feature commit target: minor This PR is targeted for the next minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants