Commit Graph

78 Commits

Author SHA1 Message Date
Jessica Sachs 0a5be72c90 Merge remote-tracking branch 'origin/develop' into 10.0-release 2022-02-23 18:41:58 -05:00
Byeongung Ahn 14d0b93679 fix: poor outgoing network performance on Mac (#20062) 2022-02-23 15:58:06 +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
Brian Mann 73c7631816 fix all the tests that escape "doesn\'t" to use string templates 2022-02-18 16:23:20 -05:00
renovate[bot] 8d28261499 chore(deps): update dependency fs-extra to v9 🌟 (#19939)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: David Munechika <david@cypress.io>
2022-02-18 10:33:27 -06:00
Ryan Manuel c52e07d576 feat: Update version checking logic to query the manifest and ensure ctx.util.fetch can handle a proxy (#20107)
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-02-11 17:00:16 -06:00
Emily Rohrbough f669c101e1 Merge branch '10.0-release' into 1f70b21bc4-develop-into-10.0-release 2022-01-21 15:50:16 -06:00
Chris Breiding edb4642328 chore: Use @typescript-eslint/indent instead of eslint's indent (#19772) 2022-01-19 13:38:16 -05:00
Ryan Manuel ed51bcbdda feat: Set up cypress in cypress (#19602)
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2022-01-14 17:07:07 -06:00
renovate[bot] c45a24044c fix(deps): update dependency node-forge to v1 [security] (#19635)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 12:59:14 -08:00
Jessica Sachs 0975fec79b chore: merging in from develop into 10.0-release (#19148) 2021-11-30 14:32:08 -05:00
renovate[bot] 9bf8bf2212 fix(deps): update dependency @cypress/request to v2.88.10 🌟 (#19099)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2021-11-29 13:59:18 -05:00
Tim Griesser 7c339d41c8 Merge branch 'develop' into 10.0-release
* develop: (52 commits)
  feat: use hoisted yarn install in binary build (#17285)
  fix: compile npm packages for node 12 (#18989)
  fix: show call count even if `cy.stub().log(false)`. (#18907)
  chore: Update TypeScript to 4.4.4 (#18930)
  fix: wrap playground selectors in double quotes if not included (#18442)
  fix: flaky settings_spec test (#18979)
  chore: Update Chrome (stable) to 96.0.4664.45 (#18931)
  fix: Loading of specs with % in the filename (#18877)
  chore: refactor `create` into class `$Cy` (#18715)
  chore: Update Chrome (beta) to 96.0.4664.45 (#18891)
  fix: flaky `system-tests-firefox` job (#18848)
  chore: release @cypress/webpack-preprocessor-v5.10.0
  chore: release @cypress/vue-v3.0.5
  chore: release @cypress/schematic-v1.6.0
  chore: release create-cypress-tests-v1.2.0
  release 9.0.0
  feat: ensure major release
  have conduit app wait on localhost:3000
  fix install-required-node
  use --legacy-peer-deps
  ...
2021-11-20 16:03:53 -05:00
Tim Griesser e4f5b106d4 feat: use hoisted yarn install in binary build (#17285) 2021-11-20 14:19:51 -05:00
Kukhyeon Heo 2a6ded2352 chore: Update TypeScript to 4.4.4 (#18930) 2021-11-19 10:01:23 -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
Emily Rohrbough 99c8d466c8 feat: create config package for config validation (#18589) 2021-11-09 13:19:05 -06:00
Tim Griesser d841e1331f refactor: Data context cleanup & IPC bindings for data push (#18357) 2021-10-11 12:13:41 -04:00
userquin 8614e97802 fix(unified-desktop-gui branch): initial installation on windows (#18247) 2021-09-25 14:18:17 -04:00
Lachlan Miller 23cb12cfc4 Merge branch 'develop' into unified-desktop-gui 2021-08-25 10:03:27 +10:00
Lachlan Miller ab401ecd35 chore: use import type syntax (#17864)
* chore: use import type across repo

* chore: use import type across repo

* chore: use import type across repo

* chore: use import type across repo

* update exports

* update test

* update import type

* update types

* use import type in driver

* correctly export function

* revert test

* remove unrelated code

* revert code

* improve type imports

* override for reporter
2021-08-25 09:11:56 +10:00
renovate[bot] 757a088828 fix(deps): update dependency @cypress/request to v2.88.6 🌟 (#17813)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-23 08:21:48 -05:00
Tim Griesser e2f395e330 feat: Structuring context & schema so it can be used on the client (#17489)
* wip: Structuring context & schema so it can be used on the client

* chore: fix dev mode

* Continuing to restructure graphql patterns

* Cleaning up the server

* Don't hash for now, for vite

* fix for CI

* WIP on integrating with vue

* yarn lock

* no need to return props from setup

* use useResult for more concise and better type safety

* fix regression

* wip: migrate to apollo

* Wip: mostly working with pollInterval

* apollo -> urql

* cleanup

* continuing to cleanup

* fix: updates to tests, strict type checking

* Tests passing

* wip: attempting rename

* adding @packages/graphql

* simplified fragment testing

* fixing build scripts

* remove --inspect-brk

* fix ci scripts

* fix build again

* Fix tests

* Add express as dep to @packages/graphql

* fix packages

* chore(launchpad): minor updates (#17551)

* apply general improvemets from PR comments

* remove unused file

* comment out test for now

* stub out missing story module

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2021-08-02 22:54:33 +10:00
Zach Bloomquist 0e137dff43 chore(tests): skip flaky "detects invalid PEM key passphrase" test (#17413)
Skips flaky test:

```
  1) lib/client-certificates loads cert files detects invalid PEM key passphrase:

      AssertionError: expected [Function: act] to throw error including 'Cannot decrypt PEM key with supplied passphrase (check the passphrase file content and that it doesn\'t have unexpected whitespace at the end)' but got 'Failed to load client certificates for clientCertificates[0]: Cannot parse PEM key: Only 8, 16, 24, or 32 bits supported: 352.  For more debug details run Cypress with DEBUG=cypress:server:client-certificates*'
      + expected - actual

      -Failed to load client certificates for clientCertificates[0]: Cannot parse PEM key: Only 8, 16, 24, or 32 bits supported: 352.  For more debug details run Cypress with DEBUG=cypress:server:client-certificates*
      +Cannot decrypt PEM key with supplied passphrase (check the passphrase file content and that it doesn't have unexpected whitespace at the end)
      
      at Context.<anonymous> (test/unit/client_certificates_spec.ts:386:47)
      at processImmediate (internal/timers.js:462:21)
```

https://app.circleci.com/pipelines/github/cypress-io/cypress/22260/workflows/043dddbc-1095-4a98-bd32-3606e59e65ce/jobs/816365

It seems to be a race condition, but I can't pin down where. Everything is synchronous...

cc @GCHQDeveloper911
2021-07-20 19:08:31 +00:00
GCHQDeveloper911 297599071c feat: Changes for PKI support - #2694 (#15179)
Co-authored-by: GCHQDeveloper911 <GCHQDeveloper911@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Zach Bloomquist <git@chary.us>
2021-07-12 21:09:55 +00:00
renovate[bot] d10694aa8e fix(deps): update lodash to 4.17.21 🌟 (#16406)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-10 11:22:29 -05:00
Adam Gastineau 0ca53c783d chore: TypeScript 4.2.3 (#15646) 2021-04-06 08:21:21 -07:00
renovate[bot] b52ac98a69 feat(deps): update dependency electron to version 12.x 🌟 (#15292)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2021-03-10 15:24:00 +00:00
Brian Mann af26fbebe6 feat: component testing (#14479)
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Dmitriy Kovalenko <dmtr.kovalenko@outlook.com>
Co-authored-by: ElevateBart <ledouxb@gmail.com>
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
2021-02-04 15:45:16 -05:00
renovate[bot] 9be61657f4 fix(deps): update dependency debug to version 4.3.1 🌟 (#14583)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-19 12:21:05 +06:30
Zach Panzarino 3eb3bfa487 build: properly use local npm packages for development and binary build (#14182) 2021-01-05 00:34:13 -05:00
Zach Bloomquist 810a9b4162 fix(net-stubbing): fix waiting on responses with no-body status codes (#9097) 2020-12-02 14:06:46 -05:00
Ben Kucera 19fdf4306a fix: route all https traffic through proxy (#8827) 2020-10-20 12:20:38 -04:00
renovate[bot] f1d4026b03 feat(deps): update dependency electron to version 10.1.3 🌟 (#8406)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <github@chary.us>
2020-09-29 13:54:38 -04:00
Ben Kucera 7ccf59562e fix(runner): fix firefox 'Open in IDE', test against prod builds in CI (#8551) 2020-09-14 12:40:00 -04:00
Jennifer Shehane eac7859fcc fix: NO_PROXY env var no longer be respected over npm_config_noproxy env var (#8295)
Co-authored-by: Zach Bloomquist <github@chary.us>
2020-08-24 15:18:11 -04:00
Jennifer Shehane a882763f08 Merge branch 'develop' into v5.0-release 2020-08-10 20:14:11 +06:30
renovate[bot] 7341476f0f fix(deps): update dependency express to version 4.17.1 🌟 (#8179)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2020-08-06 12:37:37 +06:30
Laís Tomaz 27e8c817d3 Rename configuration option blacklistHosts (#7622)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2020-07-13 15:16:19 +06:30
Brian Mann c72538d189 Fix lodash dupe dep (#7954)
* blow away yarn.lock

* bump lodash to 4.17.19

* reduce binary size again

* bump @types/node to correct version, fix types

* fix react + react-dom types

* add clean command for .ts conversion to .js files

* fix flaky test
2020-07-11 16:34:23 -04:00
renovate[bot] 4618650118 fix(deps): update dependency proxy-from-env to version 1.1.0 🌟 (#7900)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-08 10:40:51 +06:30
Ben Kucera 47faf52e16 internal: use yarn workspace over lerna for individual package commands (#7644)
* use yarn workspace over lerna for individual package commands

* remove usage of wait-on

* fix readmes after regex replace

* revert wait-on changes

* update yarn.lock
2020-06-10 18:31:40 -04:00
Zach Bloomquist 6960f7cd78 Rewrite JS/HTML using AST-based approach (#5273)
* Add winPropAccessor to security.js, remove other replacers

* Add start of Cypress.resolveWindowReference

* Add regexes for dot and bracket access

* Some security_spec tests pass with new injection

* Add resolveWindowReference unit tests

* Old security_spec now passes with resolveWindowReference

* Inject stub resolveWindowReference so proxy still works outside of Cypress

* wip: rewrite HTML + JS with tokenizer

* Move to using esprima + hyntax to rewrite JS + HTML

* remove comment; oneLine makes the whole thing commented

* Fix tests, apple.com edge case

* wip: add getOrSet

* Revert "wip: add getOrSet"

This reverts commit a5c647c00f.

* release 3.5.0 [skip ci]

* use recast to replace window property accesses

* replace assignments to top properly

* fix yarn.lock

* bump deps

* update integration tests

* remove old security ts?

* fix integration spec

* always ignore js interception failure

* use globalThis instead of window

* add experimentalSourceRewriting flag

* restore regex-writer spec

* fix types

* update config_spec

* add source rewriting spec

* cleanup

* simplify rewriting logic, move rules into rewriter package

* create threaded rewriting tool for non-streaming use

* update @packages/rewriter to use threads for async

* use async rewriting where convenient

* add worker-shim.js

* add performance info to debug logs

* properly handle +=, -=, ...

* add proxy, rewriter to unit-tests stage

* cleanup

* use parse5 to rewrite HTML, strip SRI

* update tests

* reorganization, cleanup

* rewrite ALL parent, top identifiers except in a few cases

* handle many JS edge cases

* ensure parse5@5.1.1 is installed

* update yarn.lock

* update tests

* add debugging, add tests

* add attempted repro for .href issue

* implement source maps + extending inline source maps

* update opts passing in proxy layer

* fix sourcemap naming structure

* update tests to account for sourcemaps

* sourcemap tests

* remote source maps work

* comment

* update rewriter tests

* clean up TODOs in resolveWindowReference

* remove @types/nock

* clean up todos in deferred-source-map-cache

* fix rewriter build script

* fix concatStream import

* bump expectedresultcount

* clean up js-rules

* threading improvements, workaround for Electron segfault

* no visit_spec for now

* fix 6_visit_spec

* update MAX_WORKER_THREADS

* add repro for #3975

* cleanup

* cleanup

* make better use of namedTypes and builders

* get rid of the horrific closureDetectionTernary

ast-types keeps track of scope, so it is unneeded

* fix #3975, #3994

* add x-sourcemap, sourcemap header support

* snap-shot-it 7.9.3

* add deferred-source-map-cache-spec

* add tests

* Throw error in driver if AST rewriting fails

* Fix "location = 'relative-url'"

* fix max recursion depth

* slim down some fixtures

* fix window.location usage

* don't mess with `frames` at all

* no integration tests

* skip testing apple.com for now

* update wording: regex-based vs. ast-based

* skip real-world tests for now

* add some padding to process.exit workaround

* fix resolvers_spec

* fix html-spec

* cleanup

* Update packages/rewriter/lib/js-rules.ts

* Update packages/driver/src/cypress/resolvers.ts

* just import find by itself

* privatize typedefs for Cypress.state, remove .gitignore, remove dead code

Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
2020-05-11 12:54:14 -04:00
Zach Bloomquist a09ebc50b7 Fix Domain-specific cookies set on non-public TLDs (#6821)
* use fallback customTlds regex for parse-domain

this ensures that tlds which parse-domain does not recognize can
still work as tlds for the purposes of cookie matching, etc

* add POST tests for Domain=superdomain

* add local.cypress.test to 2_cookies_spec

* move parse-domain, getSuperDomain logic from driver to network

* move test urls to variables

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2020-03-26 10:35:16 -04:00
Zach Bloomquist d810950379 Switch request, request-promise to @cypress/ forks (#6777) 2020-03-19 11:48:24 +06:30
Zach Bloomquist 53be237d11 Fix proxy slowdown with intercepted HTTPS requests (#6705)
* use 2x chrome total time as benchmark

* set TLS minVersion to v1 only if connection already failed with TLS version mismatch

* correct percentile function

* assert at least 1000 requests were made

* setNoDelay on HTTPS-over-HTTPS requests

* allow for tests with HTTPS upstreams to be slightly slower

* try 3x

* add note for add'l multiplier on httpsUpstreamProxy
2020-03-11 17:24:48 -04:00
Jennifer Shehane 2ba53f6837 Better handle reserved key CYPRESS_ENV being set by users to va… (#6437)
* Add warning when setting CYPRESS_ENV to non-production value

* Add warning and update error when setting CYPRESS_ENV in config to non-production value

* Update config test/to throw

* we want warning, not throw

* Rename env var to CYPRESS_INTERNAL_ENV + fix warning to actually warn when staging

* update cli snapshot to include new 'info' command

* yarn.lock

* removed the warning from config, is overboard on our own tests 😓

* cleanup from review

Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
2020-03-06 16:53:48 +06:30
Ben Kucera f77ec01c18 chore:fix ui-components dependencies, web-config deps for yarn (#6534)
- add needed deps in `ui-components` package
- upgrade `@cypress/webpack-preprocessor`
- refactor some eslint code, remove unused eslint scripts
- rename `build-js` scripts to `build-prod` since they'll only need to run when building for prod / checking for tsc errors
2020-02-26 20:21:23 +00:00
renovate[bot] eab801ae3f chore(deps): Update dependency eslint to version 6.8.0 🌟 (#6509)
* chore(deps): Update eslint to 6.8.0 🌟

* fix missing dangling commas for linter

* fix missing dangling commas for linter

* more lint fixes

* yarn lock

Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2020-02-25 00:09:47 +06:30
Zach Bloomquist 648ef18036 make request versions consistent (#6433) 2020-02-12 14:56:52 -05:00