Commit Graph

481 Commits

Author SHA1 Message Date
Tyler Biethman
07159e8664 Merge branch '10.0-release' of https://github.com/cypress-io/cypress into tbiethman/develop-into-10-with-electron
# Conflicts:
#	circle.yml
2022-05-13 11:20:51 -05:00
Zachary Williams
0f786ab893 fix: ct testing support for node 17+ (#21430) 2022-05-13 11:01:30 -05:00
Tyler Biethman
74fa12ab11 Merge branch 'develop' of https://github.com/cypress-io/cypress into tbiethman/develop-into-10-with-electron
# Conflicts:
#	circle.yml
#	packages/driver/cypress/integration/commands/actions/trigger_spec.js
#	packages/driver/cypress/integration/commands/actions/type_spec.js
#	packages/driver/cypress/integration/commands/files_spec.js
#	packages/electron/package.json
#	packages/launcher/lib/darwin/util.ts
#	packages/launcher/package.json
#	packages/server/__snapshots__/args_spec.js
#	packages/server/__snapshots__/cypress_spec.js
#	system-tests/projects/non-proxied/cypress/fixtures/cy-non-proxied.png
#	yarn.lock
2022-05-12 12:51:59 -05:00
Tyler Biethman
8311cf15ff chore(deps): Updating electron to v18 + node v16.13.2 (#21418)
* chore: Updating electron to v18 + node v16.13.2

* Updating origin test, it needs to be fixed a different way

* Removing origin workaround for config_env specs, it should not be necessary.

* Removing now-unused semver dependency
2022-05-12 12:06:30 -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
217f4c5477 Merge branch 'develop' of github.com:cypress-io/cypress into md-10.0-merge 2022-05-02 13:34:28 -04:00
Zach Bloomquist
7a76de10f8 chore: fix circle-env for contributor PRs (#21292) 2022-05-02 17:18:43 +00:00
Bill Glesias
373ed05298 Merge branch 'develop' into md-10.0-merge 2022-05-02 12:26:58 -04:00
Zach Bloomquist
fe3e2afbea chore: add env var checking to verify-mocha-results (#21211)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-04-29 01:44:15 +00:00
Zach Bloomquist
b62599481d chore: clean up root-level scripts (#21215) 2022-04-28 17:49:05 +00:00
Jess
b326693879 chore: cutting over system-tests and Cypress to use the new CT Object API (#21079)
* removing vite-dev-server local dependency from react-vite-ts-configured system test

* moving some CRA examples over to use the object api for setup

* fixing issue where function API was broken by object API for cy config + devservers

* adding deeply nested react import to project-fixtures for cra

* finishes cutting over cypress/react for sys tests

* chore: adding circle for this feature branch

* chore: moving over many vue + vite system tests to use object API instead of function API (#21080)

* doing webpack-dev-server cutovers

* removing more webpack-dev-server refrences

* fixing snapshots

* bumping yarn.lock

* wip

* fix test

* fix assertion

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* feat: removing all references for "fresh" dev servers (webpack-dev-server-fresh and vite-dev-server-fresh) (#21094)

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>

* chore: add dev-servers as deps to server to be included in the binary (#21091)

* fix bad merge

* fix next types and webpack-dev-server- resolve

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
2022-04-20 15:57:19 +10:00
Tim Griesser
b0c8db3434 fix: Guard against slow requests in GraphQL Resolution (part 2) (#21020)
* add nexusDeferIfNotLoadedPlugin, remove GraphQLDataSource & ssr of graphql data

* add cachedUser for better rendering when cloudViewer is invalidated, fix types, tests

* guard for login to be visible before making next assertion

* revert onCacheUpdate changes

* fix for percy snapshots

* address @flotwig's simpler feedback

* Address types for versionData

* allow for nullish email in UserAvatar

* Ignore remote schema parent type in onCreateFieldResolver
2022-04-14 12:01:29 -04:00
Tim Griesser
4820a6acd9 docs: recommend watch / cypress:open processes in development (#21025) 2022-04-12 14:10:05 -04:00
Zach Bloomquist
0e48012660 chore(build): check max path length during Windows build (#20967) 2022-04-11 17:31:33 +00:00
Tim Griesser
4a9d6831ba chore: system test tooling improvements (#20966)
* chore: fixture tooling improvements

* simplifying the imports of the @tooling/system-tests

* A bit of cleanup

* browser export path for fixture dirs
2022-04-07 15:32:51 -04:00
Jess
3fe5f50e78 feat: embedding mount into the cypress binary (real dependency) (#20930) 2022-04-06 20:12:55 -04:00
Tim Griesser
d19cba873a fix: remove extra bundled electron in 10.0 binary (#20932)
* fix: remove duplicate electron in binary dependencies

* move openProject

* fix test failure

* Decrease the MAX_ALLOWED_SIZE_MB
2022-04-06 11:18:19 -04:00
Alejandro Estrada
e6cbc5ae1e fix: windows build (#20854)
* fix: update icons build to work on windows

* Add rimraf

* Update scripts

* Update script

* Update scripts

* Fix windows migration

* Update postinstall script

* Remove script
2022-04-04 11:12:08 -05:00
Tim Griesser
4f9c0d0730 chore: properly cleanup outdated system-test directories (#20822) 2022-03-30 08:27:42 +10:00
Tyler Biethman
21fd2ebe9c Merge branch 'develop' of https://github.com/cypress-io/cypress into tbiethman/develop-into-10.0
# Conflicts:
#	packages/launcher/package.json
2022-03-29 09:46:08 -05:00
Ryan Manuel
2f862e8add chore: update release documentation and fix interactive release scripts (#20799)
Co-authored-by: Emily Rohrbough  <emilyrohrbough@users.noreply.github.com>
2022-03-28 10:41:56 -05:00
Zachary Williams
2b4649a6e6 another await 2022-03-23 16:18:16 -05:00
Zachary Williams
3548007cb4 Merge remote-tracking branch 'origin/develop' into 10.0-release-merge-develop-03-22 2022-03-22 13:04:59 -05:00
Zach Bloomquist
f2100a8bba test(system-tests): support npm for test projects (#20664) 2022-03-22 13:28:21 +00:00
Lachlan Miller
76129e26af merge in develop to 10.0-release 2022-03-07 10:44:26 +10:00
Mark Noonan
de4cb66050 chore: percy updates (#20380)
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2022-03-06 18:45:48 +00:00
Zach Bloomquist
3c286177cc fix: use unique install cache folders for betas (#20296) 2022-03-04 22:22:39 +00:00
Emily Rohrbough
ef3be70944 chore: update release scripts to work with AWS SSO (#20438) 2022-03-04 12:31:27 -06:00
Tim Griesser
92eac2f67e feat: Error standardization (#20323)
* refactor: reworking client-side error shape

* feat: add the CodeFrame to baseerror

* consolidate baseError handling, type fixes

* Fix UNIFY-1164 w/ test cleanup to avoid intercepting

* fix types, cleanup based on review / Brian

* fix: imports / types / tests

* cleanup tests, fix TSError location, add reinitializeCypress mutation

* fix: show correct stack trace file name (#20410)

* Improve comments for regexes / TSError capture

* feat: Add codeframe to error, address PR comments

* update snapshot

* change codeframe impl, per Brian's request

* Attempt to fix test flake

Co-authored-by: ElevateBart <ledouxb@gmail.com>
Co-authored-by: Alejandro Estrada <estrada9166@hotmail.com>
2022-03-02 18:03:52 -05:00
Zach Bloomquist
19b1b1038c Merge branch '10.0-release' into merge-develop-2-28-22 2022-02-28 15:40:53 -05:00
Barthélémy Ledoux
9f624b4f7a feat: update icons with new design (#20338)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
2022-02-28 12:28:14 -06:00
Zach Bloomquist
458a88de7e Merge remote-tracking branch 'origin/develop' into merge-develop-2-28-22 2022-02-28 10:54:35 -05:00
Zachary Williams
7f8a810e3d fix(launchpad): scaffold correct config file (#20372) 2022-02-25 17:29:17 -06:00
Zach Bloomquist
ffd3627e43 test: migrate module_api to system tests (#20265)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-02-25 23:12:05 +00:00
Tim Griesser
0c37839fde chore: UNIFY-860 remove all references to Cypress Cloud (#20369) 2022-02-25 15:42:28 -05:00
Zach Bloomquist
95700aed46 chore: fix "cannot find module" in clone-repo-and-checkout-release-branch (#20293) 2022-02-25 15:58:49 +00:00
Tim Griesser
47b1f38f62 Merge branch 'develop' into 10.0-release
* develop: (35 commits)
  fix(deps): update dependency url-parse to v1.5.6 [security] (#20270)
  chore: fix cache keys to include PLATFORM (#20279)
  chore: fix server performance flake (#20271)
  test(system-tests): support docker-based tests against built binary (#20250)
  chore: fix system-test-firefox screenshots_spec flake (#20268)
  chore(deps): update dependency fs-extra to v9 🌟 (#19939)
  fix: Wait for child process to be ready (#19792)
  fix: treat form-data bodies as binary (#20144)
  test: replace cypress-test-example-repos coverage + remove bump (#20186)
  fix(driver): update wrapErr to ignore number and boolean values (#20172)
  release 9.5.0 [skip ci]
  chore: Update Chrome (stable) to 98.0.4758.102 (#20192)
  chore: enable volar.takeOverMode
  Add span names, merge develop
  fix: Update `.type(' ')` to not emit clicks when the keyup event has been prevented (#20156)
  test: remove redundant "other projects" CI jobs (#20133)
  chore(driver): move cy.focused and cy.root into their own files (#20054)
  Move sending root event to own script
  chore: release @cypress/vue-v3.1.1
  chore: release @cypress/react-v5.12.3
  ...
2022-02-22 12:40:07 -05:00
Zach Bloomquist
ad2f4de844 test(system-tests): support docker-based tests against built binary (#20250)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-02-18 23:37:22 +00:00
Brian Mann
da48210216 Merge branch '10.0-release' into 10.0-release-merge-4b50f9ee 2022-02-18 15:11:59 -05:00
Tim Griesser
6727893b1e fix: additional cleanup of errors following merge 2022-02-17 09:59:30 -05:00
Zach Bloomquist
42b0fce6dc test: replace cypress-test-example-repos coverage + remove bump (#20186) 2022-02-16 18:53:04 +00:00
Barthélémy Ledoux
31376a6bb6 test: use async copy for scaffolding project (#20181) 2022-02-14 16:21:52 -06:00
BlueWinds
ac1faf4965 Merge remote-tracking branch 'origin/develop' into issue-19403-perf-reporter-changes 2022-02-14 08:19:17 -08:00
Tim Griesser
678bedeca6 Merge branch 'develop' into 10.0-release
* develop:
  feat: gray out the path to system node in cypress run header (#20121)
  feat: redesign server errors (#20072)
  test: fix awesome-typescript-loader test and remove test-binary job (#20131)
  fix: Fix issues with stack traces and command log in Chrome 99 (#20049)
  fix: `cy.type(' ')` fires click event on button-like elements. (#20067)
  fix: `change`, `input` events are not fired when the same option is selected again. (#19623)
  build: publish vue3 on latest (#20099)
  chore: release @cypress/webpack-preprocessor-v5.11.1
  chore: release @cypress/webpack-dev-server-v1.8.1
  fix: detect newly added specs in dev-server compilation (#17950)
  chore: Remove pkg/driver //@ts-nocheck part 3 (#19837)
  chore: set up semantic-pull-request GitHub Action (#20091)
  chore: release @cypress/react-v5.12.2
  fix: remove nullish coalescing in js files to support node 12 (#20094)
  docs: update @cypress/webpack-preprocessor links (#19902)
  refactor: use aliases instead of meta (#19566)
2022-02-13 15:36:48 -05:00
Zach Bloomquist
a1e6d5cad1 test: remove redundant "other projects" CI jobs (#20133)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-02-11 18:18:53 +00:00
Brian Mann
29841f32b9 feat: redesign server errors (#20072)
* chore: rename errors.js -> errors.ts

* refactor: type safety on errors

* refactor: add err_template for consistent error formatting

* fix a few system tests

* fix tests; update snapshots

* Fix types

* normalize snapshot - remove chalk ansi colors

* more unit test fixes

* more system test fixes

* circleci build

* backtick always in stdout, fix error formatting and failing snapshots

* refactor: create @packages/errors

* fix import

* fix import

* fixing build / tests

* remove extraneous file

* move warnIfExplicitCiBuildId

* fix build / tests

* Fix

* error, type fixes, documentation, standardize child process error serialization

* fix import

* build errors on install

* wrote specs generating visual images of all errors

* remove unused dep

* sanitize stack traces

* add image diffing

- if base images don't exist, create them
- if base images don't match and local, overwrite them, if in CI throw
- if base images are stale and local, delete them, if in CI throw

* remove Courier New + MesloLGS NF font

* type fixes, remove Bluebird, general cleanup

* TS Cleanup

* skip typecheck on tests for now

* yarn.lock

* fix @types/chai version

* fix yarn.lock

* Different version of mocha types so it isnt patched

* errors spec snapshot

* CI fix

* fixes

* store snapshot images in circle artifacts

* dont change artifact destination prefix

* use Courier Prime

* antialias the text

* decrease pixelmatch threshold, fail in CI only when changed pixels > 100

* increase timeout

* overflow: hidden, remove new Promise, add debug logging

Co-Authored-By: Tim Griesser <tgriesser@gmail.com>

* run unit tests w/ concurrency=1

* unique window per file

* disable app hardware acceleration + use in process gpu + single process

* do not do image diffing

- conditionally convert html to images
- store html snapshots
- do not store images in git

* store snapshot html

* Merge branch 'tgriesser/chore/refactor-errors' of https://github.com/cypress-io/cypress into tgriesser/chore/refactor-errors

* remove concurrency

* fix assertion

* fixing ci

* Link in readme

* pass the browsers to listItems

* fix: build @packages/errors in CI, defer import to prevent errors locally

* Merge branch 'develop' into tgriesser/chore/refactor-errors

* develop:
  chore: fix cypress npm package artifact upload path (#20023)
  chore(driver): move cy.within logic into it's own file (#20036)
  chore: update automerge workflows (#19982)
  fix(selectFile): use target window's File/DataTransfer classes (#20003)
  chore: Update Chrome (stable) to 98.0.4758.80 and Chrome (beta) to 98.0.4758.80 (#19995)
  fix: Adjust ffmpeg CLI args for performance (#19983)
  build: allow unified to run cypress on Apple Silicon (arm64) (backport #19067 to 9.x) (#19968)

* fix run-if-ci.sh

* remove dead code

* Mark the .html files as generated in gitattributes

* fix running single error case, slice out more of the brittle stack

* remove additional brittle stack line

* firefox web security error

* nest inside of describe

* reformat and redesign errors

* more error cleanup and standardization

* additional formatting of errors, code cleanup, refactoring

* update ansi colors to match terminal colors

* cleanup remaining loose ends, update several errors, compact excess formatters

* fix types

* additional formatting, remove TODO's, ensure no [object Object] in output

* add test for 412 server response on invalid schema

* update unknown dashboard error on creating run

* use fs.access instead of fs.stat for perf

* added PLUGINS_FILE_NOT_FOUND error

- separated out from PLUGINS_FILE_ERROR
- add system tests for both cases
- update snapshots
- remove stack trace from PLUGINS_FILE_NOT_FOUND fka PLUGINS_FILE_ERROR

* add plugins system test around plugins synchronously throwing on require

* remove forcing process.cwd() to be packages/server, update affected code

- this was a long needed hangover from very old code that was doing unnecessary things due to respawning electron from node and handling various entrypoints into booting cypress
- this also makes the root yarn dev and dev-debug work correctly because options.cwd is set correctly now

* perf: lazy load chalk

* remove excessive line since the file exists but is invalid

* fix types

* add system test when plugins function throws a synchronous error

* create new PLUGINS_INVALID_EVENT_ERROR, wire it up correctly for error template use

- properly pass error instance from child to ensure proper user stack frames
- move error display code into the right place

* only show a single stack trace, either originalError or internal cypressError

* push error html snapshots

* fix tests, types

* fix test

* fix failing tests

* fix tests

* fixes lots of broken tests

* more test fixes

* fixes more tests

* fix type checking

* wip: consistent handling of interpolated values

* feat: fixing up errors, added simple error comparison tool

* wrapping up error formatting

* Fixes for unit tests

* fix PLUGINS_VALIDATION_ERROR

* fix fs.readdir bug, show rows even if there's only markdown formatting [SKIP CI]

* when in base-list, show full width of errors

* Fix type errors

* added searching and filtering for files based on error name

* fix: system tests

* updated NO_SPECS_FOUND error to properly join searched folder + pattern

- join patterns off of process.cwd, not projectRoot
- highlight original specPattern in yellow, baseDir in blue
- add tests

* fixes failing tests

* fix test

* preserve original spec pattern, display relative to projectRoot for terminal banner

* make the nodeVersion path display in gray, not white

* fix tests, pass right variables

* fix chrome:canary snapshots

* update snapshots

* update snapshot

* strip newlines caused by "Still waiting to connect to {browser}..."

* don't remove the snapshotHtmlFolder in CI, add additional verification snapshots match to error keys symmetrically

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update gitignore

* fix snapshot

* update snapshot html

* update logic for parsing the resolve pattern matching, add tests

* update snapshots

* update snapshot

* update snapshot

* update snapshot

* fix failing test

* fix: error_message_spec

* fix snapshot

* run each variant through an it(...) so multiple failures are received

* add newlines to multiline formatters, add fmt.stringify, allow format overrides

* stringify invalid return values from plugins

* move config validation errors into packages/errors, properly highlight and stringify values

* add component testing yarn commands

* fix the arrow not showing on details

* fix typescript error

* fixed lots of poorly written tests that weren't actually testing anything. created settings validation error when given a string validation result.

* fixes tests

* fixes tests, adds new error template for validating within an array list (for browser validation)

* remove dupe line

* fix copy for consistency, update snapshots

* remove redundant errors, standardize formatting and phrasing

* more formatting

* remove excess snapshots

* prune out excessive error snapshot html files when not in CI

* add missing tests, add case for when config validation fails without a fileType

* fixes test

* update snapshot

* update snapshot

* update snapshot

* sort uniqErrors + errorKeys prior to assertion - assert one by one

* add system test for binding to an event with the wrong handler

* fixes tests

* set more descriptive errors when setting invalid plugin events, or during plugin event validation

* remove duplicate PLUGINS_EVENT_ERROR, collapse into existing error

* use the same multiline formatting as @packages/errors

* standardize verbiage and highlighting for consistency

* fix incorrect error path

* fixes tests, standardized and condensed more language

* Update packages/errors/src/errors.ts

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update guides/error-handling.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update guides/error-handling.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* added some final todo's

* fix types

Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Tim Griesser <tgriesser@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-02-11 02:06:07 -05:00
BlueWinds
304d8bd73a Make performance-reporter for system tests use get-next-version script 2022-02-07 10:22:04 -08:00
Tim Griesser
703548e16c Merge branch 'develop' into 10.0-release
* develop:
  chore: fix cypress npm package artifact upload path (#20023)
  chore(driver): move cy.within logic into it's own file (#20036)
  chore: update automerge workflows (#19982)
2022-02-06 20:41:57 -05:00
Emily Rohrbough
17f272e9ee chore: fix cypress npm package artifact upload path (#20023) 2022-02-04 12:00:08 -06:00
Emily Rohrbough
e76ab3798f Merge branch '10.0-release' into 99f24863a2-develop-into-10.0-release 2022-01-31 12:15:44 -06:00