Commit Graph

200 Commits

Author SHA1 Message Date
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
Chris Breiding 36866da64d Error Improvements (#6724)
* redesign and improve reporter error display

- add markdown support
- collapse stacktrace
- separate docs url and add link in reporter

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* $utils -> $errUtils

* derp

* serializeError -> wrapErr

* cloneErr -> makeErrFromObj

* yarn.lock

* fix unit tests

* move err-model

* fix styles

* fix/improve error logging

* fix non-converted bits

* transfer missed changes

* fix issues

* remove obselete spec

* make type test more reliable

* use should, get retries

* update snapshots

* update e2e network error test

* update more snapshots

* update error whitespace

* update snapshot

* try something out

* nevermind

* fix tooltip

* add some logging

* remove whitespace

* remove spying on window

* update snapshot

* fix test

* update snapshot

* fix merge: snapshot stacktraces

* fix noStackTrace and update snapshot

* update snapshot

* fix yarn.lock

* don't show diff if retrying an existence error

* url -> URL

* don't add newline after docs url and update a few snapshots

* keep opening stack trace from collapsing test

* remove unnecessary global cy reference

* fix tests

* put e2e timeout increase back in the right spot for exit: false

* don't show diff when assertion contains an element

also, keep mocha from messing up extracting error name when it includes a colon

* use backticks for hook error title

* fix appending error message when original message is falsy

* don't show diff on existence failures

* update snapshots

* fix finish/done being called twice due to not returning

* prevent error print button click from propagating

* use correct error methods and remove need for workaround

* create better abstraction around creating cypress error from path, refactor

* fix throwErr and tests

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
2020-03-17 11:03:56 +06:30
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
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
Chris Breiding 14c84496f1 Upgrade front-end dependencies (#6522)
* upgrade front-end deps

* fix react errors/warnings
2020-02-21 16:49:14 -05:00
Brian Mann 1069310899 extract out ui-components dropdown (#6452)
* extract out ui-components dropdown

Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>

* yarn.lock changes

* fix issues with desktop-gui dropdown

* use ui-components dropdown in runner no-automation

* fix desktop-gui user dropdown

* fix tests

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2020-02-14 09:50:48 -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 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>
2020-02-06 10:52:13 -05:00
Zach Bloomquist 0e82cde8d9 Update browser types (#6254)
* update browser types and list

* add todo

* first pass of changes

* remove 'server' mode, since it is unused

* use foundbrowser type for eletron definition

* fix server unit tests

* update --browser arg to allow name:channel

* improve backwards compatibility impl

* update 3_config_spec snapshot

* fix 2_headless_spec

* fix 5_stdout_spec

* update browser icon stuff

* update 5_spec_isolation_spec snapshot

* Chrome Canary => Canary

* update user-facing types

* fix displayName type

* add debug logs

* fix cypress_spec

* taps

* update config.json
2020-01-31 12:58:12 -05:00
Chris Breiding c491a3eda5 Merge branch 'develop' into v4.0-release 2020-01-29 12:47:11 -05:00
Chris Breiding c4cbb15be9 Update browser icons (#6230)
* fix images in runner

* fix webpack not liking resolve: lodash + lodash/fp

* fix mobx deprecation warnings

* use real images for browser icons

* revert runs.json fixture

was only using changed values for screenshot purposes

* vertically and horizontally align browser icons in nav dropdown.

* Add edge browsers to fixture

* Add tests and icon support for Edge and Firefox variation browsers

* Fix icons resolution for retina displays

- make tests less strict to changes in icon size or extension

* Address situation where user was undefined in test runs.

* Fix vertical alignment of icons in runs list + add more icons to fixture

* Fix size of browser-icons in automation error page

* try not using nodeVersion: system

* try removing webpack resolve values

* put back webpack resolve values

* derp

* add tests for browser icon

* add support for firefox dev edition, firefox nightly, and edge canary

* add edge beta, edge dev, and family fallback

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2020-01-27 23:10:26 +06:30
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
Jennifer Shehane 9d239d2b4f Font awesome 5 icon improvements (#5870)
* change fa-sync icons to comparible fontawesome 4 'fa-sync-alt'

* Fix spinner in reporter from being cut off during test run

* Fix some of the stylings of icons to match previous styles more closely.

* fix the main-nav icons losing their color from last commit
2019-12-06 11:25:27 +06:30
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 bbb9a8dbb8 Merge branch 'develop' into v4.0-release 2019-10-30 11:24:02 -04:00
Chris Breiding 0ff6c04ecf upgrade mocha to 6.2.2 2019-10-30 11:23:32 -04:00
Chris Breiding 89c0ed192b fix runner tests
mocking the driver require wasn’t working, so this accomplishes it in another way
2019-10-30 09:37:09 -04:00
Brian Mann 91a4477ad0 replace handlebars with squirrelly (#5521)
* WIP: rip out handlebars and implement with squirrelly

- handle caching ourselves
- TODO: add tests, make sure escaping and all that jazz works

* fixes squirrelly template handling

* only fire mocha events when in run mode

* add unit tests for template engine rendering + caching
2019-10-30 02:21:53 -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
Gleb Bahmutov 94128a97e3 Fix decoding unicode values in the config object passed to the browser (#5451)
* correctly decode runner config

* add comments with original issue

* remove stray branch name to build
2019-10-24 16:52:08 -04:00
Ben Kucera 033689f8ba use typescript in driver (#5383)
* upgrade eslint-plugin-dev to 5.0.0

* more [lint fixes]

* use typescript in driver

* cleanup minor

* remove unneeded file

* mild refactor webpack configs

* fix elements.ts

* fix isTextLike signature change

* fix isType check, fix type_spec

* actually use webpack-preprocessor

* fix isType domUtil

* fix connectors_spec

* cleanup connectors_spec

* address feedback- cleanup, add comments, refac

* answer: no, need index.js
2019-10-18 12:46:46 -04:00
Ben Kucera 653f52dc3c upgrade eslint-plugin-dev to 5.0.0 (#5382)
* upgrade eslint-plugin-dev to 5.0.0

* more [lint fixes]
2019-10-17 11:40:53 -04:00
Ben Kucera abdf436638 simulated mouse fixes, rightclick, dblclick (#3030)
* cleanup type_spec, allow unused-vars for args

* fix missing return

* rename mouse/keyboard

* apply changes on this branch with rename

* temp 07/18/19 [skip ci] type_spec minor changes

* temp 07/19/19 [skip ci]

* temp 07/22/19 [skip ci]

* temp 07/22/19 [skip ci]

* remove accidental spec, use beforeEach visit in click_spec

* add tests for cy.trigger changes

* re-run build

* add typedefs

* temp 08/08/19 [skip ci]

* fix type_spec, click_spec

* fix console table event table logging

* fix spec utils

* fix invalid clicking-into-iframe spec

* address review, cleanup

* temp 09/25/19 [skip ci]

* add test for clicking checkbox, cleanup click_spec

* document mouse click and mouse move algo, adjust mouse move, add test for recursive movement

* cleanup / formatting

* scope the getCommandLogWithText to the active runnable to prevent leakage

* cleanup tests, make values static so tests pass consistently

- use attach listener alias APIs
- remove magic number constants
- fix some incoherent html / script tag stuff

* begin implementation for returning fromAutWindow

- restore original fromWindow algorithm
- begin writing fromAutWindow for calculating red hitbox coordinates
which are layered on the AUT

* move describe block with the others

* refactor actions to DRY up duplicated logic between click/dblclick/rightclick

- tighten up the mouse.js method names, name them consistently

* remove comment

* fix iframe coords and test

* rename fromDocCoords->fromWindowCoords, fix type_spec ux test

* tighten up method, remove unnecessary arg

* add debug logic for retries to console.error() non cypress errors

* renamed fromWindow -> fromElWindow, and fromViewport -> fromElViewport

* handle calculating the fromElWindow coordinates inline

* extract out function for clarity, receive consistent arg names

* cleanup, add lots of comments


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-10-11 18:43:57 -04:00
Ben Kucera f7a3b203af Fix dom highlight dimensions after jquery upgrade (#5299)
* dont use jquery for width/height calculations for dom highlights, put opacity on wrapper element

* add test for inline els

* some final cleanup


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-10-11 16:24:09 -04:00
Ben Kucera 5654680fcd rename .eslintrc -> .eslintrc.json (#5344) 2019-10-10 15:04:25 -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
Ben Kucera 1991b50bc4 fix: switch back to using jquery width/height on element dimens… (#5246)
* fix: switch back to using jquery width/height on element dimensions

* cleanup spec

* minor minor cleanup spec

* fix padding highlight as well

* test refac

* rename expect -> should

* still use innerwidth for window
2019-10-02 12:31:17 -04:00
Brian Mann e5c33fe568 Cleanup jquery pr (#5233)
* deasync failing on node 12.4.0 until its installed manually

* existential operator + comments

* use $dom utils for determining whether arg is valid jquery element

* cleanup and normalize variables to indicate whether they are jquery or not

- micro opt setting const for element accessors

* nvm, don't think its necessary
2019-09-28 22:32:29 -04:00
Zach Bloomquist 49f5b3e80c Introduce --config-file argument (#3246)
* cli, server: introduce --config-file argument

* server: remove unused import

* server: wip

* server: consider --config-file in settings

* server: pass options to settings.read from config

* server: store options in Project class, pass to all settings calls

* server: _initPlugins needs to accept options, for being called from server

* server: accept optional external options in open

* cli: update help snapshots

* server: realizing now that these were written like this so they could be stubbed - removing some unnecessary usages of @options

* cli: pass configFile when it's false

* server: --config-file false and --config-file blah.json work

* server: add unit tests for --config-file

* server: pass configFile to desktop-gui

* desktop-gui: display 'cypress.json' according to --config-file arg

* desktop-gui: add integration tests for --config-file

* cli: add tests for --config-file

* PR changes

* PR changes

* cli: update snapshots

* server: updating error messages

* runner: update cypress.json mention

* fixing name overlap

* server: integration tests for --config-file

* runner: update Header component tests

* cli: fix snapshot

* desktop-gui: fix test

* driver: fixing error messages - not really any visibility to cli args from here so just static strings

* server: update snapshots

* server: update snapshots

* cli: updating snapshot

* driver: how did i miss this?

* add skipped blank line to the snapshot

* fix missing proxy require statement (was lost in merge of develop)...weird

* add module API defs to types

* module API tests

* send better error when config file can't be found

* fix dtslint test

* update cli help to use 'configuration file'

* update snapshot using 7.7.1 in place

* fix failing config_spec

* be.visible

* show custom config file name in driver errors

* add tests for non-default config file in driver error messages

* single-quote config file name

* 🙅 IIFEs 🙅

* 🤦

* fix failing test

* fix failing test, cleanup

* lint

* delete duplicate coffee spec

* Update run.js

* Delete app_spec.js.mp4

* in open mode, only store projects to recents list if 'cypress.json' is the configFile

discussion: https://git.io/JeGyF

* feedback
2019-09-27 10:25:07 -04:00
Jennifer Shehane 2c35402fbe bump jquery to 3.0 (#1229)
* bump jquery to 3.0

* add selector property to the element returned by jQuery query

jQuery v3 has removed the selector property from the returned element,
this commit adds it back, making sure the error messages thrown
include the selector string.

See [jQuery v3 upgrade](https://jquery.com/upgrade-guide/3.0/#breaking-change-deprecated-context-and-selector-properties-removed)

* do not try setting highlight attribute on non-elements

* use jquery v3 on load callback

* another instance of jquery load

* better element check before setting an attribute

* use dom APIs instead of jQuery when unscaling AUT for screenshot

* bump jquery to 3.4.1

* replace instances of $.fn.width/height with respective dom APIs

jQuery 3 changed how it does width and height calculations (it now uses getBoundingClientRect), which takes into account the scaling and returns non-integers. We want the absolute integer value without scaling, so we're better off directly using the DOM properties.

* try should instead of then

* Revert "try should instead of then"

This reverts commit 91fdbde05d.

* try getting rid of borders

* try jquery 3.3.1

* try jquery 3.2.1

* try jquery 3.1.1
2019-09-25 12:16:37 -04:00
Zach Bloomquist 8cde36eacc base64 encode the embedded runner config object so it can't b… (#5155)
* base64 encode the config so it can't be escaped

* update tests
2019-09-17 15:51:15 -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
Ben Kucera 95b4e0d79d fix: fix selector-playground css (#4940)
* fix selector-playground css

* add selector_playground e2e spec

* add notes to webpack import syntax

* add notes to test

* fix runner unit tests: handle webpack imports
2019-08-07 13:37:14 -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
Ben Kucera 7857dac907 [internal] use webpack for builds (#4103)
* 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]
2019-07-18 12:11:27 -04:00
Jennifer Shehane fcabf50cde Do not allow typing into readonly fields. (#4729)
* Do not allow typing into readonly fields.

* fix failing spec + some chaining in cy

* Fix failing specs - refactor test generation.
2019-07-18 14:28:56 +06:30
renovate[bot] fa03fd9a63 chore(deps): update dependency jsdom to version .x 🌟 (#4724)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-07-16 14:21:38 +06:30
renovate[bot] 5ab23f022f chore(deps): update dependency @cypress/eslint-plugin-dev to version 3.3.0 🌟 (#4723)
* chore(deps): update @cypress/eslint-plugin-dev to 3.3.0 🌟

* sort json package.json files + add note to skipped tests
2019-07-16 14:21:08 +06:30
renovate[bot] 3bcf9dd424 chore(deps): update dependency mobx to version .x 🌟 (#4712)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-07-15 19:59:35 +06:30
renovate[bot] 9304b7aab1 chore(deps): Update dependency mobx to version .x 🌟 (#4710)
* chore(deps): Update mobx to 4.12.0 🌟

* update mobx-react packages to be compatible with mobx 4

* replace useStrict with new configure


Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2019-07-15 14:26:36 +06:30
renovate[bot] 325fbf6f63 fix(deps): Update dependency lodash to version 4.17.14 🌟 (#4709)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2019-07-15 12:34:22 +06:30
Ben Kucera 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
2019-07-12 13:59:44 -04:00