Commit Graph

710 Commits

Author SHA1 Message Date
Ryan Manuel
93375b7a2a fix: ensure that the text alignment for grouped command logs is consistent (#32757)
* fix: ensure that the text alignment for grouped command logs is consistent

* changelog

* Update CHANGELOG for release 15.5.1

Added release notes for version 15.5.1, including a bugfix for command text behavior.

* Apply suggestions from code review

* Update CHANGELOG.md
2025-10-18 15:34:21 -05:00
Cacie Prins
16fc471988 chore: change file ref to @pipeline.yml (#32739)
* chore: change file ref to @pipeline.yml

* exit=1 when chrome version update fails
2025-10-16 13:32:42 -04:00
Bill Glesias
4d904e272f chore: refactor @packages/https-proxy to TypeScript and use vitest instead of mocha (#32718)
* chore: convert @packages/https-proxy to TypeScript and use vitest instead of mocha

* chore: address comments from code review

* Update packages/https-proxy/vitest.config.ts
2025-10-15 14:00:41 -04:00
Jennifer Shehane
04bd3f1153 chore: remove todomvc testing + other outdated docs / references found (#32694) 2025-10-10 13:50:34 -04:00
Ryan Manuel
df047b0a42 feat: cy.prompt experimental command [Feature Flagged] (#31752)
* Create cy-prompt-development.md

* chore: cy prompt infrastructure (#31748)

* feat: cy prompt infrastructure

* refactor and add tests

* refactor

* rename experimental config

* prompt

* fix test

* Update cy-prompt-development.md

* Update cy-prompt-development.md

* PR comments

* Update packages/server/lib/cloud/api/cy-prompt/get_cy_prompt_bundle.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix test

* Delete packages/server/lib/cloud/StudioLifecycleManager.ts

* Delete packages/server/test/unit/cloud/StudioLifecycleManager_spec.ts

* chore: add cdp connection to cy prompt (#31806)

* chore: add cdp connection to cy prompt

* minor fix

* fix type build

* try to fix build

* Update packages/server/lib/browsers/browser-cri-client.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update packages/server/lib/browsers/browser-cri-client.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* do not support prompt in firefox or webkit

* rework timing of lifecycle

* refactor

* fix tests

* troubleshooting

* troubleshooting

* fix tests

* additional troubleshooting

* additional troubleshooting

* additional troubleshooting

* attempt to fix build

* add back

* debugging

* debugging

* debugging

* debugging

* clean up

* fix unit tests

* rework

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* chore: create infrastructure to support backend function in cy.prompt (#31803)

* chore: add promptBackend as an additional Cypress-attached function

* Update packages/app/src/runner/event-manager.ts

* update types

* fix types

* fix spacing

* refactor

* additional refactor

* fix type build

* fix build

* refactor

* reword messages

* fix

* debugging

* undo debugging

* PR comment

* fix tests

* fix tests

* fix tests

* fix test

* chore: add watcher for cy-prompt development (#31810)

* chore: add watcher for cy-prompt development

* test caching

* fix types

* chore: turn on beta deployments for cy-prompt

* internal: (cy.prompt) handle errors better in the command definition (#31835)

* internal: (cy.prompt) handle errors better in the command definition

* internal: (cy.prompt) add timeout and handle loading errors more cleanly

* add process environment variable

* clean up test

* update JSDoc

* chore: handle errors (#31854)

* chore: handle errors

* Fix ts, add test

* Fix error title

* Fix ts

* Fix ts

* chores: (cy.prompt) refactor routing to support both app and driver (#31891)

* chore: Share error utils with the cloud (#31887)

* share error utils with cloud

* additional rework

* Fix command, add isOpenMode

* Add / fix test

* fix ts

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* internal: (cy.prompt) add infrastructure to support a Get Code modal (#31904)

* chore: (cy.prompt) add infrastructure to support a Get Code modal

* fix tests

* fix code paths

* Update eject button styles

* handle errors

* update types

* Update packages/server/lib/socket-base.ts

* Fix cy test

* update readme

---------

Co-authored-by: estrada9166 <estrada9166@gmail.com>

* chore: (cy.prompt) refactor getTestsState to take a runnable id (#31965)

* chore: (cy.prompt) refactor getTestsState to take a runnable id

* fix tests

* minor tweak

* chore: (cy.prompt) add manifest for all of the cloud delivered files (#31922)

* chore: (cy.prompt) add manifest for all of the cloud delivered files

* fix tests and remove environment variables

* update strategy

* fix build

* rework

* require manifest

* clean up

* refactor

* refactor

* Update packages/server/lib/cloud/cy-prompt/CyPromptLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix test

---------

Co-authored-by: Matt Schile <mschile@cypress.io>

* feat: add cy prompt more info needed modal (WIP) (#31970)

* feat: add cy prompt more info needed modal

* Reset promptStore

* additional things exposed for more info

* rework

* fix tests

* fix build

* fix types

* fix types

* Update packages/app/src/runner/event-manager.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* reefactor

* chore: (cy.prompt) rework the file save lifecycle

* rework types

* add unit tests

---------

Co-authored-by: estrada9166 <estrada9166@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: (cy.prompt) ensure that we do not attach a vue ref to the react root in the cy.prompt modals (#32011)

* fix: (studio) ensure that we do not attach a vue ref to the react root in the studio panel

* fix test

* chore: Handle cy-prompt error to the cloud (#32009)

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* chore: display prompt error message (#32016)

* add createCloudRequest to cloudApi, handle errors during createCyPromptServer

* render the get code button on failure

* chore: update types

* chore: move CT and browser error to cloud (#32077)

* feat: (cy.prompt) give cy.prompt access to recording information (#32110)

* feat: (cy.prompt) give cy.prompt access to recording information

* undo bad refactor

* undo bad refactor

* undo bad refactor

* rename

* fix typo

* Update packages/server/test/unit/modes/record_spec.js

* Update packages/server/test/unit/modes/record_spec.js

* Update packages/server/test/unit/modes/record_spec.js

* Update packages/server/test/unit/modes/record_spec.js

* Update packages/server/test/unit/modes/record_spec.js

* Update cy-prompt-development.md

* Update cy-prompt-development.md

* Update cy-prompt-development.md

* chore: add CYPRESS_INTERNAL_SIMULATE_OPEN_MODE to simulate running Cypress tests in open mode (#32114)

* chore: (cy.prompt) ensure to strip out paths from all data when reporting errors in prompt (#32134)

* fix: (cy.prompt) ensure to strip out paths from all data when reporting errors in prompt

* refactor

* update tests

* fix logic error with protocol

* add event manager to get code

* Apply suggestions from code review

* fix: (cy.prompt) improve the get project options performance by running promises in parallel (#32196)

* fix: (cy.prompt) improve the get project options performance by running promises in parallel

* add awaits in test

* bump cache

* Update packages/server/lib/cloud/studio/StudioLifecycleManager.ts

* fix build

* chore: cleanup

* blank

* Update trigger-publish-binary-pipeline.js

* Update packages/server/test/unit/socket_spec.js

* get rid of environment variable

* fix: (cy.prompt) ensure to reset the prompt state when the event manager is torn down (indicating that we're no longer on the runner page) (#32301)

* fix: (cy.prompt) ensure to reset the prompt state when the event manager is torn down (indicating that we're no longer on the runner page)

* move test

* fix lint issue

* feat: (cy.prompt) introduce the concept of log collapse state being open/closed by default (#32262)

* feat: (cy.prompt) introduce the concept of logs' collapse state being open/closed by default

* update tests

* rename

* PR comments

* fix test due to bad merge of develop

* chore: Only allow experimentalPromptCommand within e2e config (#32435)

* chore: Only allow experimentalPromptCommand within e2e config

* Fix config

* Update tests

* Update test, update types

* Fix test and types

* fix tests

* Add types

* Update cli/types/cypress.d.ts

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update workflows.yml

* Add optional cyPromptManagerPromise property

* Implement error handling in CyPromptManager

Added a new method to handle errors uniformly in CyPromptManager.

* Fix indentation in socket_spec.js

* fix: (cy.prompt) handle when the prompt is executed by in CT or when the experiment is not enabled (#32470)

* fix: (cy.prompt) handle when the prompt is executed by in CT or when the experiment is not enabled

* Update packages/driver/cypress/e2e/commands/prompt/prompt.cy.ts

* Update packages/driver/cypress/e2e/commands/prompt/prompt.cy.ts

* update name of errors

* Bump cache version to 9-15-2025

* update yarn.lock

* fixes

* fix snapshot

* fix snapshot

* internal: fix get code button to be purple with correct margin (#32504)

* feat: (cy.prompt) update the types of prompt (#32529)

* fix: move currentMoreInfoNeededModalInfo.onCancel to onClose (#32559)

* internal: (cy.prompt) various improvements to error messages and time outs (#32582)

* internal: (cy.prompt) various improvements to error messages and timeouts

* fix test

* remove dead code

* Update packages/driver/src/cy/commands/prompt/index.ts

* update prompt experiment description

* fix build

* fix tests

* fix tests

* fix test

* update error message

* Update packages/server/lib/experiments.ts

Co-authored-by: Tim Griesser <tgriesser10@gmail.com>

---------

Co-authored-by: Tim Griesser <tgriesser10@gmail.com>

* internal: (cy.prompt) ensure that get code can properly work with prompts in cy.origin (#32596)

* internal: (cy.prompt) ensure that get code can properly work with prompts in cy.origin

* additional tests

* additional tests

* Apply suggestions from code review

* code review comment

* fix merge

* fix merge

* Update packages/data-context/graphql/schemaTypes/index.ts

* update workflow

* blank

* persist binaries

* chore: display custom link title (#32567)

* chore: display custom link title

* Add test

* Pass docs as second argument of the error

* Revert changes

* Use openExternal for links

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* update

* internal: (cy.prompt) do not retry on cert failures (#32624)

* internal: (cy.prompt) do not retry on cert failures

* tests and clean up

* additional cleanup and add error message for prompt

* fix unit tests

* Update report_studio_error.ts

* Update packages/network/lib/agent.ts

* cursor comment

* fix build

* fix build

* fix test

* fix build

* fix build

* fix build

* fix build

* fix build

* revert

* Update packages/driver/src/cypress/error_messages.ts

* Update packages/driver/cypress/e2e/commands/prompt/prompt-initialization-error.cy.ts

* fix build

* cursor comment

* add changelog entry

* clean up

* Update packages/app/src/store/prompt-store.ts

* Bump cache version to 10-3-2025

Updated cache version to trigger CI cache recreation.

* Revise CHANGELOG for new features and fixes

Updated changelog with new features and bug fixes.

* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025

* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025

* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025

* blank

* fix build

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Alejandro Estrada <estrada9166@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-10-04 09:01:00 -05:00
Jennifer Shehane
056e6f6edd dependency: Electron 37 update (#32607)
* dependency: Electron 37 update

* bump min node

* Fix TS error

* Fix changelog location

* remove the example changelog as it obviously confused it

* add publish-binary branch

* update PR number in changelog

* run on all workflows

* fix types

* bump circle cache

* fix changelog numbers

* removed packages/changelog file

* Clarify minimum node + move some things around

* bump cache

* remove workflows

* build artifacts
2025-10-03 14:29:50 -04:00
Cacie Prins
5f2cc5c4b8 chore: dynamically pack the circleci pipeline configuration (#32618)
* chore: dynamically pack the circleci pipeline configuration

The ./scripts/pack-ci.sh is the first workhorse, here. It uses the circleci
cli to pack any subdirectory of `.circleci/src` into a circleci config
using FYAML format. It can pack every subdirectory, a subsection of
subdirs that include changes, and use circleci cli to validate the
packed yml files.

Husky is set up to validate the packed yml file(s) on commit.

The packed yml file(s) should not be committed to source control. They
are build artifacts. They are configured to be ignored by git in
./.circleci/.gitignore.

./.circleci/config.yml is the second major change. This workflow is
modified such that:
- it uses workflow filtering to prevent the workflow from triggering unless at least
one of the following is true:
  - the workflow was triggered via api (the 'trigger workflows' button in circleci)
  - the branch is `develop`
  - the branch is `release/*`
  - the branch has an open pull request, and the pull request is not draft
- checks out the repository from the HEAD ref of the pr (the branch with the changes),
and calculates a checksum of the contents of ./.circleci/src. Packed workflow files
are cached by the checksum of the source files that were used to generate the packed
workflow. If the cache is restored, the packed pipeline.yml file is continued. If there
is no cache for the checksum, it uses ./scripts/pack-ci to pack the source yml files
and triggers a continuation with the resulting packed yml file.

* rm packed yml file

* revert to old draft detection :( other way is only avail on github app

* just fail instead of cancelling on drafts, more reliable even if not correct

* just halt, since draft->ready does not already trigger a ci run

* circleci agent -> circleci-agent

* validate main circleci yml file; correct entrypoint for pack workflows job

* workflows -> pipeline

* Update pack-ci.sh - newline at eof
2025-10-02 11:19:35 -04:00
Bill Glesias
bb8d9aebda chore: make the @packages/errors an independent bundle without needed ts-node to register entrypoint. Both ESM and CJS distributions are built and types are used as source to be compatible with older styles of commonjs bundling. Types are not shipped with the package. (#32610) 2025-10-01 15:45:44 -04:00
Bill Glesias
f9c3f75563 chore: bundle the root package.json as an installable package (#32544)
* chore: bundle the root package.json as an installable package

* Update packages/root/README.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update guides/esm-migration.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update packages/root/README.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-09-30 17:15:18 -04:00
Bill Glesias
236c88ec59 chore: fix graphql yarn watch (#32578) 2025-09-26 11:37:07 -04:00
Bill Glesias
cb6e509607 chore: combine the graphql package into the data-context package to avoid a cyclical dependency (#32566) 2025-09-25 15:40:24 -04:00
Matt Schile
1aa9f90897 chore: update validate changelog to pull target branch (#32561) 2025-09-24 08:32:54 -06:00
Cacie Prins
4afbf26009 chore: use circleci cli to package ci configurations (#32462)
* add husky script to build circleci yml files

* add circleci cli as a required tool for working with .circleci

* break the original workflows.yml file into separate pieces, using circleci config pack to compose them into the main workflows.yml file

* fix pull request workflow def

* more robust precommit for circleci packing

* even nicer stdout for precommit :)

* allow pr pipeline on this branch

* split up the config.yml to demonstrate more fully

* fix conditional on pr pipeline

* exit 1 if circleci cli not found and circleci config files staged for commit

* use linux-x64 executor for unit-tests

* try using ipv6 in contributor with correct executor

* ensure node

* update github action to update browser versions to point to the correct file

* ensure node more times

* fix export

* reduce expected result count

* run full workflow menu on this branch

* bump config class to medium

* index on use-pack-for-circle: a9bcbe87b0 run full workflow menu on this branch

* index on use-pack-for-circle: a9bcbe87b0 run full workflow menu on this branch

* index on use-pack-for-circle: a9bcbe87b0 run full workflow menu on this branch

* revert to small for checkout code in config workflow; remove from multi branch trigger

* fix incorrect conflict resolution for bettersqlite3 changes w/ electron update

* make path to circleci workflows file more explicit, comment why it is that file

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-09-19 09:22:59 -04:00
Jennifer Shehane
baaf9950c6 chore: Update the branch for trigger-publish-binary-pipeline (#32530)
* Update the branch for trigger-publish-binary-pipeline

* empty commit

* bump circleCI cache

* another bump of cache

* Update branch handling in publish binary pipeline

* Update scripts/binary/trigger-publish-binary-pipeline.js

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-09-18 17:08:08 -05:00
Jennifer Shehane
29984f8aef chore: update branch for publish-binary-pipelin (#32528) 2025-09-18 11:04:30 -04:00
renovate[bot]
689b2b26cd dependency: update dependency electron to v36.8.1 (#32371)
* chore(deps): update dependency electron to v36.8.1

* bump node version

* update workflow files + publish-binary script

* bump base-internal images

* remove current node version from additional test

* bump circleci cache

* allow node_version env var

* Update .circleci/workflows.yml

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* bump types/node

* update some node versions

* update integrity check and electron instrcutions

* correctly call net.family with net family type

* Revert "correctly call net.family with net family type"

This reverts commit 505ff949a8.

* update location of note types

* more clearly type frame

* fix type issues in agent.ts file

* fix agent call

* replace proxyquire in webpack-dev-server package

* add changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-09-18 10:32:19 -04:00
Bill Glesias
31ee30b6f3 chore: convert CLI tests to vitest (#32416)
* chore: rename snapshots and spec files to fit vitest convention (#32405)

* chore: move compiled files to dist directory to make vitest convertion easier (#32406)

* chore: convert utils to vitest (#32407)

* chore: convert logger to vitest

* chore: convert errors spec to vitest

* chore: convert cypress spec to vitest

* chore: convert `exec` directory to `vitest` (#32428)

* chore: cut over exec directory to vitest

* Update cli/test/lib/exec/run.spec.ts

* Update cli/test/lib/exec/run.spec.ts

* Update cli/test/lib/exec/run.spec.ts

* chore: convert the CLI and build script specs over to vitest (#32438)

* chore: convert tasks directory to vitest (#32434)

change way verify module is exported due to issues interpreting module (thinks its an esm)

rework scripts as we cannot run an empty mocha suite

chore: fix snapshots and verify requires that are internal to the cypress project

fix stubbing issues with fs-extra which is also used by request-progress under the hood

fix issues where xvfb was stopping prematurely

* chore: remove files no longer used now that mocha tests are converted to vitest (#32455)

* build binaries

* chore: fix CLI tests (#32484)

* chore: remove CI branch
2025-09-12 19:20:13 -04:00
Bill Glesias
3481d1acaf chore: refactor cypress/cli to TypeScript (#32063)
* migrate cli scripts to TypeScript

* convert all javascript source files in the CLI to TypeScript

rebase into first

* chore: refactor all tests to TypeScript

rebase into second

* add npmignore for cli for typescript files

* update build process

* fix publically available exports

* Fix cy-in-cy tests

* add ts-expect-error to failing files

* fix projectConfigIpc failures as there are now multiple installs of tsx

* fix after-pack hook

* fix binary script

* chore: update publish binary to account for CLI being an ESModule compiled down to CommonJS

* does this work?

* fix the verify spec by making the listr2 renderer silent as it behaves differently since the refactor and is printing non deterministic outputs into our tests that do not have a large impact on the area we are testing and mostly served to actually test the renders of the listr2 framework itself

* empty commit

* additional refactor to code to remove strange any typing and exporting

* bump cache and build binaries

* fix CLI exports to keep backwards compatibility

* fix unit-tests

* turn on mac jobs

* fix group name rename in CLI

* remove babel deps from cli and explicitly install typescript

* address feedback from code review

* dont just falsy check results and instead explicitly check for null or undefined

* add ts-expect-error

* additional pass on cleaning up dynamic require / import from global lib references

* annotate ts-expect-errors with reason for why error is expected

* add rest of ts-expect-error comments

* removing hardcoded branch to publish binary chore/migrate_cli_to_typescript
2025-09-02 17:52:45 -04:00
Matt Schile
b42c6808aa chore: purge binary manifest file (#32363) 2025-08-27 08:53:49 -06:00
renovate[bot]
a51d27842a dependency: update dependency esbuild to ^0.25.2 [security] (#32231)
* fix(deps): update dependency esbuild to ^0.25.0 [security]

* empty commit

* bumping esbuild in system-tests

* bump to higher version

* index on renovate/npm-esbuild-vulnerability: bd192afbf9 bump to higher version

* index on renovate/npm-esbuild-vulnerability: bd192afbf9 bump to higher version

* index on renovate/npm-esbuild-vulnerability: bd192afbf9 bump to higher version

* bump to 0.25.2

* update due to esbuild metadata output additions

* index on renovate/npm-esbuild-vulnerability: 20b9d374d7 update due to esbuild metadata output additions

* index on renovate/npm-esbuild-vulnerability: 20b9d374d7 update due to esbuild metadata output additions

* index on renovate/npm-esbuild-vulnerability: 20b9d374d7 update due to esbuild metadata output additions

* fix binary-cleanup

* Fix tslib module paths in binary-cleanup.js

* Update tslib import paths in binary-cleanup.js

* Remove tslib ES6 module references

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-08-22 14:58:42 -05:00
Cacie Prins
e463fdbc61 fix: Redirect spammy electron stderr to a debug sink (#32188)
* wip: system test to reproduce

* system test for alsa stderr

* split cypress from 3rd party stderr at parent process to electron child

* rm garbage warning regexes

* fix newline behavior when parsing internal stderr

* migrate left over console errors

* clean up system test name

* fix typed import

* extract stderr splitting to separate pkg so runner can use @packages/error

* rm new err log from packherd-quire

* handle backpressure

* docs

* some unit tests & coverage for stderr-filtering

* unit tests

* no longer test regexp specific output in spawn unit tests

* filter enabled debug namespaces rather than just cypress namespacesc

* revise stream splitting et al

* try to fix v8 snapshot build??

* fix console.log assertion

* add missing eslint config

* rm unused spies

* fix regexp for optional leading wsp and ansi on debug entries

* update unit tests because sinon

* lint

* colon..

* build stderr-filtering before checking if binary exists

* adds TagStream transform stream, fixes stderr from child proc config

* add build-prod script for stderr-filtering

* changelog

* properly handle backpressure in prefixed content transform stream

* use standard tsconfig?

* better tsconfig

* Add pkgStderrFiltering to monorepoPaths

* add \"files\" manifest

* pipe all stderr to stderr when CYPRESS_INTERNAL_DEBUG_ELECTRON is enabled

* rm explicit build of stderr-filtering in check-if-binary-exists step

* ensure all dependencies of scripts/ are built before scripts are executed in the check-if-binary-exists command

* fix dev version ref

* swap logic

* add stdin piping

* fix exec name on the run-on-dependencies command to be more useful

* use correct env

* rm obsolete type refs

* simplify stderr-filtering public iface, pipe cy-in-cy stderr through filtering tx

* bust cache

* fix mocks

* fix v8-snapshot

* move stderrfiltering to dev pkg in cli

* skip integrity check in ci, if they are out of date things should fail anyway

* copypasta over a portion of stderr-filtering to cli, since cli cannot import @packages

* Delete issues.md

* rm special filtering for cy in cy

* rm too narrow rules file

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-08-19 17:05:53 -04:00
Ryan Manuel
4426780954 chore: fix the beta release process by using the appropriate branch (#32241) 2025-08-13 19:41:09 -05:00
Bill Glesias
ed8987dea7 chore: clean up develop after release/15.0.0 merge (#32189) 2025-08-08 17:03:17 -04:00
Bill Glesias
a3924071c1 Merge branch 'develop' into merge_develop_15 2025-08-05 16:23:25 -04:00
Bill Glesias
0eaea54519 breaking: make @cypress/vite-dev-server an ESM only package and support Vite 7 (#32001)
* chore: cut over mocha tests to vitest in @cypress/vite-dev-server

* breaking: make @cypress/vite-dev-server an ESM only package

* feat: support vite version 7 in @cypress/vite-dev-server

* build binaries

* test

* fix: file import issues on windows

* avoid optimized deps to suppress extraneous console logs

* does this work?

* chore: add unit tests for getVite as the implementation as changed quite a bit

* chore: update changelog

* fix vite optimize dependency messages being logged out to the console
even though log level is silent

* fix issues with correct vite being invoked

* chore: address issues from code review

* Downgrade react in vite 7 project to fix deprecation warnings
2025-07-14 16:03:37 -04:00
Cacie Prins
6b9f27c95d dependency: electron@36.4.0 (#31912)
* dependency: update Electron to 34

* setup workflows to run against binary branch and on all tests

* changelog entry

* node version did bump minorly

* Update base-internal image to match new node version

* fix typo

* changelog updates

* bumping to newest version just released today - hopefully solves glibc error

* fix cy in cy

* remove extra register_ts_node require

* updated lockfile

* upgrade better-sqlite3

* changelog

* update electron in top level package.json

* ts issue, update to use binary workflow for e35, update ancillary deps

* update gh issue templates

* bump missed image names and engines field

* node 22

* snapgen?

* ts issue, log errors even if err.stderr/stdout is null

* more logging

* defer http-proxy common.js due to regexp issue in v8 13.4.* - 13.8.91

* update images for node 22.15.1, use bullseye instead of buster for bettersqlite

* use bullseye image for glibc2.31 build of bettersqlite

* use electron-36 publish binary branch

* node-abi update, set http-proxy deferred in darwin

* update .node-version

* attempt to patch http-proxy to immediately defer  http-proxy/lib/http-proxy/common.js

* empty commit [run ci]

* better patch?

* changelog

* changelog

* Updates v8 snapshots to fix windows build (#31918)

* use node 22 in the v8 snapshot update workflow

* index on windows-v8-snapshots: a013464197 use node 22 in the v8 snapshot update workflow

* index on windows-v8-snapshots: a013464197 use node 22 in the v8 snapshot update workflow

* index on windows-v8-snapshots: a013464197 use node 22 in the v8 snapshot update workflow

* run workflows on windows/mac

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>

* update protocol system test snapshots (#31925)

* use snapshot to verify the error message on invalid json (#31926)

* chore: account for all node: internal stacks when trying to calculate the code frame. Accounts additionally for node:diagnostics_channel (#31935)

* Fixes electron 36 integrity checks (#31956)

* update the fs.readFileSync integrity check expectation

* maybe this fn is missing from the expected stack?

* more debug, change the stack up a little

* actual fn name is traceSync

* logging

* logging

* remove logging from integrity check

* maybe circle api changed?

* correct params

* inspect stack frames for differences

* have to manually serialize the stack frames

* change expectation

* update expected global keys

* additional allow list

* update key allow list

* increase zipfile size limit on non-windows builds

* revert logging changes

* Update scripts/binary/binary-integrity-check-source.js

* increase timeout to 120s for darwin fsevents/native module test (#31975)

* print out stdout for darwin test

* try and fix test

* update readme re: browsers-internal images, ensure module_api_spec binary test uses correct electron version

* Update .circleci/workflows.yml

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update .circleci/workflows.yml

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* trigger 15.0.0 binary pipeline rather than electron-36 specific one

* Update cli/CHANGELOG.md

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update cli/CHANGELOG.md

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-07-07 13:03:13 -04:00
Ryan Manuel
8a6d1d666b Merge branch 'develop' into release/15.0.0 2025-07-02 10:10:59 -05:00
Ryan Manuel
954847c613 internal: (studio) add manifest for all of the cloud delivered files (#31923)
* internal: (studio) add manifest for all of the cloud delivered files

* fix tests and environment variables

* update strategy

* fix tests

* rework

* Apply suggestions from code review

* require manifest

* require manifest

* clean up

* refactor

* Update packages/server/lib/cloud/studio/StudioLifecycleManager.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor

* just use the string

* try and fix test

* try and fix test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-01 22:21:39 -05:00
Jennifer Shehane
3eaf7400ad Merge branch 'develop' into release/15.0.0 2025-06-26 12:25:20 -04:00
Tim Griesser
31c3455b6d chore: normalize options passed via axios to the agent layer (#31905)
* fix: normalize options passed via axios to the agent layer

* improvements to testing, using debugging-proxy

* clean up & add test cases for authorization

* add follow-redirects as explicit dependency
2025-06-23 14:52:46 -04:00
Jennifer Shehane
b7aff4521a Merge branch 'develop' into release/15.0.0 2025-06-10 09:13:37 -04:00
Ryan Manuel
fed81d47c8 internal: (studio) set up hot reloading for the studio bundle (#31796)
* internal: (studio) set up hot reloading for the studio bundle

* fix types

* floating promise

* Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* fix tests

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* fix tests

* fix binary

* fix tests

* minor tweaks

* code cleanup

* update guide

* PR comments

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-05-30 13:38:42 -05:00
Jennifer Shehane
3bd6eacd4e merge develop into 15 2025-05-12 16:07:08 -04:00
Jennifer Shehane
2d7a84d7a7 dependency: update trash dep and convert trash files from JS to TS (#31667)
* dependency: bump trash dir

* update trash files to TypeScript

* Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* fix build

* changelog entry

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-05-09 13:14:43 -04:00
Jennifer Shehane
a621b422f3 Merge branch 'develop' into release/15.0.0 2025-05-05 09:36:42 -04:00
Bill Glesias
2fd8712456 breaking: the minimum version of webpack for webpack-preprocessor and webpack-batteries-included-preprocessor is webpack 5. both packages need a breaking version published (check the peerDeps in WBIP)" (#31506)
breaking: webpack/wds v4 is no longer supported in @cypress/webpack-dev-server

update changelog and clean up comments
2025-05-01 13:28:01 -04:00
Ryan Manuel
d435ddaac3 internal: rework studio handshake to allow better caching (#31599)
* feat: (studio) Capture telemetry for studio initialization

* fixes

* revert type changes

* add studio lifecycle manager

* fix studio router

* finish lifecycle manager, add test coverage

* fix types

* fix types for real

* fix types actually

* fix lint

* fix routes spec

* fix lint, add try/catch

* remove work to capture telemetry

* didn't mean to remove this part

* fix types

* remove test for other branch

* feedback

* fix test

* encapsulate more logic into studio lifecycle manager

* feedback

* fix tests

* blank

* feedback

* Update packages/app/src/runner/event-manager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix lint

* fix hiding runner ui

* update test

* re-work lifecycle manager implementation to not use EventEmitter

* fix listener registration logic

* ensure that studio still loads even when cloud bundle doesn't

* feedback

* feedback

* use getter for isProtocolEnabled, report studio manager initialization errors, remove references for isStudioProtocolEnabled

* clean up listeners when initialization errors

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* feedback

* fix: rework studio handshake to allow better caching

* merge conflict

* slight refactor

* update types

* Update packages/server/lib/cloud/api/studio/post_studio_session.ts

* Apply suggestions from code review

* fix test

* PR comment

---------

Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-30 13:33:02 -05:00
Bill Glesias
9b3b023aa0 feat: replace ts-node with tsx for parsing user configuration (#31520)
* feat: replace tsnode with tsx for parsing user configuration in all cases

* bump ubuntu images from node 18 to 20 as node 18 is not supported in cypress 15 and allows us to not include the 18.19.0 workaround to use --import with tsx inside the ProjectConfigIpc

* fix: issues finding tsx on windows as it needs the file:// protocol as absolute drive paths are not recognized as a file protocol in the node context

* make sure to filter out stack code correctly for windows

* fix: fix flake from windows on reporter menu not expanding (unrelated to this PR and should be merged into develop)

* chore: update changelog with all issues tsx cutover closes

* fix merge conflicts

* chore: add regression tests for cypress projects that previously did not work but now do with tsx

* build all binaries

* chore: address issues from code review

* update changelog

* remove todo comment on testing legacy migration with tsx

* refactor codeFrame calculation into a util function and add a unit test

* updated node versions in project config ipc tests to remove 18 and test threshold / latest values. Removed redundant comments on ts-node.
2025-04-29 13:31:28 -04:00
Adam Stone-Lord
a5ba8c497c internal: (studio) initialize cloud studio asynchronously (#31469)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-29 09:37:44 -04:00
Ryan Manuel
38f980e0c4 internal: (studio) improve error reporting (#31546)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* feat: capture errors with studio

* types

* add tests

* fix types

* fix typescript

* strip path

* fix tests
2025-04-23 15:54:30 -05:00
Ryan Manuel
ac3bb18dbc internal: (studio) enable studio to access the protocol database with a new connection (#31502)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* Update packages/app/src/studio/studio-app-types.ts

* Update packages/server/lib/cloud/studio.ts
2025-04-17 20:32:29 -05:00
Bill Glesias
189bb9ee5f chore: remove experimental decorators from the repo (#31487) 2025-04-14 15:07:11 -04:00
Jennifer Shehane
ec53844713 dependency: update server to mocha 7.2.0 (#31432)
* dependency: update server to mocha 7.2.0

* Add PR to changelog
2025-04-02 15:46:04 -04:00
renovate[bot]
2d4702979b dependency: update dependency webdriver to v9.11.0 (#31315)
* fix(deps): update dependency webdriver to v9.11.0

* empty commit

* add changelog entry

* run some more tests

* add a comment for the postinstall running in the server

* bump circleci cache

* put patch-package back

* bump cache

* chore: update patches and add tests in test static assets

* fix changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: AtofStryker <bglesias@gmail.com>
2025-03-27 13:14:43 -04:00
Matt Schile
7740a9260a chore: update circleci contributor envs (#31299) 2025-03-14 22:16:52 -06:00
Matt Schile
3fd0e3cbbd chore: update circleci envs (#31295) 2025-03-14 20:56:40 -06:00
Matt Schile
b3b2c10f20 internal: updated studio panel to display immediately (#31287) 2025-03-14 16:03:07 -06:00
Matt Schile
ff83c04917 chore: update circle ci task data env (#31264) 2025-03-14 15:42:12 -06:00
Ryan Manuel
7f6b3ff8e3 chore: fix the binary builds due to proxy-from-env -- run ci (#31259) 2025-03-11 16:54:07 -04:00
Ryan Manuel
ffcc6387ef chore: add ability to load types from the studio bundle (#31153)
* chore: set up sharing of react via module federation in studio

* chore: add ability to load types from the studio bundle

* fix build

* fix build

* fix build

* PR comments

* Update guides/studio-development.md

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix test

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2025-02-28 16:30:45 -06:00