Commit Graph

42 Commits

Author SHA1 Message Date
Bill Glesias 5109a74e21 fix: patch enhanced-resolve when installed as production dependency (#27583) 2023-08-22 11:49:45 -04: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 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 4466d341a4 chore: update electron sub dependencies (#27361)
* chore: update electron-context-menu to 3.6.1. electron-context-menu fixed the issue we were patching in https://github.com/sindresorhus/electron-context-menu/pull/156, so the patch can be deleted

* chore: update electron/get from v1 to v2. v2 drops node 12 so nothing breaking on our end

* chore: update electron-builder to ^v23.6.0 (checkTs passing)

* chore: upgrade electron packager to v16

* update electron-packager from v16 to v17

* run binary jobs for electron updates [run ci]
2023-07-26 09:41:04 -04:00
Lachlan Miller 9d4a3d263a fix: revert #26452 (Yarn Plug n Play compat regression) (#26735)
* Revert "fix: correctly resolve dependencies for CT onboarding when using Yarn Plug n Play (#26452)"

This reverts commit 7a33f5c1a8.

* changelog

* changelog
2023-05-12 20:02:46 +10:00
Lachlan Miller 7a33f5c1a8 fix: correctly resolve dependencies for CT onboarding when using Yarn Plug n Play (#26452)
* patch resolve package and use corret path for Yarn PnP module resolution

* add test

* fix logic

* changelog

* log

* Add link to pnp docs

* recursively search upwards for pnp.cjs

* use require.resolve no matter what

---------

Co-authored-by: Mike Plummer <mikep@cypress.io>
2023-04-11 11:54:27 +10:00
Kukhyeon Heo af0da61b8c chore: Migrate AssertionsOptions menu to Vue. (#24286)
* React to vue

* Goodbye dom.

* Use event modifier.

* Remove leading underscore in names

* Use modifier.

* Add flip, shift options.

* Use createPopper instead of floating-ui.

* Remove unnecessary dependencies.

* addAssertion to event.

* setPopperElement to event.

* Strong types.

* clarify test.

Co-authored-by: Blue F <blue@cypress.io>
2022-12-24 07:28:41 +10:00
Ryan Manuel 8888cd9e21 fix: add column, line, and method check to integrity check (#25094) 2022-12-12 14:42:46 -06:00
Lachlan Miller 23d52af3a2 chore: update eventemitter2 and vite deps (#23740) 2022-09-09 08:14:41 -05:00
Kukhyeon Heo a27affe447 chore: refactor server/lib/config.ts to pkg/config (#22530)
Co-authored-by: Rachel <rachel@cypress.io>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
2022-08-17 10:54:02 -07:00
Lachlan Miller ee177195eb fix: windows CI with Vite 3 (#23052)
* chore: patch vite

* remove readJsonSync methods

* rename patch

* fix tests

* reduce flake by using a timeout

* update test

* do not build mac and linux binaries
2022-08-02 10:18:13 -05:00
Tim Griesser 383bdb1d3d fix: UNIFY-1625 Runs tab not updating in real time (#21370)
* 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
2022-05-12 09:06:12 -04:00
Bill Glesias 04dc2e3130 Merge branch '10.0-release' of github.com:cypress-io/cypress into md-10.0-merge 2022-05-06 10:07:06 -04:00
Zach Bloomquist c336d7da5c chore: remove unused parts of design-system, move SCSS to runner-ct (#21345) 2022-05-05 23:02:43 +00:00
Bill Glesias bbd9e7f1b2 Merge branch 'develop' into md-10.0-merge 2022-04-29 10:39:54 -04:00
Kukhyeon Heo 0bb655e379 chore: remove command type todos (#20601)
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Rachel <rachel@cypress.io>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
2022-04-22 14:28:13 +00:00
Zach Bloomquist bc12c9da1f test: add windows-test-kitchensink job (#20847)
* test: add windows-test-kitchensink job

* run windows ci on this branch

* use test-binary-against-kitchensink-chrome

* windows-create-build-artifacts

* use working dir when cloning

* npm i in correct dir

* install chrome on windows for test-binary-against-repo

* parent dir

* bump kitchensink

to pull in https://github.com/cypress-io/cypress-example-kitchensink/pull/549

* fix cli type hoisting

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-04-19 22:43:11 +10:00
Zach Bloomquist dfd70445b1 test(app): fix EBUSY/EPERM errors when running e2e tests on Windows (#19848)
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
Co-authored-by: ElevateBart <ledouxb@gmail.com>
2022-01-26 19:39:13 +00:00
ElevateBart dd45563638 chore: hoist is - fun with cached dependencies 2021-12-08 11:14:53 -06:00
ElevateBart 0ef8114252 build: hoist is hard 2021-12-08 10:48:02 -06:00
ElevateBart 3b873bce6d build: more fixes 2021-12-07 13:39:19 -06:00
ElevateBart ce0bb2c84b Merge branch 'develop' into elevatebart/chore/merge-develop 2021-12-07 10:41:18 -06:00
Tim Griesser 8262f80d1f fix: patch-package is not applied in dist'ed build (#19239) 2021-12-03 18:45:34 -05:00
Jessica Sachs 30a14ed65e feat: adding alert component with markdown (#19152)
Co-authored-by: ElevateBart <ledouxb@gmail.com>
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
2021-12-02 22:42:02 -05:00
Emily Rohrbough 6b15468579 chore: Migrate Windows Tests from Appveyor to CircleCI (#19037)
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: ElevateBart <ledouxb@gmail.com>
2021-12-02 14:20:06 -06:00
Tim Griesser a45825eafc fix: change // -> //z to @types comments once on postinstall (#19041) 2021-11-22 13:16:29 -05:00
Kukhyeon Heo 2a6ded2352 chore: Update TypeScript to 4.4.4 (#18930) 2021-11-19 10:01:23 -05:00
Chris Breiding 1e8dc009d8 Merge branch 'develop' into 9.0-release 2021-11-09 16:19:17 -05:00
renovate[bot] 3095d733e9 feat(deps): update dependency electron to v15 🌟 (#18317)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: David Munechika <davidam1203@gmail.com>
2021-11-09 20:52:17 +00:00
Zach Bloomquist 925fc659b3 chore: patch winston to suppress padLevels warning (#18824) 2021-11-09 16:46:59 +00:00
Jessica Sachs a045e4f59a chore: move server e2e tests to system-tests (#16354)
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Zach Bloomquist <github@chary.us>
2021-10-18 19:53:14 +00:00
Kukhyeon Heo af472b6419 fix: revive type checker (#18172)
Co-authored-by: Zach Bloomquist <github@chary.us>
2021-10-13 23:51:38 +00:00
Kukhyeon Heo f79bc19814 chore: update istextorbinary to 6.0.0 (#17567) 2021-08-03 20:29:10 +00:00
Zach Panzarino b25d09f9a2 feat: abilty to add assertions in Cypress Studio (#16295)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2021-07-22 13:04:24 -04:00
Kukhyeon Heo 37de5f8dc5 fix: false negatives on multibyte utf8 characters. (#16862) 2021-06-11 20:00:42 +00:00
Zach Bloomquist 8203770af8 chore: use cypress/browsers:node14.16.0-chrome90-ff88 (#16731) 2021-06-03 20:37:26 +00:00
Kukhyeon Heo 31bd0e937f fix(types): should() cannot be used with values. (#16744)
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2021-06-02 14:42:23 -04:00
Adam Gastineau a73adf2b49 feat(design-system): SpecList - FileTree - VirtualizedTree (#16179) 2021-05-03 15:42:38 -07:00
Zach Panzarino 5842d1dffe build: conditional CI jobs, dynamic test requirements for release, updated independent package release process (#8730) 2020-10-28 18:03:28 -04:00
Jessica Sachs 59ceab5e8c chore: merge branch 'develop' (#8665) 2020-09-24 19:16:11 -04:00
Zach Bloomquist e2ea5bf663 Fix patch-package (#6583)
* fix patch-package

- don't hoist dependencies that are patched, this way we can be assured the path is always correct
- put all patches in root postinstall so postinstall-postinstall is guaranteed to work

* wip

* Revert "fix patch-package"

This reverts commit 5583f21478.

* use per package patches

* don't ignor engines or silence

* try: make sinon patch devonly

* fix socketspec

* run full ci on this branch

* bump xcode tools to bump mac node version

* also run appveyor

* Revert "run full ci on this branch"

This reverts commit c3e52d09ec.

* Revert "also run appveyor"

This reverts commit bfe7b0499a.
2020-02-28 12:17:54 -05:00
Andrew Smith 0a6a2abcec Replace npm with yarn (#5555)
* enable using yarn

* enable lerna and yarn workspaces

No longer can reliably access node_modules via thei node_modules directory; yarn may optimize it via hoisting it up. This meant updating JS tasks that were copying files directly from node_modules directories. In these cases, pulled in a new package to resolve these correctly.

SCSS files remain impacted, but cannot easily import via JS. These paths have been modified, but it feels dangerous and incorrect to reach into a node_module to grab files like this.

Many prebuild steps were removed. I **think** the purpose of `check-deps-pre` is no longer needed, but need to confirm this.

* enabling test-unit script

removal of pretest-unit due to check-deps-pre

* removal of all  `check-deps` and `check-deps-pre`

I do not think these are needed anymore

* remove npm run all

Replaced by `lerna run` and `lerna run --scope`

* use yarn in circle CI

appveyor to soon follow

* yarn in appveyor

* remove need for bin-upplaces using bin-up have a dev dependency on some package; mostly mocha. This mocha package will be optimized by yarn workspaces by hoisting it into the root; which is effectively what bin-up usage was mimicing.

* replace npm run with yarn in package files

* replace explict paths to internal packages with yarn bin

* remove unecessary link packages script and references

* properly require package for mocha

* removing yarn test in this package as it was just a proxy for test-*

* yarn test in root now reflects what is run in circle ci

* relax yarn version requirement for circle ci

* @packages/cli is really just cypress

also run test in parallel via `yarn test`; it runs test in all 10 packages

* ensure postinstall is called before prebuild

yarn does not call postinstall when nothing has installed; such is the case when everything has been cached

* vscode config uses yarn

* cannot rely on which node_modules dir a package is in

find the right node_module dir via `resolve-pkg`

* further relax yarn version for OSX build in circle ci

* resolve failing test

Regarding direct access to node_modules

* node version in mac build not sufficient

ignoring check of node/yarn versions when installing

* preinstall script does not exist

I **think** the reason to not install packages' modules (the reason for `--ignore-scripts` may be irrelevant with yarn workspaces managing the packages)

* upgrade mocha that was using --file

`--file` was introduce in >=5

* scope test runs to correct packages

* explictly close connections; otherwise script hangs after tests run

* refactor so npm and npx commads can be created

npx is used to utlize lerna for running across all packages sans cli

* properly resolve socket.io-client node_module

We cannot reach directly into node_modules to grab the socket.io-client file. Furthermore, running it locally will require resolving from a different cwd, the repo root, as opposed to the package's dist directory.

The existence of the file deterimes whether we are building the binary or running locally.

* remove unnecessary arg in vscode debug config

enable debugging in @packages/server to troubleshoot failing test

* another npm command found to be changed to yarn

* properly print colors to terminal

`lerna run` does not appear to print colors to the terminal properly. Changed to leverage `lerna exec`

See https://github.com/lerna/lerna/issues/1168

* add missing test scripts to packages that have partially have them

'test', 'test-unit', 'test-watch', and 'test-debug'

This makes running them from the root easier and enables debugging via IDE on more packages

* properly patch package in yarn workspaces

* another package needing to postinstall

* use existing script over explicit lerna exec

* patches must be copied to dist

* return to building on postinstall

* do not hoist driver's packagesThere are too many places we need driver's packages to not be hoisted when testing. We have *.html files in test with script tags srcing node_modules.

* wait-on is used in circle-ci and needs to be a root dep

No longer hoisted by `@packages/driver`. This previously worked only because it was hoisted. Adding it to root properly.

* update documentation based on new ergonomics

* launcher has unit tests that should be runnable via top level task

* more concise way to run build within cypress scope

* fix for unit test that never seemed to work

`getPathToExample` is really `getPathToExamples`

* bust cache based on yarn.lock changing

* define intra-dependencies among packages

Due to the way we build the binary, all are considered dev dependencies.

* address `jquery.scrollto` mismatched jquery version

Tell yarn to explicitly resolve `jquery@3.1.1` for any dependencies and sub-dependencies. The root issue is that `jquery.scrollto` package specifies jquery as a dependency instead of a peer dependency (which is correct). Its jquery version is set to the `>=1.8` which then resolves to 3.4.1. In doing so, it will patch its jquery instead of ours; meaning that `$.scrollTo` is not defined.

* add/remove deps from renovate

- bin-up is gone in favor of yarn workspaces and lerna from root
- check-deps is gone in favor of `yarn check --integrity`
- lerna added

* few misc yarn lock updates

* hope that this may speed up build binary

installing several of the same dep in >1 package will likely be sped up using yarn due to its machine-wide caching.

* yarn pack prefix version with a `v`

* auto-run `yarn install` when deps become out of date

When switching to a branch with a different set of required deps, running any of the main top level tasks (as seen in the `./CONTRIBUTING.md` guide) will check for deps changes via `yarn check --integrity` and run `yarn` in root if deps are out of sync.

* add clean top level task, remove prebuild

install => build => prebuild => check => install === no good

* address code review to undo formatting changes

* favor default imports over deconstructing imports

* favor @package resolution; pr feedback

* include a specific revision

for some reason, it cannot resolve the original SHA `29dafed297142d3b8a9d8a01842cbdf249a98b72`

using the next closes SHA

* properly cache yarn packagesfollowed guide: https://circleci.com/docs/2.0/yarn/

* lower barrier for contributors to get started

relax node version to be 12.0.0 or higher; will use node version found in `.node-version` in CI

* updates required after merging latest development

was getting type errors when building. recreating the `yarn.lock` file seemed to resolve the issue.

* hidden dep on a specific type version in server

made dep explicit and now it can build.

* update request to patched version

non-breaking changes to request was updated in server, but not everywhere else. It appears that transitive deps were using the 2.88.0 request version instead of the updated one for the server package.

* missing commit from previous commit/merge

* do not force a higher version of yarn than the default on circleci

* exclude e2e.js helper from stop-only command

* trying to bust node_modules cache.https://github.com/yarnpkg/yarn/issues/6412#issuecomment-537787740

* incorrect quotation tick placement

* fix: properly postinstall parse-domain

Do not explicitly script the shell invocation of a dependency's postinstall (parse-domain). The dependency's node_modules may not be where the package thinks they are and are not properly resolved.

It appears that postinstall will automatically be called when installing with yarn.

* run all CI stages

* fix win-appveyor-build.js

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Update CONTRIBUTING.md

Co-Authored-By: Zach Bloomquist <github@chary.us>

* Server package watching a specific test works correctly.

* PR feedback

* Correctly use yarn to pack (to get package size)

* correct size calculation

`yarn pack` does not output the file name like `npm pack` does. Correct this by explictly setting the filename.

* PR feedback

* PR feedback

* update readmes and testing commands from them

* do not include this in default build

* yarn is now installed by default

https://github.com/appveyor/ci/issues/1852

* do not include server in `yarn` auto build

* a few more npm references changed to yarn

* Revert "run all CI stages"

This reverts commit 9256aed99f.

* Update circle.yml

Co-Authored-By: Zach Bloomquist <github@chary.us>

Co-authored-by: Zach Bloomquist <github@chary.us>
2020-02-11 12:40:07 +06:30