◐ Shell
reader mode source ↗
Skip to content

fix(@schematics/angular): add browsers option during vitest browser provider ng-add#32885

Open
maruthang wants to merge 3 commits into
angular:mainfrom
maruthang:fix-32401-vitest-browser-ng-add
Open

fix(@schematics/angular): add browsers option during vitest browser provider ng-add#32885
maruthang wants to merge 3 commits into
angular:mainfrom
maruthang:fix-32401-vitest-browser-ng-add

Conversation

@maruthang

Copy link
Copy Markdown
Contributor

PR Checklist

PR Type

  • Bugfix

What is the current behavior?

When running ng add for a Vitest browser provider (e.g., @vitest/browser-playwright), the schematic adds dependencies and updates tsconfig.spec.json but does not configure the browsers option in angular.json. Users must manually add it for tests to run in a browser instead of Node.js/jsdom.

Issue Number: #32401

What is the new behavior?

The schematic now automatically configures the browsers option in the test target of angular.json using updateWorkspace():

  • chromium for Playwright and Preview providers
  • chrome for WebDriverIO

Existing browsers configurations are preserved and not overwritten. Tests cover all three provider types and the preservation of existing config.

Does this PR introduce a breaking change?

  • Yes
  • No

…vitest browser provider ng-add

When adding a Vitest browser provider via ng-add, the schematic now
automatically configures the 'browsers' option in angular.json with an
appropriate default browser (chromium for Playwright/Preview, chrome for
WebDriverIO) instead of only logging a manual instruction.

Fixes angular#32401

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hide comment

Code Review

This pull request updates the Vitest browser schematic to automatically configure the 'browsers' option in 'angular.json' based on the selected provider, defaulting to 'chrome' for WebdriverIO and 'chromium' for Playwright or Preview. It also includes unit tests to verify these configurations and ensure that existing settings are not overwritten. Feedback suggests refactoring the new tests into a parameterized format to reduce duplication and adding a specific test case for the preview provider to ensure full coverage.

…ests

Combine separate playwright/webdriverio/preview tests into a single
parameterized forEach block to reduce duplication and improve coverage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant