Skip to content

Conversation

@AtofStryker
Copy link
Contributor

@AtofStryker AtofStryker commented Nov 24, 2025

  • Closes N/A

Additional details

Adds support for Angular 21 within Cypress Component testing. Right now the Angular 21 projects needs zone.js as a devDependency as cypress/angular currently only supports zone.js. I have a follow up PR #33025 that adds a zoneless mount handler and defaults the scaffolding to cypress/angular-zoneless for Angular 21 applications

As Angular 21's change detection is a bit different from the legacy implementations, I refactored some of the angular fixtures to use signals instead of observables as signals are fully supported as of angular 18+

Steps to test

use the prepublished binaries to make sure scaffolding works on a new angular 21 project

How has the user experience changed?

Users will now be able to use Angular 21 without Cypress scaffolding warnings. NOTE: this currently still requires the zone.js devDependency until the zoneless mount handler is merged down. The intent is for both of these two be shipped at the same time but the work is considered separate.

PR Tasks


Note

Adds full Angular 21 support (scaffolding, dev server, tests, fixtures) and updates docs/CI, with fixtures migrated to signals and async APIs.

  • Angular 21 Support
    • Add new system-tests/projects/angular-21 (config, deps, tsconfig, yarn.lock) and include v21 in test matrices (component_testing_spec.ts, webpack-dev-server e2e).
    • Update @packages/scaffold-config to recognize/install Angular 21 (README.md, minVersion bumps for Angular packages, detection tests for CLI v20/21).
    • Adjust webpack-dev-server Angular handler tests for v20/21 configs and tsconfig generation behavior.
    • Update Cypress schematic tests to target angular-20 and angular-21.
  • Fixtures/Specs Refactor
    • Migrate Angular example components from RxJS/HttpClient to signals (signal, model) and async fetch; remove obsolete service; update specs to use componentRef.setInput, drop HttpClientModule, and use async providers.
  • Docs/Changelog
    • Add CLI changelog entry for 15.8.0 noting Angular 21 component testing support.
  • CI
    • CircleCI workflow/variables branch filters updated to feat/support_angular_21.

Written by Cursor Bugbot for commit cc8305a. This will update automatically on new commits. Configure here.

@AtofStryker AtofStryker self-assigned this Nov 24, 2025
@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from ea970e7 to 0f3772b Compare November 24, 2025 19:12
@cypress
Copy link

cypress bot commented Nov 24, 2025

cypress    Run #67699

Run Properties:  status check failed Failed #67699  •  git commit cc8305ae98: fix issue with incorrect placement of tsconfig in angular config
Project cypress
Branch Review feat/support_angular_21
Run status status check failed Failed #67699
Run duration 23m 11s
Commit git commit cc8305ae98: fix issue with incorrect placement of tsconfig in angular config
Committer Bill Glesias
View all properties for this run ↗︎

Test results
Tests that failed  Failures 7
Tests that were flaky  Flaky 2
Tests that did not run due to a developer annotating a test with .skip  Pending 26
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 765
View all changes introduced in this branch ↗︎

Warning

Partial Report: The results for the Application Quality reports may be incomplete.

UI Coverage  63.16%
  Untested elements 26  
  Tested elements 48  
Accessibility  99.01%
  Failed rules  0 critical   3 serious   1 moderate   0 minor
  Failed elements 18  

Tests for review

Failed  cypress\e2e\runner\retries.experimentalRetries.mochaEvents.cy.ts • 2 failed tests • app-e2e

View Output

Test Artifacts
... > does not try to serialize error with err.actual as DOM node Test Replay Screenshots
... > does not try to serialize error with err.actual as DOM node Test Replay Screenshots
Failed  cypress\e2e\runner\runner.ui.cy.ts • 3 failed tests • app-e2e

View Output

Test Artifacts
src/cypress/runner > tests finish with correct state > no tests Test Replay Screenshots
src/cypress/runner > other specs > file with empty suites only displays no tests found Test Replay Screenshots
src/cypress/runner > reporter interaction > user can stop test execution Test Replay Screenshots
Failed  cypress\e2e\cypress-origin-communicator.cy.ts • 2 failed tests • app-e2e

View Output

Test Artifacts
Cypress In Cypress Origin Communicator > primary origin memory leak prevention > cleans up the primaryOriginCommunicator events when navigating away from the /specs to /settings Test Replay Screenshots
Cypress In Cypress Origin Communicator > primary origin memory leak prevention > cleans up the primaryOriginCommunicator events when navigating to run a different spec Test Replay Screenshots
Failed  cypress\e2e\specs_list_switcher.cy.ts • 0 failed tests • app-e2e

View Output

Test Artifacts
Failed  cypress\e2e\studio\studio-limitations.cy.ts • 0 failed tests • app-e2e

View Output

Test Artifacts

The first 5 failed specs are shown, see all 17 specs in Cypress Cloud.

Flakiness  cypress\e2e\create-from-component.cy.ts • 1 flaky test • app-e2e

View Output

Test Artifacts
... > runs generated spec Test Replay Screenshots
Flakiness  cypress\e2e\cypress-origin-communicator.cy.ts • 1 flaky test • app-e2e

View Output

Test Artifacts
Cypress In Cypress Origin Communicator > primary origin memory leak prevention > cleans up the primaryOriginCommunicator events when navigating away from the /specs to /runs Test Replay Screenshots

@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from 0f3772b to d8271ce Compare November 24, 2025 22:34
@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from d8271ce to 050dc8a Compare November 25, 2025 14:52
@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from 050dc8a to da19b3f Compare November 25, 2025 14:56
@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from da19b3f to 0d85a78 Compare November 25, 2025 17:40
@AtofStryker AtofStryker force-pushed the feat/support_angular_21 branch from 5d5b79a to cc8305a Compare December 2, 2025 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants