* 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: fixes#691, add event for exposing browser launch args
- enable special handling of ‘—load-extension’
- add e2e / integration / unit tests
- handle both chrome + electron cases
* server: iterate on failing tests, don't strip electron options else we lose valuable properties
- add better debugging
* server: fix failing tests, browsers needed
* server: send in a complete browser object for 'before:browser:launch'
- useful for doing conditional things with version and/or path
* add platform and arch to configuration object for #824
* pass platform and arch from config
* test Cypress.platform and Cypress.arch
* add TypeScript definitions for platform and arch
* 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
* server: log some basic info when creating build through api
* send list of specs to API, close#861
* update a few unit tests
* set exact version of typescript and ts-node
* test integeration test
* use bluebird instead of ramba for tap-tap-tapping
* server: find and filter specs by specPattern, return name relative to integration folder, add better integration specs
* server: detect symlinked case in support file search for #118
* server fix problem found by unit test
* add unit test for paths
* correctly determining files in /tmp for a project
* server: cleanup resolving symlinks