fix(@angular/build): introduce vitest-base.config for test configuration #31621
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using the Vitest runner, a standard
vitest.config.jsfile can cause conflicts with other tools or IDE extensions that might assume it represents a complete, standalone configuration. However, the builder uses this file only as a base configuration, which is then merged with its own internal setup.To avoid this ambiguity, the builder now searches for a
vitest-base.config.(js|ts|...etc)file when therunnerConfigoption is set totrue. This makes the intent clear that the file provides a base configuration specifically for the Angular CLI builder.The search order is as follows:
If no
vitest-base.config.*file is found, the builder proceeds with its default in-memory configuration. Vitest's default behavior of searching forvitest.config.*is explicitly disabled in this mode to ensure predictable and consistent test execution.