Upgrade Cypress#4849
Merged
Merged
Conversation
cypress-plugin-tab 2 has a regression in how it handles cancelled Tab key events. When focus-trap prevents the default Tab event and moves focus itself, v2 restores focus to the original element, undoing focus-trap's wrap-around behaviour. Keep the existing 1.x plugin while upgrading Cypress to 10 so Alpine's focus-trap tests continue to exercise the expected focus behaviour until the plugin regression is fixed upstream.
joshhanley
force-pushed
the
josh/upgrade-cypress
branch
from
June 25, 2026 00:57
f29feea to
d8eb254
Compare
Cypress 12 re-queries aliases when resolving them. The mouse modifier test was re-aliasing subjects from aliases with the same names, which creates a self-referential alias chain and overflows the stack. Query the checkboxes directly for the final assertions instead of overwriting the existing aliases.
Cypress 13 serializes CSS custom property declarations with a space after the colon in raw style attributes. Update the expected serialized style strings to match.
Cypress 15's CI browser can leave the observed element just outside the 100px root margin after scrollIntoView(). Use a wider margin in the test so it still verifies margin parsing without depending on borderline scroll geometry.
Collaborator
|
this ready to get out of draft and merged? |
Collaborator
Author
|
@calebporzio not quite. That one test kept failing, so it's the only test enabled in CI at the moment. I'll finishing it today, then I will merge it. |
joshhanley
marked this pull request as ready for review
July 1, 2026 02:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The Scenario
On Apple Silicon Macs without Rosetta installed, Alpine's Cypress test suite cannot run with the current Cypress 7 dependency.
Cypress installs an x64 macOS binary, then fails during the smoke test with a bad CPU type error.
The Problem
Alpine currently depends on Cypress
^7.0.0, which resolves to Cypress7.7.0.Cypress 7 does not provide a native macOS ARM binary. On Apple Silicon machines without Rosetta, the installed x64 Cypress binary cannot be executed.
Cypress 8 and 9 have the same limitation, so the branch needs to continue through to Cypress 10.2 or newer to get native Apple Silicon support.
The Solution
Upgrade Cypress from 7 to 10 on this branch.
The commits are split by major version so CI can validate each step independently. Cypress was upgraded from 7 to 8 first, then from 8 to 9, then from 9 to 10.
The Cypress 10 config migration is included with the Cypress 10 commit, keeping each step focused on the compatibility work required for that major.