mirror of
https://github.com/cypress-io/cypress.git
synced 2026-05-02 21:10:47 -05:00
@cypress/react-v5.8.0
18 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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> |
||
|
|
d945728e78 | chore: TR-479 Remove decaffeinate tasks (#14586) | ||
|
|
17c9ded463 |
Improve server test scripts (#6567)
* clean up server test commands this mostly restores the pre-yarn behavior: - passing a file path to a test command runs that file, not all tests - there is only one test-watch - there is a "test" command which accepts a pathx * allow run.js to specify multiple specfiles * simplify e2e test setup by using globbing * fix e2e test that has been broken for eternity * still let users use `test-e2e --spec` syntax * update server README |
||
|
|
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 |
||
|
|
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
|
||
|
|
d76123b3d9 |
Add Firefox support (#1359)
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com> Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com> Co-authored-by: Brian Mann <brian.mann86@gmail.com> Co-authored-by: Zach Bloomquist <github@chary.us> Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com> |
||
|
|
79545fc646 |
add printing package folder sizes to the build script (#5978)
- and work around `parse-domain` Jest inclusion to minimize bundle size |
||
|
|
a877474df1 |
Connect to Chrome Remote Interface when launching Chrome and re… (#4628)
* try connecting to chrome remote interface * linting * print CRI targets for better debugging * linting * load empty tab first when connecting to CRI * first load blank page, then navigate * Page.navigate is working * linting * remove title * add mocha banner * more banners * update some server unit tests * update integration test * document how to run single driver spec file * set the focus back on the page before navigating from blank chrome tab * update server unit test * do not store Chrome remote interface reference for now * record video of the Chrome tab using screencast API * use dynamic port to connect to Chrome remote interface * update unit tests * refactoring * wrap chrome remote interface in our interface, limit access to send * resolved merge * fix reference * passing run unit spec * stub canary search for CI to pass * add build step to packages/server * update chrome spec * do not build js on install for server * updated spec snapshots * update 6_visit_spec snapshot * update snapshot for 6_web_security_spec * update snapshot for 3_plugins_spec * update snapshot for 3_user_agent_spec * update snapshot for 5_stdout_spec * update snapshot for 2_browser_path_spec * do not git ignore js files, add note why * update several snapshots with video on Chrome * update visit performance snapshot * add chrome-remote-interface dependency * cleanup coffeescript conversion to JS, fix some type errors, make parallel override clearer * fix failing tests * Fix snapshot - now we do record in Chrome, so warning message is no longer there. * remove chrome warnings about not recording from snapshot * Remove performance tests from 6_visit_spec snapshot * Remove error from snapshot * Add newline back to cy_visit_performance_spec snapshot * Navigate to about:blank * look for blank page url * add note about avoiding Prettier * disable prettier a little more * call chrome remote interface close after each spec * return promise when starting screencast * update failing unit tests, add cri client close test * update integration test * Add verbose debug statements to cri-client * Use connect.createRetryingSocket for CDP connection * record video from chrome browsers * add method for validating browser family * update e2e spec snapshot * update 4_request_spec snapshot * update snapshot for spec 1_commands_outside_of_test_spec * update snapshot for 3_plugins_spec * update snapshot for spec 3_user_agent_spec * try: Always log video capturing errors * update snapshot for 2_browser_path_spec * update snapshot for 2_cookies_spec * better browser family test * update snapshot for 5_stdout_spec * update snapshot for 5_subdomain_spec * Add protocol_spec tests * do not capture video during performance test * Add test for VIDEO_POST_PROCESSING_FAILED warning * use client.on to register screencast callback * cleanup prettier, extract some functions, switch to browser.family * moar cleanup and fixes * add logging to the cri-client so we can see every message sent + received to the cdp protocol * bump bluebird to 3.7.0 for .tapCatch addition * Fix unit tests * WIP: update e2e test to ensure that duration of the video matches what we expect * Test duration of recorded video * Run 6_video_compression in chrome + electron * Cleanup * finish ffmpeg duration verification * Update 8_reporters_spec snapshot * Update CRI close logic to monkey-patch browser.kill * add isBrowserFamily back * make it possible for remote-debugging-port to get overridden * Make CDP timeout 5s; add unit, e2e tests for CDP failure; add user-friendly CDP failure error * Update tests * Use CYPRESS_REMOTE_DEBUGGING_PORT to set CDP port; update CDP error message Co-authored-by: Brian Mann <brian.mann86@gmail.com> Co-authored-by: Jennifer Shehane <jennifer@cypress.io> Co-authored-by: Zach Bloomquist <github@chary.us> |
||
|
|
6ba8d7cc93 |
Electron v5.0.10 (#4720)
* fix specs * use debugger protocol for cookie handling in electron * use latest gulp * use rimraf instead of gulp-clean * use electron 3.1.8 and node 10.2.1 * use gulp 4 in packages/static * fix sendCommandAsync, log Schema.getDomains on CDP connect * autofill e2e test name [skip ci] * electron@5.0.7, see what new failures exist * --no-sandbox for launching Electron * update cookies logic for electron * node 12 * update snapshot for new node * update error message for new node * stub sendCommandAsync * only connect to socket if path has been replaced, fixes #4776 * update node-sass to support node 12 * skip wacky socket tests for now * snapshot * fix run_plugins_spec snapshot, don't include stack trace * use --no-sandbox on linux to run as root * allow sendCommandAsync to resolve * use euid for root check * log domains even if undefined * don't worry about ending 1xx responses immediately anymore * use --max-http-header-size, change max size from 8kb to 1mb, fix #76 * do not send 502 on failed websocket, just send back ECONNRESET * update websocket spec port to not collide with other test * update outdated expect * Revert "only connect to socket if path has been replaced, fixes #4776" This reverts commit |
||
|
|
42cbe20a7d |
chore(deps): update @cypress/eslint-plugin-dev + eslint (#4930)
* chore(deps): update @cypress/eslint-plugin-json + eslint * fix redefine global var |
||
|
|
48393bf128 |
Decaffeinate helper scripts (#4781)
* decaf script setup * update gitignore * fix conflicts, remove decaffeinate script hooks Co-authored-by: Brian Mann <brian.mann86@gmail.com> |
||
|
|
e06ad7828c |
Add ability to zoom in / out in Electron browser (#4728)
* Add ability to zoom in / out in Electron browser
- tested manually also 👍
* Move reload back to dev tools menu
* make sure eslint is enabled
* add globals defined in spec_helper to eslintrc
* remove unused require
* decaffeinate menu files + fix failing test
* fix decaffeinate merge issues
|
||
|
|
e9cb9f4c7e | cleanup menu + spec, enforce eslint autofix on save in vscode, add root to globals | ||
|
|
fbd523615e |
[internal] Lint typescript, json, new eslint rules (#4449)
* temp 07/01/19 [skip ci] main lint files * use lint-staged scripts * fix all auto-fixable eslint errors * manually fix lint issues in files * temp 07/01/19 [skip ci] * bump eslint plugin versions, update circle.yml * [lint fix] remaining js files * update vscode/settings.json * add back stop-only * use stop-only for linting .onlys * fix verify_spec, build_spec * update json plugin * relint & apply corrections * fix appveyor.yml not cleansing env vars (very bad) * dont echo commit message in appveyor script * retry build & * re-add & upgrade lint-staged * update contributing docs * only let stop-only catch staged changes |
||
|
|
b568e82545 |
Do not send requests for SNI server through upstream proxy (#4275)
* add test to ensure that SNI server will never go through proxy * prevent test from false positive * ensure that SNI server requests never go through proxy * e2e test that https-proxy does not pass sni reqs thru upstream * improve debug logging in https-proxy * fix using cwd, not workspaceFolder for terminals manager * remove dead code * stop the debug proxy after each test Co-authored-by: Brian Mann <brian.mann86@gmail.com> |
||
|
|
da61de8479 |
Adding compound debug configuration (#3238)
* Adding compound debug configuration * remove trailing commas from JSON Co-authored-by: Jennifer Shehane <jennifer@cypress.io> |
||
|
|
c1a345dce2 |
Improved proxy support (#3531)
* https-proxy: unused file * server: wrap all https requests that use a proxy * server: use request lib in ensureUrl if proxy is in use. this makes runs tab work behind a proxy * electron: pass --proxy-server to app itself, so the embedded github login page works * cli: first attempt at env vars from windows registry * cli: api cleanup * cli: lint * cli: fix crash on no proxy, add tests * add desktop-gui watch to terminals.json * cli: pass along --proxy-source * electron: pass --proxy-bypass-list too * server: whitelist proxy* args * cli: better wording * desktop-gui: display proxy settings * extension: force proxy [wip] * extension: finally, i am victorious over coffeescript * extension: add -loopback to bypasslist * extension: revert changes Revert "extension: force proxy [wip]" This reverts commit 3ab6ba42a763f25ee65f12eb8b79eb597efc9b11. * desktop-gui: skip proxysettings if there aren't any * https-proxy, server: proxy directConnections using https-proxy-agent * https-agent: pool httpsAgents * https-proxy: work when they're not on a proxy * https-proxy: ci - use agent 1.0 * https-proxy: tests * desktop-gui: hide proxy settings when not using proxy * https-proxy: pass req through to https-proxy-agent callback * cli: use get-windows-proxy * desktop-gui: always show proxy settings * server: use get-windows-proxy * electron, server: supply electron proxy config when window launched * server: fix * https-proxy: cleanup * server: clean up ensureUrl * https-proxy: cleanup * cli: fix * cli: fix destructuring * server: enable ForeverAgent to pool HTTPS/HTTP connections #3192 * server: updating snapshot * https-proxy: don't crash, do error if proxy unreachable * https-proxy: * get-windows-proxy@1.0.0 * https-proxy: use proxy-from-env to decide on a proxy for a url * server: fallback to HTTP_PROXY globally if HTTPS_PROXY not set * server: proxy args test * cli: add proxy tests * cli: add test that loadSystemProxySettings is called during download * cli, server: account for the fact that CI has some proxy vars set * https-proxy: "" * cli, https-proxy, server: "" * desktop-gui: update settings gui * desktop-gui: cypress tests for proxy settings * server: strict undefined check * cli, server: move get-windows-proxy to scope, optionalDeps * server, cli: use new and improved get-windows-proxy * cli, server: 1.5.0 * server: re-check for proxy since cli may have failed to load the lib * server, cli: 1.5.1 * server: NO_PROXY=localhost by default, clean up * https-proxy: disable Nagle's on proxy sockets \#3192 * https-proxy: use setNoDelay on upstream, cache https agent * https-proxy: test basic auth * https-proxy: add todo: remove this * server: add custom HTTP(s) Agent implementation w keepalive, tunneling * server: typescript for agent * add ts to zunder * server: more ts * ts: add missing Agent type declaration * server: create CombinedAgent * server: use agent in more places * ts: more declarations * server: make script work even if debug port not supplied * server: begin some testing * server, ts: agent, tests * server: test * server: agent works with websockets now * server: update snapshot * server: work out some more bugs with websockets * server: more websockets * server: add net_profiler * https-proxy: fix dangling socket on direct connection * server: fix potential 'headers have already been sent' * https-proxy: nab another dangler * server: update test to expect agent * https-proxy: fix failing test * desktop-gui: change on-link * server: add tests for empty response case * server: tests * server: send keep-alive with requests * server: make net profiler hook on socket.connect * server: only hook profiler once * server: update tests, add keep-alive test * server: only regen headers if needed * server: move http_overrides into CombinedAgent, make it proxy-proof for #112 * server: update snapshot * server: undo * server: avoid circular dependency * https-proxy, server: use our Agent instead of https-proxy-agent * server: add dependency back * cli: actually use proxy for download * server, launcher, ts: typescript * Revert "server, launcher, ts: typescript" This reverts commit |
||
|
|
2333d04a54 |
secure cookie error crash (#2685)
- fixes #1264 - fixes #1321 - fixes #1799 - fixes #2689 - fixes #2688 - fixes #2687 - fixes #2686 |