Skip to content

chore: configurable force deferred in snapshot doctor #31865

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: release/15.0.0
Choose a base branch
from

Conversation

cacieprins
Copy link
Contributor

  • Closes

Additional details

When upgrading to Electron 35/36, issues were encountered with how v8's mksnapshot serializes certain regular expression objects. To build snapshots when upgrading electron, we need to be able to force certain modules to be fully deferred, not just rewritten.

Because of how sinon mocks dependencies, and the esm dependencies in v8-snapshot, vitest is introduced for unit tests.

This is a WIP/Draft.

[ ] Ensure this approach is sound
[ ] Updated CI to run this vitest suite
[ ] Look at the "multiple projects" warning that the vitest vscode extension is popping up, now that we have multiple packages in the monorepo using vitest

Steps to test

How has the user experience changed?

PR Tasks

@cacieprins cacieprins changed the base branch from develop to release/15.0.0 June 11, 2025 15:17
@@ -34,6 +34,7 @@ export async function insertValueInJSString (fileContents: string, obj: Record<s
&& nodePath.node.callee.type === 'Identifier') {
const functionName = nodePath.node.callee.name

// @ts-expect-error - ast is the wrong type
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is one of those random ts errors that occasionally crop up up that prevents build, even if the file isn't changed.

Copy link

cypress bot commented Jun 11, 2025

cypress    Run #62994

Run Properties:  status check failed Failed #62994  •  git commit 13370d716f: Update vite.config.mjs
Project cypress
Branch Review chore/configurable-force-deferred
Run status status check failed Failed #62994
Run duration 27m 24s
Commit git commit 13370d716f: Update vite.config.mjs
Committer Cacie Prins
View all properties for this run ↗︎

Test results
Tests that failed  Failures 2
Tests that were flaky  Flaky 11
Tests that did not run due to a developer annotating a test with .skip  Pending 1097
Tests that did not run due to a failure in a mocha hook  Skipped 3
Tests that passed  Passing 26497
View all changes introduced in this branch ↗︎
UI Coverage  45.27%
  Untested elements 186  
  Tested elements 158  
Accessibility  92.89%
  Failed rules  3 critical   9 serious   2 moderate   2 minor
  Failed elements 671  

Tests for review

Failed  cypress/e2e/angular.cy.ts • 2 failed tests • webpack-dev-server

View Output

Test Artifacts
angular-18 > configuration handling > should initialize with unsupported browserslist entries Test Replay Screenshots
angular-18 > test behaviors > should mount a passing test Test Replay Screenshots
Flakiness  issues/28527.cy.ts • 1 flaky test • 5x-driver-electron

View Output

Test Artifacts
issue 28527 > fails and then retries and verifies about:blank is not displayed Test Replay Screenshots
Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-firefox

View Output

Test Artifacts
... > stops waiting when an xhr request is canceled
    </td>
  </tr></table>
Flakiness  commands/files.cy.js • 1 flaky test • 5x-driver-firefox

View Output

Test Artifacts
src/cy/commands/files > #readFile > retries to read when ENOENT
    </td>
  </tr></table>
Flakiness  issues/28527.cy.ts • 1 flaky test • 5x-driver-firefox

View Output

Test Artifacts
issue 28527 > fails and then retries and verifies about:blank is not displayed Screenshots
Flakiness  e2e/origin/cookie_login.cy.ts • 1 flaky test • 5x-driver-chrome

View Output

Test Artifacts
cy.origin - cookie login > Max-Age > past max-age -> not logged in Test Replay

The first 5 flaky specs are shown, see all 10 specs in Cypress Cloud.

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.

1 participant