* server, driver: fixes#886 redefine self + parent to prevent framebusting and clickjacking security measures
- add modifyObjectiveCode config, true by default
* driver: increase timeout for flaky test in CI
* server, driver: moved obstructive code rewriting to the proxy layer, out of JS, providing more comprehensive fix
* server, driver: fixes failing tests, make regexp much more conservative
* server: increase security specificity... down the rabbit hole we go
* server, driver: fixes#1292 relax domain parsing rules and fallback to naive segment parsing to fix local and localhost
* driver: simplify ip address regexp
* electron: upgrade to 1.8.2, node 8.2.1, chromium 59
* server: update snapshots for node
* server: try to debug timeouts for mochawesome
* bump zunder
- node-sass 3.13.1 does not work with Node 8, since we’re upgrading the
project to node 8.2.1, we needed node-sass 4.5.3+. This node-sass dep
was coming from gulp-sass dep in zunder which has since been updated
* server: figured out that fixture scaffolding can cause timeouts
* bump zunder - get fix so that asserts are not prefixed with /
* server: use our own heroku example app
* use cypress/browsers:chrome64 docker image on Circle with Node 8
* update root folder name
* add hash to root cache
* disable permissions test, because cannot run as root
* server: only disable test in CI
* test new binary against other projects
* all: rename cypress-monorepo -> cypress
* scripts: use latest docker container
* server: don't skip as this messes up hooks which cause failures downstream
* driver: bump timeout for zonejs
* server: make tests pass for node 8.2.1 and 8.4.0
* server: pass --cwd from CLI to use when resolving relative paths for various options
- remove unnecessary cwd manipulation in scripts/start
* server: fixes#1159, specs are normalized into an array resolved against cwd
- projectPath is now normalized against cwd as well
* server: move hosts out of CLI args, keep as config only
* server: convert spec array to string on module API
* cli: must ref root package directly
* server: fixes busted specs due to cherry pick
* server: temporary fix for specs being normalized into an array
* server: move around spec flattening earlier
* server: pass absolute path for specs
* server: revert flattening hosts into config temporarily
* server: add correct relative + absolute path to spec
* driver: normalize spec path against project
* driver: skip flaky test for now [skip ci]
* cli: fixes#838 start cypress in dev by routing through the CLI
- matches how we run in production better to keep parity and consistency
* cli: add coerceFalse for clarity
* cli: add global flag, update to work with windows
* server: bring into parity with root scripts
* cli: just execute start script directly to work with windows
* cli: if colors are supported then force them via env vars
- this fixes windows not displaying colors from electron because by
default isTTY is false (due to electron)
* cli: fixes#921 don't ignore stderr, inherit stdio on everything except when linux + xvfb
- filter out stderr messages coming from Xlib or libudev (from xvfb)
* cli, server: force stderr tty so that normalize tty behavior when piping
* server: drop in supports color so debug outputs more colors!
* server: remove empty line
* root: refer to cypress not monorepo
* cli: make util.supportsColor return boolean
* cl: add tests around spawn behavior with forcing colors, tty, and stdio configuration
* cli: handle xvfb onStderrData callback to output debug information
* cli: handle non zero exit code error from xvfb with special message
* server: remove unused file
* server: WIP, start implementing accepting plugin returning promise and yielding config overrides [skip ci]
* server: cleanup the env + environentVariables disaster. simplify and only use 'env'
* server, desktop-gum: rename 'env' to 'cypressEnv' to avoid conflicts, fix failing tests
* server: modify plugins error content to be clearer
* runner, driver: more environmentVariables -> env cleanup
* fixes#509 return the complete configuration object to Cypress.config()
* fixes#1042 enable plugins to return a promise and modify config
* desktop-gui: add 'plugin' override to configuration display
* server: bug fix when plugin cause a project not to open
* desktop-gui: fix for failing e2e test
* server: make errors clearer when plugins crash
* server: fix bug with PLUGINS_FUNCTION_ERROR not sending right arguments
- fix failing tests
- improve plugin error content
* server: fix failing snapshots, preprocessor is invoked for support + spec files
* server: fix tests, don't watch the support file initially
- this was causing a problem where unhandled preprocessor errors were
causing the entire process to hang.
- this was happening because we weren’t properly running support files
through a custom preprocessor initially
* fixes failing tests
* server: (WIP) properly pass in browserName + version to API when creating instances
* server: fixes#854 and failing tests
* server: fix using wrong property on found browser
* fix broken menu specs
* extract browserify code and create preprocessor abstraction
* server: remove unused code
* server: implement logic for importing preprocessor
* server: add eslintrc and ignore test fixtures
* server: implement plugins API
* server: add node_cache module to manage clearing a package and its dependencies
* server: clear plugins file from cache to re-require it
* server: set pluginsFile to absolute path
* server: add debug logging to plugins
* server: watch pluginsFile
* server: throw the right error when requiring plugins file
* server: organize config folders and keys visually
* server: scaffold plugins file
* server: require plugins file via nodeCache.require
* server: update browserify preprocessor name and point to github for now
* server: remove redundant integration tests
* server: always scaffold plugins file, except when falsey
* server: add plugins file test to scaffold spec
* server: always provide util.fileUpdated to preprocessor
* server: update browserify-preprocessor dep
* server: fix integration tests
* server: remove redundant logic
* server: catch errors thrown synchronously by plugins function
* server: reduce chances of flakyness in async test
* driver: fix broken spec
* server: don’t check for dirname of supportFile and pluginFile when we know they’re already a directory
* driver: there is no dist
* server: update default options sent to browserify preprocessor
* server: send config into browserify instead of options
* server: add test around default preprocessor
* server: update browserify preprocessor
* server: refactor events spec to better handle multiple calls to handleEvent
* server: add tests around project:open events
* server/desktop-gui: handle errors when plugins file changes
* server: fix events spec
* server: allow any file types to be spec files
* server: validate config.pluginsFile
* server: remove link to error doc
* server: improve plugins error message
* server: simplify example plugins file
* server: on:spec:file:preprocessor -> file:preprocessor
* server: wrap plugins in a child process
* server: rename specsGlob to testFiles
* server: bump browserify-preprocessor ‘version’
* server: fix references left by merge
* server: fix incorrect function names
* server: fix plugin error serialization
* server: display error if plugins process has an uncaught exception or unhandled rejection
* server: reset domain on reset
* server: exit early on plugin error headlessly
* server: add e2e tests for plugins/preprocessors
* server: remove obselete node cache file
* server: fix integration tests
* server: log plugins error before exiting
* server: use npm version of browserify preprocessor
* server: extract string-splitting function
* socket: use path.join in spec
* server: eslint ignore scaffold files
* server: fix scaffolded plugins file links, add snapshot test
* server: if app_spec runs, cause a failure [skip ci]
- tested locally
* replace gift with plain git commands, close#841
* testing git commands
* working as before
* reworked git command and sha unit test
* removed git module, using @cypress/commit-info
* update to pass the test
* remove one more reference to old git file
* try installing on Windows
* Handle windows setup
- no browser detection on windows yet, just placeholder code
- symlink types
* add appveyor file
* add appveyor windows build
* use execa to run server unit tests
* run server unit tests on appveyor
* ignore root install errors
* upgrade rebuild-node-sass
and work on Json unit test that fails on Windows
* print npm version
before installing, commented out caching node modules in the root
* a few small tweaks for windows support
* fix bin-up in launcher project
use bin-up@1.1.0 for windows support, close#491
* cli: build script on Windows, close#492
* cli: build errors are fatal
* use cross-env in extension
Fixes environment variables on Windows in #490
* extension: fix 3 tests on Windows
1 more broken test remaining
* extension: use EOL before comparing text
* example: update test for Windows
* example: replace build.sh with build.js
Close#488
* remove trailing whitespace
* cli: build script again
* server: work on unit tests for windows
* binary: add windows as build platform
* windows: try building binary
started work on building on CI for windows
* server: pass CI parallel id with API call to create run
* rename parallel-id to group-id
* pass --group to use --group-id or infer groupId from environment
* test group with groupId
* fix integration spec
* remove fs.existsSync in unit test, close#373
* updating an integration test
* remove unlinkSync from an integration spec
* remove only
* make saved_stage async
* switched some tests to async state
* server: fix more state tests
* working on config to async
* change config mergeDefaults to async
* more .mergeDefaults tests updated
* fix config unit tests
* remove only in config unit tests
* fix server unit test
* fix two more tests
* server: maybe all unit tests fixed
* server: handle NPM 3 vs 4 in exit codes
* fix server start
* fix another server startup in test
* server: messaging and promise.try
-use action instead of onBeforeLoad method
-refactored and simplified listeners with callbacks
-simplified setting remote window props
-rename event prefixed with ‘aut’ for clarity