* 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
* breaking: dropping support for webpack-dev-server 3 from @cypress/webpack-dev-server
BREAKING CHANGE: support for webpack-dev-server version 3 has been removed. webpack-dev-server 3 is no longer maintained by the webpack team. To reduce overhead, Cypress is now removing support in Cypress 14.
* update create-react-app-configured/unconfigured
* updated vueclivue2-configured to use vue cli v5
* updated vueclivue2-unconfigured to use vue cli v5
* updated vueclivue3-unconfigured to use vue cli v5
* updated vueclivue3-configured to use vue cli v5
* updated vueclivue3-custom-index-html to use vue cli v5
* update react17 project to use webpack-dev-server v4 (default ships v5 which does not work with webpack 4)
* update react18 project to use webpack-dev-server v4 (default ships v5 which does not work with webpack 4)
* update nuxt version to avoid some issues in the preprocessed webpack config
* update cy in cy component scaffolding tests to run on more suites, as well as skip config warning for outdated vuecli3 as it will throw due to wds being on version 3. this is a VERY old version, and the test needs to be updated to use vuecli5 so we get wds v5 (vuecli5 support will be deprecated)
* no longer support cra v4 and vue/cli-service v4
* remove cra v4 and vue cli service v4 detect tests as they are no longer supported [run ci]
* chore: update cra app custom index to use cra 5 [run ci]
* update protocol spec snapshot [run ci]
* chore: remove stale references to old vuecli system tests [run ci]
* update webpack-dev-server-4 to actually be wds 4 [run ci]
* add changelog entry [run ci]
* update cache key and tests that should not pass [run ci]
* add issue to changelog entry
* no longer clean up default-gateway as it was shipped with webpack-dev-server 4, which is now a dev dependency [run ci]
* fix issues with node-ipc being out of date [run ci]
* move changelog to correct section [run ci]