Commit Graph

274 Commits

Author SHA1 Message Date
Dave Kasper 6bdebd7e5f chore: follow-up cli optimizations (#27974) 2023-10-04 14:07:46 -04:00
Adam Stone-Lord 4c11731ee1 chore: optimize task execution (#27848)
* Revert "chore: simplify build script (#27547)"

This reverts commit 0a86ec686e.

* Revert "chore: upgrade lerna to 6, cache build step (#26913)"

This reverts commit 9e60aeba8f.

* [run ci]

* chore: upgrade lerna to 6, cache build step (#26913)

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update lerna to 6

* [run ci]

* try caching build step

* we can't clean without building after

* add dependencies on scripts for npm packages

* update commands

* add config for data-context build step

* fix output configurations for npm packages, add gitignores

* revert changes to config and data-context build steps

* fix outputs

* run with cache

* fix outputs for cli

* actually fix outputs

* test with cache

---------

Co-authored-by: astone123 <adams@cypress.io>

* chore: simplify build script (#27547)

* chore: simplify build script

* update CI workflows

* fix workflows

* empty commit because Percy weirdness

* chore: add driver, reporter, config as implicit dependencies for runner package (#27559)

* run all workflows on branch

* chore: parallelize test-binary-against-recipes CI step (#27570)

* chore: fix some easy circular dependencies in dep graph (#27612)

* chore: remove gulp tasks from postinstall (#27616)

* empty commit

* chore: minor improvements to node_modules_install (#27647)

* chore: fix cypress:open and dev scripts

* run with cache [run ci]

* exclude mochaawesome assets from .yarnclean [run ci]

* bump cache again [run ci]

* run cached [run ci]

* chore: do not cache cli build step [run ci]

* update workflow command and docs for build-cli [run ci]

* fix commands that use scope [run ci]

* use different branch for publish repo [run ci]

* percy weirdness? [run ci]

* fix postbuild cli script [run ci]

* try to remove typescript from production binary [run ci]

* fix circular dependency [run ci]

* try removing ts from node_modules [run ci]

* remove typescript resolution [run ci]

* remove redundant target scripts

* update to lerna scoped commands

* remove unneeded yarn in lerna command

* try to fix Electron install in Windows workflow

---------

Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Dave Kasper <dave.m.kasper@gmail.com>
2023-10-04 12:25:00 -05:00
Adam Stone-Lord 784f0cfe82 chore: add utility for purging urls from Cloudflare cache (#27923) 2023-10-04 11:18:34 -04:00
Adam Stone-Lord 6073426806 chore: remove binary build step from Linux CI (#27959) 2023-10-03 12:42:34 -04:00
Bill Glesias b85dd752f2 dependency: update to electron 25 and node 18 (#27715)
* feat: update to electron 25 and bump node dependencies. need to remove
custom docker image

* chore: update node versions to 18+ [run ci]

* chore: bump @types/node from v16 to v18 and bump the typescript supported CLI version from 3.9 to 4.4

* update mock-fs to 5.2.0 to fix BigInt issue (see https://github.com/tschaub/mock-fs/releases/tag/v5.1.4) [run ci]

* chore: update electron integrity check to pass create binary job

* chore: fix issues with achrinza/node-ipc not yet having node 18 engine support (only up to 17 by patching from 9.2.2 to 9.2.5 as seen in https://github.com/achrinza/node-ipc/pull/38. vue/cli-service is not maintained and we should migrate these over to vue create at some point in the near future to get rid of these resolutions

* allow for TLSv1 tests to work with node 18 as the express server running node 18 with tlsv1 needs to allow legacy ciphers

* chore: update snyk workflows to use node 18

* chore: add changelog

* update timeout

* more cleanup during binary build

* bump cache and run ci. include ignore engines for rwa and get rid of
16.16 image references

* chore: update FF tests to 115 as serialization now works with errors and click events do not get fired on buttons being typed into

* chore: don't error when symlink already exists

* chore: fix serialization test for newer versions of firefox

* chore: fix CI config

* chore: fix chrome system tests to work with chrome 114. updates mostly caused by bugs in screen height in chrome. see https://bugs.chromium.org/p/chromium/issues/detail?id=1416398

* chore: test binary against vite update in RWA

* remove wait for RWA as it shouldnt be needed for vite. link example recipes update to node 18

chore: remove commented out code

* chore: print message when DISABLE_SNAPSHOT_REQUIRE is set

* chore: clean out unneeded dependencies always

* chore: remove trailing space

* fix: propagate click events for enter and typing on firefox 106 or later

* chore: fix changelog failures

* fix: correctly simulate click events for buttons on keyup and space type  in Firefox versions greater than 91 and simulate click for buttons on enter in Firefox versions greater than or equal to 106

* chore: add documentation to type to clarify firefox synthetic events

* chore: update protocol snapshot as order or log messages seems to have changed

* update comments

* sort commandLogChanged events for protocol

* chore: remove PR ids from CRA and CER as the PRs are merged into develop

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
2023-09-07 15:26:09 -04:00
Ryan Manuel b0df02b8d7 Merge branch 'develop' into release/13.0.0 2023-08-21 13:31:12 -05:00
Adam Stone-Lord fe6f72f6c7 chore: fix get-published-artifact script (#27610)
* chore: fix get-published-artifact scripts [run ci]

* update unit test, check linux-arm workflow [run ci]

* circle workflow getting cached?
2023-08-21 12:34:56 -05:00
Matt Henkes e06334d289 Merge branch 'develop' into release/13.0.0 2023-08-18 10:39:40 -05:00
Adam Stone-Lord 24f1460692 chore: revert changes to build process (#27584)
* Revert "chore: remove Typescript dependency from app node_modules in binary (#27577)"

This reverts commit 60d4c8356c.

* Revert "chore: simplify build script (#27547)"

This reverts commit 0a86ec686e.

* Revert "chore: upgrade lerna to 6, cache build step (#26913)"

This reverts commit 9e60aeba8f.

* build everything

* [run ci]
2023-08-18 10:05:29 -04:00
Adam Stone-Lord 60d4c8356c chore: remove Typescript dependency from app node_modules in binary (#27577)
* chore: try removing Nx cache from binary [run ci]

* try removing typescript dep [run ci]
2023-08-17 11:26:34 -04:00
Bill Glesias b2b56cbd69 Merge branch 'develop' of https://github.com/cypress-io/cypress into chore/merge_develop_into_release_13 2023-08-14 10:37:14 -04:00
Bill Glesias 9f49d588a0 Merge branch 'release/13.0.0' of https://github.com/cypress-io/cypress into chore/merge_develop_into_release_13 2023-08-14 09:32:41 -04:00
Ryan Manuel 6ac7febe2d feat: remove protocol environment variable from binary (#27506) 2023-08-11 16:02:32 -05:00
Jordan 1061f858a8 chore: update tough cookie (#27515)
* chore: update tough-cookie from 4.0.0 to 4.1.3. requires v8 snapshot update

* fix: tough-cookie as of 4.1 doesn't default sameSite undefined to none any longer. However, we want to set sameSite === undefined to lax as the default as this is the case in every standard browser, except firefox. We did this previously and this is behavior we want to continue to preserve, even for security reasons

* chore: update v8 snapshots

* fix issue with global toString

* chore: run ci

* chore: update @cypress/request to 2.88.22 and @cypress/request-promise to 4.2.7 [run ci]

* remove jsdom and start-server-and-test

* revert @cypress/request back to 2.88.12

* update changelog entry

* remove uneeded deps

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-08-11 13:42:36 -04:00
Bill Glesias fe6d3274f4 Merge branch 'develop' into chore/merge-develop-v13 2023-08-11 13:25:08 -04:00
Jordan 9e60aeba8f chore: upgrade lerna to 6, cache build step (#26913)
* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update lerna to 6

* [run ci]

* try caching build step

* we can't clean without building after

* add dependencies on scripts for npm packages

* update commands

* add config for data-context build step

* fix output configurations for npm packages, add gitignores

* revert changes to config and data-context build steps

* fix outputs

* run with cache

* fix outputs for cli

* actually fix outputs

* test with cache

---------

Co-authored-by: astone123 <adams@cypress.io>
2023-08-10 11:12:38 -04:00
Bill Glesias 171d1fa646 chore: update to webpack v5 (#27438)
* chore: [run ci] does further prerequisites for webpack 5:
https://webpack.js.org/migrate/5/#make-sure-your-build-has-no-errors-or-warnings
https://webpack.js.org/migrate/5/#make-sure-to-use-mode
https://webpack.js.org/migrate/5/#update-outdated-options
https://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>
2023-08-09 11:59:36 -04:00
Bill Glesias 8102a09200 Merge branch 'develop' of https://github.com/cypress-io/cypress into merge-develop-into-13 2023-08-04 16:27:38 -04:00
Adam Stone-Lord afe5a1f63d chore: update external dependency paths in binary cleanup (#27460) 2023-08-04 13:30:57 -04:00
Bill Glesias 8bc38894d5 Merge branch 'develop' into chore/merge_develop 2023-07-25 12:28:35 -04:00
Adam Stone-Lord 74253149cf chore: move Linux binary packaging and publishing to separate repository (#27285)
Co-authored-by: Matt Schile <mschile@cypress.io>
2023-07-24 19:57:14 -04:00
Bill Glesias 98a0f4f6ba Merge branch 'develop' into feat/protocol 2023-06-13 17:17:44 -04:00
Emily Rohrbough d59348798f chore: replace arg devDep with minimist; remove unused shx devDep (#26727) 2023-06-02 15:13:08 -05:00
Emily Rohrbough c3e3500d5c chore: replace gift devDep with simple-git (#26728) 2023-06-02 15:12:24 -05:00
Matt Henkes c4ad4253ef fix: Remove usage of vm2 (#26863)
* fix performance stuff -- run ci

* Update cypress.config.ts

* remove dep, add tests

* clean up

* m does not exist

* vm2 is everywhere

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-05-25 13:55:33 -05:00
Tim Griesser d2ef2c1393 feat: capture protocol delivery (#26421)
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: David Rowe <95636404+davidr-cy@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-05-15 14:06:27 -05:00
Ryan Manuel 3c6e53f039 Merge remote-tracking branch 'origin/develop' into feat/protocol
# Conflicts:
#	yarn.lock
2023-05-10 19:23:05 -05:00
Emily Rohrbough 4dd4183624 chore: binary build cleanup (#26627) 2023-05-01 14:16:34 -05:00
Ryan Manuel fd8979dcf3 chore: merge develop to feat/protocol 2023-04-28 16:28:23 -05:00
Mike Plummer 91cbc6741c chore: Update Vite to 4.3.0 (#26553)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2023-04-27 15:09:31 -05:00
Ryan Manuel e9e46a3b80 Merge branch 'develop' into feat/protocol 2023-04-17 21:01:04 +00:00
Matt Henkes 2a8d078753 chore: Reduce dependencies and binary size, add circle ci detector (#26522)
* chore: add circle ci detector

* update deps

* adjust deps and cleanup binary?

* Add Tests

* fix tests, keep artifact

* Apply suggestions from code review

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

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
2023-04-17 15:44:40 -05:00
Ryan Manuel bbe90abee7 chore: add better-sqlite3 dependency (#26168)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2023-03-23 12:01:13 -05:00
Ryan Manuel 0a4550ea0c chore: add linting to the scripts directory (#26197) 2023-03-23 12:00:56 -05:00
Brian Mann 2a17efac74 feat: improve stability when recording (#25837)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
2023-02-24 16:32:36 -06:00
Ryan Manuel d1ac427fc3 chore: issue with ts-loader missing in binary and problematic esbuild norewrite construct (#25797) 2023-02-14 08:20:56 -06:00
Chris Breiding 41512c416a feat: Bundle cy.origin() dependencies at runtime (#25626)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-02-13 11:59:29 -05:00
Emily Rohrbough 52e9dbc100 chore: update next-version to handle using the next bump package.json… (#25599)
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2023-01-27 15:50:21 -06:00
Zach Bloomquist 1b1ed9cd49 chore: improve linting (#25235) 2022-12-29 17:26:13 +00:00
Ryan Manuel 56bebb109e feat: set up auto prs for snapshot metafile changes (#25052)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-13 08:29:22 -06:00
Ryan Manuel 8888cd9e21 fix: add column, line, and method check to integrity check (#25094) 2022-12-12 14:42:46 -06:00
Ryan Manuel f9541aff10 fix: limit the number of globals defined due to the v8 snapshot (#25051) 2022-12-08 09:35:58 -06:00
Ryan Manuel c540284f50 fix: add v8 snapshot usage to cypress in cypress testing (#24860) 2022-12-08 00:04:37 -06:00
Ryan Manuel 57b0eac60d feat: various v8 snapshot improvements (#24909)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-12-02 22:13:06 -06:00
Ryan Manuel e9e8cadda4 fix: custom reporter and experimentalSessionAndOrigin crashes (#24630) 2022-11-09 20:43:03 -06:00
Ryan Manuel b0c0eaa508 feat: introduce v8 snapshots to improve startup performance (#24295)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: Ben M <benm@cypress.io>
Co-authored-by: Zachary Williams <zachjw34@gmail.com>
Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Adam Stone <adams@cypress.io>
Co-authored-by: Blue F <blue@cypress.io>
Co-authored-by: GitStart <1501599+gitstart@users.noreply.github.com>
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Sam Goodger <turbo@tailz.dev>
Co-authored-by: Colum Ferry <cferry09@gmail.com>
Co-authored-by: Stokes Player <stokes@cypress.io>
Co-authored-by: Vilhelm Melkstam <vilhelm.melkstam@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-10-31 20:20:27 -05:00
Lachlan Miller a710aaf154 chore: update docs for npm directory (#22916)
* chore: add docs to npm directory

* Fix binary build failure caused by non-JSON file at `/npm`

* chore: simplify docs

* revert

* fix build

Co-authored-by: Mike Plummer <mikep@cypress.io>
2022-07-28 11:47:37 +10:00
Chris Breiding 2c2b8695fc chore: use valid platforms+arches list to purge cache instead of using user's arch 2022-07-19 15:48:29 -04:00
Zach Bloomquist 61f19c0450 feat: build Cypress for linux-arm64 (#22252) 2022-06-15 16:22:10 +00:00
Zach Bloomquist e18b0d567e feat: build Cypress for darwin-arm64 (#20686) 2022-06-15 15:24:50 +00:00