* 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>
* feat: set up experimentalUseDefaultDocumentDomain to disallow document.domain overwritting
* use default domain around experimentalUseDefaultDocumentDomain in main iframe and spec bridge iframes. Also adapt CORS policy to use same-origin if experimental flag is set
* run ci
* fix: add insertion of experimental flag where is was needed/missing
* chore: add system test to exercise experimental flag for expected behavior
* fix: fix issues with template updates to conform to squirrelly v7
* fix: update config tests to include new experimental flag
* run ci
* fix: trailing whitespace [run ci]
* chore: update snapshot
* run ci
* fix: update proxy unit tests to account for experimentalUseDefaultDocumentDomain
* run ci
* fix: Allow component tests with special characters in filepath (#25299)
feat: cut over experimental flag to take list of known problematic domains via string/glob pattern
run ci
chore: update system test and fix broken config
* fix: fix server unit and integration tests. integration tests should no longer use google to test against injection as we do not inject document.domain on google domains
* run ci
* run ci
* fix: server integration tests where google documents are expected to receive document.domain injection. Kept test same by changing URL
* run ci
* fix: update server test with mssing unupdated assertions
* run ci
* fix: turn off experimental flag by default while recommending sane defaults to users to configure
* run ci
* chore: fix typings [run ci]
* run ci
* chore: make experiment an e2e option only
* run ci
* chore: address comments in code review
* chore: rename experimentalUseDefaultDocumentDomain to experimentalSkipDomainInjection
* fix regression in shouldInjectionDocumentDomain utility function and add unit tests
* run ci
* chore: rename documentSuperDomainIfExists to superDomain [run ci]
* chore: address comments from code review
* chore: just pass opts through to policyForDomain
* run ci
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
* 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
...
* 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
...
* 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>
* 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>
- 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
* 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>
* renames
* Refactor proxy into own package, implement middleware pattern
don't need these mocha opts anymore
fix test
no more zunder
READMEs
fix test
* pass request by reference
* fix cors path
* Move replace_stream to proxy, concat-stream util in network
* Pin dependency versions
* Revert addDefaultPort behavior
* Add READMEs for proxy, network
* Update README.md
* eslint --fix
* set to null not undefined
* use delete and bump node types
* import cors from package now
* parse-domain@2.3.4
* proxy package needs common-tags
* move pumpify dep
* load through where it's needed, remove unused passthru_stream
* remove unneeded getbuffer call
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* add webpack
* fix build proccess
* fix reporter build and test
* fix reporter test .css
* use apply(window, ...) since strict mode in webpack
* temp 05/13/19 [skip ci] resolver
* temp 05/14/19 [skip ci] webpack w/ root level symlinks
* run ci
* minor fixes
* fix link-packages script
* hopefully fix mac build
* re-add build-prod script in reporter
* fix typo in link-packages script
* fix lint errors
* fix node-version
* namespace files in webpack
* bust circle ci cache
* bust circle ci cache 2
* remove deps
* bust circle ci cache 3
* bust circle ci cache (launcher)
* ok circleci, you win. I will change all the cache keys
* update snapshot: not sure why added stack lines
* add mocha to reporter devDeps
* separate build file for reporter
* remove unneeded code
* node-sass-globbing use relative imports for appveyor
* add debugging for appveyor failure
* node-sass-globbing force unix paths for windows
* node-sass-globbing force unix paths for windows 2
* node-sass-globbing force unix paths for windows in runner
* run ci
* add checksum to packages caches
* bust circle ci cache (sub packages)
* testing code for appveyor env vars
* fix appveyor env vars for branchname
06-00000026
* fix binary build script, smoke test catch errors, include pkg mains
03-0000000a
* build binary in appveyor for this branch
07-00000047
* fix binary unit test, revert mocha upgrade in root, fix e2e specs
02-00000004
* statically replace symlinks at build time, add test, remove proxy packages code
03-00000002
* oops, update snapshot
04-00000049
* bump circle packages cache
02-00000005
* fix path.win32 on windows, add test for it
00-00000058
* for some reason packages ci cache is not including `rebuild-node-sass` in node_modules/.bin, and npm does not recreate .bin links if a node_modules folder already exists. so Im bumping all the npm caches, again
00-00000003
* emit during webpack-dev-server watch mode
02-00000020
* try revert circle.yml
02-0000002f
* try revert everything
03-0000003b
* Revert "try revert everything"
This reverts commit be125b88ff.
* no circle cache now
02-00000013
* remove logging in reporter build
06-00002a41
* Merge branch develop of github.com:cypress-io/cypress into webpack-runner
02-0000089b
* make build scripts DRY
04-00000a7f
* fix missing fonts, better watch mode
06-00003053
* use webpack --progress in watch mode
00-00000582
* move webpack config files into dedicated package
05-000023bf
* build desktop-gui with webpack, use relative scss url()s
03-00001801
* add timings info, fix configs
07-00005582
* enable sourcemaps "eval", fix desktopgui test
04-00005a08
* try 2: fix desktopgui test
01-0000058e
* fix lint
03-00000b10
* fix snapshot (very minor do not worry)
04-000014a4
* code cleanup
00-00007a4f
* try disable devtool
07-0000a97a
* remove cypress:// devtool sourceURL mapping to prevent cross-domain on electron
00-000056e4
* re-enable eval sourcemap in dev and prod
06-000051e6
* code cleanup
02-000056ae
* refactor node-jsdom setup for tests
00-000041a2
* re-enable sourceURL protocol, enable crossorigin script on runner to appease electron
* smoke tests for static assets in binary build script, disable sourceURL protocol mapping, more consistent dev/prod webpack builds
* use cross-env for desktop-gui
* desktop-dui: expect development NODE_ENV during build script (as has been in past)
* fix build script unit test
* fix build script unit test for real
* fix sourcemaps for dev/prod, add comments, add build static asset tests
* add cross-env to runner devDeps
* fix unit tests for build binary script
* fix whitespace
* add postcss autoprefixer + staticAsset tets
* add eslintrc to scripts/unit
* tabs -> spaces
* tabs -> spaces
* fix binary/util scripts
* fix testStaticAssets in build script
* fix extension requiring node socket
* fix unit-test for binary build script
* fix unit test for runner/reporter
* disable sourcemaps/eval in production
* fix disable sourcemaps in prod code
* resort jsons w/ new lint
* linting fixes
* runner/package.json add back rebuild-node-sass
* no circle cache again
* fix circle.yml
* try appveyor again
* fix binary build: remove "timers" from server/package.json.files
* fix testStaticAssets false-positive sourcemap detection (due to diff package)
* fix 2 failing e2e tests (run in chrome for now)
use build-prod scripts in binary-build script
add build-prod scripts to all packages
* a string is no regex
* correct merge: global_mode_spec
* fix all snapshot screenshot dimensions
* fix all snapshot screenshot dimensions (again)
* fix testStaticAssets development -> production
* Revert "fix all snapshot screenshot dimensions (again)"
This reverts commit d9022ef950.
* Revert "fix all snapshot screenshot dimensions"
This reverts commit 4f7628a051.
* helpers/e2e: only normalize screenshot dimensions NOT on electron
* post-task: windows build don't build on this branch
* post-task: un-bump circleci cache
* post-task: bump circleci cache packages/node_modules to v9
* cleanup: fix eol-newline, remove unneeded eslintrc
* bump circleci cache
* run rebuild-node-sass inside webpack build config
* bump circleci cache
* use cache version from env variable on circle
* use custom command to save cache for most packages
* add custom restore cache command
* restore 2 packages separately
* allow passing package path to restore
* pass explicit path to package to restore
* add restore-caches and save-caches
* print name for restoring cache commands
* print name when storing cache
* print .bin when saving cache
* fix path to .bin
* print launcher .bin
* show .bin for desktop-gui
* print bins
* update npm version
* update npm version - try 2
* update npm version - try 3
* remove circleci debugging print commands
* Revert "remove circleci debugging print commands"
This reverts commit 248966efcd.
* add TERM=xterm to Circle
* Revert "Revert "remove circleci debugging print commands""
This reverts commit cf77273b10.
* Revert "add TERM=xterm to Circle"
This reverts commit dc77c94c57.
* remove --serial arg from run all scripts
* add web-config package to cache
* simplify circleci build job
* circleci: try rmrf node_modules/@packages before install
* appveyor: try removing --serial from install script
* Revert "appveyor: try removing --serial from install script"
This reverts commit 7ef619ff30.
* use appveyor from develop
* use preinstall removing subpackage symlinks
fix webpack config typescript errors
fix path to rebuild-node-sass in packages/web-config
assert replace minimum number of symlink requires
* test binary build [build binary]
* fix transformRequires code [build binary]