* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* 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.
* 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
* 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>
* 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>
* use env variables in yaml [run ci]
* add husky hook to lint-staged to format the circle workflow file on commit when the file changes to keep the diff from the github actions job short
* chore: cut over browser-version scripts from json to yaml to update the workflow file inline
* Update scripts/format-workflow-file.js
Co-authored-by: Matt Schile <mschile@cypress.io>
* move expected yaml keys to const variables
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
* init vitest unit test harness for @packages/driver
* unit tests with stack examples
* drop lines until __cypress/tests rather than just __cypress
* changelog
* changelog
* remove vitest globals (unnecessary) from driver tsconfig
* bump the number of junit reports expected from the unit tests job
* fix ts-check error in scroll.ts
* fix type definition for getInvocationDetails
* rm packageManager key on package.json
* remove junit reporter, as script that verifies result does not recognize it as valid
* change @ts-expect-error to @ts-ignore for .scroll, as this ts check is apparently flaky
* set expected mocha result back to 19
* add ct style stacks for cy in cy ct tests
* re-enable junit reporter, update mocha result verification to be more lenient about the order of xml fields
* persist binaries for this branch
* expect 20 junit reports again
* fix mocha v vitest verification?
* add binary system test to verify correct file paths for codepoints in protocol events
* fix invocation details system test filename
* add required config for binary tests
* build on darwin to fix binary system tests
* build linux-arm64 for this branch
* simplify binary test
* build windows binary
* rm binary system test
* Update cli/CHANGELOG.md