Skip to content

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

Open
clydin wants to merge 1 commit intoangular:mainfrom
clydin:feat/vitest-isolate
Open

feat(@angular/build): add isolate option to unit-test builder#33041
clydin wants to merge 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: review The PR is still awaiting reviews from at least one requested reviewer 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.

1 participant