Commit Graph

125 Commits

Author SHA1 Message Date
Barthélémy Ledoux 93f83d8613 chore: upgrade fa-free to v6 (#20510) 2022-03-08 13:56:22 -06: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
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
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
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
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
Tim Griesser d0cf250f57 refactor: remove @packages/desktop-gui (#19127)
* chore: Remove references to desktop-gui in CI & scripts

* More path updates

* Remove desktop-gui cypress tests

* remove add:project

* remove begin:auth

* remove close:browser

* remove close:project

* remove external:open

* remove get:current:user

* remove get:orgs

* remove gui:error

* remove get:runs

* remove get:options

* remove get:projects

* remove get:project:statuses

* remove get:project:status

* remove get:dashboard:projects

* remove get:record:keys

* remove get:release:notes

* remove get:specs

* remove get:user:editor

* remove set:user:editor

* remove launch:browser

* remove log:out

* remove on:focus:tests

* remove: on:menu:clicked

* remove open:file

* remove open:finder

* remove open:project

* remove on:config:changed

* remove on:spec:changed

* remove on:project:error

* remove on:project:warning

* remove ping:api:server

* remove ping:baseUrl

* remove remove:project

* remove request:access

* remove setup:dashboard:project

* remove set:project:id

* remove requestAccess

* remove show:directory:dialog

* remove show:new:spec:dialog

* remove updater:check

* remove updater:run

* remove window:open/close

* remove new:project:banner:closed

* remove has:opened:cypress

* remove remove:scaffolded:files

* remove set:clipboard:text

* remove set:prompt:shown

* ipc & static method cleanup

* remove packages/desktop-gui

* bump yarn.lock, standardize webpack version

* bump yarn.lock
2021-11-29 08:58:32 +10: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
userquin 8614e97802 fix(unified-desktop-gui branch): initial installation on windows (#18247) 2021-09-25 14:18:17 -04:00
Ben Kucera 9f9cf9e8b6 chore: fix broken firefox focus tests, bump resource class of chrome-beta job (#18133) 2021-09-21 09:34:48 -04:00
Chris Breiding 55ef4c3a11 chore: Prevent unnecessary files from being included in the binary (#17957) 2021-09-06 21:00:30 -04:00
Tim Griesser e3a5bdf111 refactor: add @packages/resolve-dist to isolate client/server code (#17109) 2021-06-29 12:54:29 -04:00
Lachlan Miller 0b19da80e1 chore(runner): render spec list inline (behind feature flag) (#17069)
* move spec list to shared package

* render and hydrate spec list

* share base store

* deps

* set current spec

* render spec list in e2e runner

* lint

* add design system import

* add deps

* wip: layout

* use dynamic spec list width

* remove debugging code

* feature flag

* fix tests

* do not emit event when feature flag is OFF

* revert CSS

* revert more changes

* whitelist specListWidth

* add test selector

* update feature flag

* improve feature flag

* add tests for inline spec list

* allow using real onSpecWindow in runner integration tests

* update tests

* improve tests

* make feature flag more explicit
2021-06-29 17:11:08 +10:00
Zach Panzarino 400567e8b0 chore: switch fonts to use @fontsource rather than locally maintained version (#16678)
* chore: switch fonts to use @fontsource rather than local version

* Use fontsource for fira instead of custom repo

* Update font weights in reporter

* Update runner ct for fonts

* Fix some issues with runner header

* Update non proxied image

* Try that

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2021-06-08 08:54:40 -05: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
renovate[bot] 9b75852151 chore(deps): update dependency classnames to version 2.3.1 🌟 (#8337)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2021-05-05 14:35:39 -05:00
Ben Kucera 0fce48787c chore: upgrade percy (#16020)
* upgrade percy
* update yarn.lock
* remove percy/healthcheck
* reduce to one percy version
* fix percy for component testing - dont let component runner overwrite spec globals
* fix type-check
2021-04-26 17:40:33 -04:00
Chris Breiding 77b922472c fix: Improve uncaught error handling (#14826)
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2021-03-01 09:23:14 -05: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
Zach Panzarino f4b01394a8 feat: Cypress Studio - record test steps through interacting with your site (#9542)
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2021-01-19 10:23:26 -05:00
Zach Panzarino 3eb3bfa487 build: properly use local npm packages for development and binary build (#14182) 2021-01-05 00:34:13 -05:00
Ben Kucera 1f75c81964 fix: use modern cli compile target, remove unneeded polyfills (#8938)
Co-authored-by: Kukhyeon Heo <sainthkh@naver.com>
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
2020-10-26 10:39:49 -04:00
Zach Panzarino 79494fc080 fix(webpack-preprocessor): update webpack preprocessor for monorepo (#8666)
* update webpack preprocessor for monorepo
2020-09-24 21:08:56 -04:00
James Cannalte 970b9b7ea4 fix: Allow long selectors to scroll in selector playground (#8509)
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
2020-09-14 10:22:24 -04:00
Zach Bloomquist c37896089b feat(net-stubbing): experimental full network mocking support (#4176) 2020-08-31 09:41:47 -04:00
renovate[bot] 6bb99de7b2 chore(deps): update dependency prismjs to version 1.21.0 🌟 (#8226)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-10 16:25:32 +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
Ben Kucera 6c6b23f88f isolated runner changes (#6799)
* isolated runner changes

* more fixes for isolated runner, get runner.spec passing

* fix prev commit add untracked files

* add server reporter.spec.js for testing mocha output

* fix has-binary yarn.lock

* fix spec expected error message

* cleanup snapshot utility - use chai assert fn, add test to runner.spec, pin dep

* remove test-retries related tests

* small cleanup diff utility

* move runner.spec to packages/runner

* fix requiring missing file

* fix circle.yml runner-integration-tests

* update readme

* finish refactor of helpers for isolated runner-integration tests

* restore runner/test/eslintrc

* fix .eslintignore

* temp 04/09/20 [skip ci]

* Update readme to reflect how to start server for cypress tests

* try 2: fix rerun before/after hooks

* temp 04/29/20 [skip ci]

* backport changes from test-retries

* change logic to rerun before hooks after top navigation

* fix windowSize for browser e2e test

* fix windowSize for xvfb chrome in e2e test

* ok fine, just disable screenshots

* fix after merge: decaffed navigation.js

* update server/unit test snapshots

* fix after merge: decaffed aliases.js

* fix usage of cypress --parallel flag in circle.yml

* fix circle.yml integration-tests jobs

* fix decaf related typo

* fix circle.yml separate command for runner-integration-tests

* update runner/integration tests + snapshot after error improvements

* fix runner/integration snapshots for chrome/ff stacktrace differences

* rerun ci

* fix passing --parallel to runner-integration tests

* perf: faster lookup for hooks without runnables

* fix afterAll hook switch logic

* backport to before/after fix

* backport to before/after fix 2

* cleanup from decaf, fix ui/package.json

* update helpers, simplify runner.spec

* fix lint-types errors, flaky spec

* fix noExit passed to e2e test inline options

* cleanup snapshot utility - refactor to use util file

* remove before/after changes

* make cy obj a class instance

* cleanup/unmerge before/after fixes PR...

* more cleanup

* add comment

* fix runner.spec

* cleanup snapshot utility more, cleanup reporter.spec

* minor rename variable

* fix specName in reporterHeader, spec_helper require

* replace reporter specPath usages with spec object from config

* cleanup, fix specs, fix types tests

* fix config spec paths in isolated runner, fix snapshot plugin button

* combine runner.spec.js and runner_spec.js

* fix incorrect merge

* minor minor cleanup

* rename driver/test/cypress to driver/test

* use yarn workspace over lerna for individual package commands

* add error message to driver start

* remove usage of wait-on

* update <reference types/>, import string

* fix driver/readme

* fix readmes after regex replace

* revert wait-on changes

* Revert "revert wait-on changes"

This reverts commit 6de684cf34.

* update yarn.lock

* fix broken path in spec

* fix broken paths in specs with @packages/driver

* move runner/test/cypress into runner/cypress

* start server in pluginsFile in runner/cypress tests

* fix more broken spec paths

* fix broken paths after runner/cypress folder move

* move type definition loading for driver/cypress into dedicated file

* move internal-types to "types" folder, fix driver/index.d.ts

* fix type-check in packages/runner. not exactly sure why

* fix runner type-check by excluding test folder in tsconfig

* bump timeout on e2e/8_error_ui_spec

* update snapshot utility, rename tests in runner/runner.spec, fix README yarn commands

* fix snapshot naming, remove redundant test in reporter_spec

* rename runner snapshot file

* address feedback: move server reporter snapshot specs out

* address feedback: add comment about exposing globals

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2020-06-16 14:17:24 -04:00
Jennifer Shehane d2c38d7ea9 Downgrade react and react-dom to 16.8.6 (#7525)
* downgrade react and react-dom to 16.8.6

* Downgrade react/react-dom in all packages since react can't handle multiple versions installed.
2020-05-30 07:52:41 +06:30
Jennifer Shehane a27bd34df3 Reporter error improvements (#3930) 2020-05-06 12:18:29 -04:00
Chris Breiding 750a0d5dbb Refactor tooltip usage (#6756)
* use same version of bluebird in front-end packages

otherwise the desktop-gui fails to build

* use cy-tooltip class for all tooltips
2020-03-17 12:56:54 -04:00
Kukhyeon Heo ee494d04ee Added TypeScript type checker + Fixed type errors. (#5780)
* Added type_check.js

* Now checks cli, too.

* Ignored a line that should fail.

* Removed cli shims and post-install.

* Updated @types/chai to fix type error.

* Fixed keyboard type errors.

* Updated typescript to 3.7.2 to fix window.Node error in dom/document.

* Removed tsconfig errors that caused type errors in reporter and runner.

* Ignored error test by dtslint. Becaust it's done by type_check.js

* Added npm command.

* Added it to CI.

* Added skipLibCheck option.

* Removed checking chai folder existence.

copy of chai is unnecessary.

* Added 'ignore-progress' option for CI.

* Show success message when type check is finished successfully.

* Use ignore-progress option on CI.

* Moved type definitions from devDependencies to dependencies.

* Fixed new type errors after rebase.

* Updated type errors.

* Removed cli. Because its types are checked by dtslint.

* type_check -> type-check for consistency.

* Updated json-schema.

* Updated blob-util.

* Fix wrong command in CI.

* Revert "Updated blob-util."

This reverts commit e46549af54.
Because it's a breaking change.

* Remove copies of @types if exists.

* Fix stream buffer type error.

* Fix type errors in ui-components.

* Fix type failure.

* Fix lint error.

* Fix type errors

* Regenerate yarn.lock

* Fix type error.

* Fix type failures.

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
2020-03-17 11:01:31 +06:30
Ben Kucera dd51b41ae2 render ansi colors for file:preprocessor error message (#6535)
* show colored spec compile errors in browser reporter
2020-03-10 10:24:11 -04:00
Chris Breiding 14c84496f1 Upgrade front-end dependencies (#6522)
* upgrade front-end deps

* fix react errors/warnings
2020-02-21 16:49:14 -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
Chris Breiding c491a3eda5 Merge branch 'develop' into v4.0-release 2020-01-29 12:47:11 -05:00
renovate[bot] 487bd76e19 chore(deps): update dependency @types/node to version 12.12.21… (#6029)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-12-23 14:20:25 +06:30
renovate[bot] 1dfc81b3ac chore(deps): Update dependency @types/bluebird to version 3.5.2… (#4132)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-12-19 15:03:20 +06:30
Chris Breiding f2600b5e35 Merge branch 'develop' into v4.0-release 2019-12-09 13:46:05 -05:00
Zach Bloomquist 13aa496476 use cross-env in npm scripts so they work on Windows (#5888)
* use cross-env in npm scripts so they work on Windows

* update more cross-envs

* Apply suggestions from code review

Co-Authored-By: Gleb Bahmutov <gleb.bahmutov@gmail.com>
2019-12-05 11:38:03 -05:00
Jennifer Shehane bbd519a54f Upgrade font-awesome to 5+ (#5822)
* Upgrade font-awesome to 5+

- replace all ‘fa’ uses with ‘fas’ or ‘far’ respectively
- rename icons that required renaming
- remove scss font-awesome 4 references and replace with font-awesome 5
- update npm package that is installed

* fix failing spec

* include all the necssary scss

* fix/improve tests

* fix icon references

* fix some icons


Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
2019-12-03 22:33:58 +06:30
Kukhyeon Heo e19bcc038a CI should fail when something went wrong. (#5779)
* Added unit test script wrapper.

* Removed bin-up to make lint-coffee fail.

* Made mocha tests return non-zero value on failure for reporter and runner

* Added empty space to test ci failure.

* remove extra whitespace

* use Promise.delay instead of hand-rolled sleep function

* include root-level tests

* exit with number of failures
2019-11-27 12:41:45 -05:00
Chris Breiding 82c76d767a upgrade sinon to 7.5.0 2019-10-30 14:35:29 -04:00
Chris Breiding 0ff6c04ecf upgrade mocha to 6.2.2 2019-10-30 11:23:32 -04:00
renovate[bot] eb078974fe chore(deps): update dependency cross-env to version 5.2.1 🌟 (#5491)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-10-28 14:47:07 -04:00
renovate[bot] daab2d7075 chore(deps): Update dependency bin-up and is-fork-pr (#5321)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-10-09 17:56:18 -04:00
renovate[bot] 796f2686d6 fix(deps): update dependency @cypress/get-windows-proxy to vers… (#5108)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-09-10 13:33:23 -04:00
renovate[bot] b52209c59f chore(deps): Update dependency @cypress/react-tooltip to versio… (#4861)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-07-29 14:33:46 -04:00
renovate[bot] 9756a0382d fix(deps): Update dependency lodash to version 4.17.15 🌟 (#4784)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-07-23 15:54:46 +06:30