* chore(deps): update dependency rimraf to v5.0.10
* fix: fix clean errors caused by rimraf breaking change
* refactor: use promise instead of callback
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: [run ci] does further prerequisites for webpack 5:
https://webpack.js.org/migrate/5/#make-sure-your-build-has-no-errors-or-warningshttps://webpack.js.org/migrate/5/#make-sure-to-use-modehttps://webpack.js.org/migrate/5/#update-outdated-optionshttps://webpack.js.org/migrate/5/#test-webpack-5-compatibility
app builds and runs locally. Time to test out in CI and see if buffer or
process need to be polyfilled by the build
* chore: upgrade to webpack 5 and do the bare minimum to get it working
* chore: get @packages/extension working
* chore: add TODOs to finish after webpack 5 update
* chore: update the webpack config for npm/webpack-batteries-included-preprocessor to be webpack 5 compliant
* chore: patch whatwg-url 7.1.0. package 'source-map' uses
whatwg-url@7.1.0 which has a dependency on punycode node expected API.
since punycode is now polyfilled for us implicitly via the punycode npm
package, the API signatures are a bit different
https://github.com/mathiasbynens/punycode.js/blob/main/punycode.js#L101
vs https://nodejs.org/api/punycode.html#punycodeucs2. The patch uses the
punycode npm package expected API and is needed for source maps to work
for cy.origin() dependencies for Cypress.require()
* chore: convert whatwg patch into dev patch as source-map is not installed when building the binary / installing prod dependencies
* chore: only move production level patches into the binary dist directory for yarn install --production
* chore: remove --openssl-legacy-provider code for node versions 17 and over as webpack has been updated to v5
* chore: fix the webpack-batteries-included-preprocessor tests by shimming the correct node globals and built ins
* chore: provide the define plugin and evalDevtoolPlugin again as we need define in order to build the react-dom library correctly in the bundle to not include the development version
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: fix the webpack preprocessor not to change promise references under the hood when compiling the first bundle, as it was causing the webpack preprocessor to hang as the reference itself was different
* chore: fix issues from readFile that were caused by Webpack 5 using 'path-browserify'
* chore: update chrome component testing snapshots to match Webpack 5 changes
* chore: fix mismatched snapshots from webpack 5 update
* chore: use Cypress.Buffer instead of Buffer for selectFile system test to avoid having to polyfill Buffer from webpack
* chore: fix system test webpack path that now includes e2e workspace
* chore: patch enhanced-resolve to properly discover the pnp api for the yarn_v3.1.1_pnp_spec.ts system test. see https://github.com/webpack/enhanced-resolve/issues/263 for more details
* chore: set stats to 'none' for experimentalSingleTabMode to prevent different webpack compiled terminal formatting in the snapshot between local and CI.
* chore: fix node built in tests and configure webpack-batteries-included-preprocessor correctly
* chore: fallback to buffer correctly in config, even though there is no impact due to the provide plugin
* Update binary-cleanup.js to exclude added build dependencies for webpack
5 added by webpack-terser-plugin under the hood
* chore: add stream-browserify to webpack preprocessor batteries included as a dep as its used in the config [run ci]
* chore: make sure process and buffer are installed in the CLI for webpack provide
* chore: build cross platform binaries [run ci]
* chore: fix webpack evalDevToolPlugin instantiation [run ci]
* run all binary jobs [run ci]
* chore: updating v8 snapshot cache
* add find-up to the entry points that need to be kept
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: fix mocha build warnings
* chore: fix STRIPPED_INTEGRITY_TAG import warnings
* chore: add changelog event
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* feat: improved CloudDataSource caching & tests
* feat: pushFragment subscription, for updating the client with remote data (#21408)
* refactor: add pushFragment utility for pushing remote data into the client
* fix: UNIFY-1625 Runs tab not updating in real time (#21412)
* allow returning a Response object in the remoteGraphQLIntercept, handle 401
* start graphql server in run mode
* update url logic
* use correct mobx instance
* expose util method for testing selector playground
* add __Cypress__ global
* correctly order aut lifecycle methods
* correct spec url in tests
* fix server integration tests
* add title to html
* update url encoding
* uni test
* encoding
* encode ssr data as base64
* set correct cypress.spec.name
* set arch and os options
* add version to options
* update config test
* update encoding
* temp skip
* more skips
* try to fix launchpad tests
* update test
* update runner
* feat: automation
* ignore error
* remove unused runner steps
* try remove error
* config
* Ensuring a provided testId gets rendered on a consistent element reference within HeaderBar.
* better conditionals
* automation connection
* try applying firefox cdp automation
* skip spec
* skip for now
* skips
* respond to failed visit event correctly
* chore: fix screenshot system tests (#19686)
* set fake __CYPRESS_MODE__ on window
* vue logic for screenshot + run-mode checks
* Restore AUT wrapper div, make the name more clear
* switch to await for `before:screenshot` event send
* remove skipped tests
* add CYPRESS_INTERNAL_MODE to env
* move logic into component
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* do not run runner-shared tests anymore
* dont care about runner unit test
* add reference screenshots confirmed to be good
* fix rerun spec
* do not hardcode http protocol, remove old code
* revert protocol and add missing pre-fetch gql query
* correctly pass ssr data, update request policy
* automation element updates
* do not apply CDP automation for firefox
* make assertions more debug-friendly
* up timeout, make firefox pixels slightly looser on CI
* Fix TS
* Try to fix tests
* Try to fix tests
* do not require urql for run mode
* wip: request policy changes
* use separate component for run mode and open mode
* expose selector playground function globally for testing purposes
* fix typescript
* fixing unit tests
* encode ssr data to match production
* fix test
* fix test
* readme
* fix: Run mode for unified runner resolve conflicts (#19743)
* merge in 10.0-release
* Fix merge conflict with client route
* Fail earlier when trying to run cypress in cypress in a browser other than chrome
* Fix some tests
* Set empty obj if config is not set
* Update tests
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* update automation namespace, remove old code
* remove skipped test
* handle non proxied case
* clean up code
* revert png
* do not start graphql server in run mode
* Fix ts error
* revert type.cy.js to original test
* revert change in driver screenshot
* remove unused async
* remove unused env var
* remove old todo comment
* remove needless console.log
* unskip test
* use pause: true to avoid gql request
* remove unused automation element
* remove unused setAutomationStatus method
* change pane -> panel
* reimplement 1px flake fix for firefox type.cy.js
* chore: remove launchpad environment variable (#19778)
* remove LAUNCHPAD conditionals
* add timeout to test
* revert file
* correctly normalize url
Co-authored-by: Tyler Biethman <tbiethman@gmail.com>
Co-authored-by: Mark Noonan <oddlyaromatic@gmail.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Alejandro Estrada <estrada9166@gmail.com>
Co-authored-by: estrada9166 <estrada9166@hotmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* build: fix dev process on windows
* build: reuse "spawned" function
* Revert "build: reuse "spawned" function"
This reverts commit 67289c281a.
* use winSpawn for spawned too
* refactor: rename uSpawn function
* feat: detect framework, guess component glob and query files
* add test for Storybook detection and spec generation
* fix test flake
* chore(app): simplify glob finding logic (#18562)
* rebase, use globby, create new test project
* fix ts and test scaffold
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* feat: use shikijs for highlighting code
* add line numbers
* fix Jess's remarks
* remove last instances of prism
* fix: remove unused prism packages
* fix broken build
* remove prism
* remnove prism one last time
* remove the last piece of prism in tests
* remove prism and refactor
* restore proper fe-shared test
* use windi to color shiki
* rename theme and create test
* cosmetic fixes
* avoid the jank
* fix image imports in typescript
* restore mistake
* make the shiki theme generator
* gitignore the shiki-heme generated
* add the shiki theme generation to yarn build
* make shiki theme look good
* last colors to update
* styling fixes
* styling fixes
* styling fixes
* styling fixes
* theme
* fix relative positioning
* Update .gitignore
* Update packages/frontend-shared/src/components/ShikiHighlight.vue
* remove conflicting copy button
* dont top level await
* add a readme for theme generation
* ignore generated theme
* fix integration test in launchpad
* fix other integration test
* bring back the cypress theme
* fixing public path issue
* make e2e work
* fix yarn dev (remove the double slash)
* review theme with ryan
* make copy on click optional
* adjust viewports
* move generation of theme before vite build
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* update server
* add launchMode param
* update logic
* update types
* update gql
* basic WIP for e2e
* hot reload
* dead code
* try to conditionally launch existing runner
* types
* update server
* params
* append gql port
* override to default ot e2e runner on launchpad and app e2e tests
* do not set launchpad variable for e2e runs
* use window to get graphql port and correctly run e2e conditionally using CIRCLECI env. var
- Add `@packages/data-context`
- Add `yarn gulp makePackage` for scaffolding a new server package
- Removes `nexus-decorators` in favor of regular Nexus, creating better separation between data & schema
- Possible to launch project in different browser types
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Cesar <cesaravitia@outlook.com>