* add retries output to server/reporter, fix mocha pass event order, cleanup
* e2e tests - dont run electron tests in other browsers
* Update readme to reflect how to start server for cypress tests
* fix after merge
* fix .coffee -> .js after merge
* fix attempt.tsx
* fix runnable titles emitted to terminal reporters
* fix more tests: update snapshots, fix 7_record_spec, 8_reporters_spec
* remove styling for 'attempt-error-region' so it's not indented
- This was the older styling before error improvements and is no longer
necessary.
* try 2: fix rerun before/after hooks
* fix runner with only, runner snapshots, lint fixes
* 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
* simplify mocha prototype patches
* fix decaf utils.coffee after merge
* 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
* fix after merge
* minor rename variable
* fix after merge: decaffed files
* 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
* delete old spec
* fix snapshot naming, remove redundant test in reporter_spec
* fix file renames after merge
* rename runner/ snapshot
* update server/unit/reporter_spec snapshot
* update runner/runner_spec snapshot
* rename runner snapshot file
* address feedback: move server reporter snapshot specs out
* address feedback: add comment about exposing globals
* fix test-retries after merging isolated-runner
* fix runner/test helper, update snapshot
* address feedback: split out runner/retries spec, move reporter/ui tests to runner/ui spec (mostly done), various cleanup
* fix scrolling, attempt opening, update snapshots
* fix e2e support file
* fix 5_spec_isolation
* fix mislabeling attempt screenshots
* only add test results prevAttempts if exists
* fix reporter/unit tests, server/unit tests
* remove dead code, fix test isOpen
* update snapshots for retries.mochaEvents, fix snapshot error in state hydration test, remove dead snapshots
* new moduleAPI schema using attempts array, fix wrapping errors from hook retries, update snapshots
* add displayError, null out fields in moduleAPI schema
* change default retries to {runMode:2, openMode:0}
* fix reporter type-check
* upgrade json-schemas, update snapshots
* reformat error.stack to be only stacktrace, update snapshots
* fix stacktrace replacing in 5_spec_isolation
* fix navigation error causing infinite reloading, bump timeout on e2e/8_error_ui
* fix server/unit tests for new schema
* fix reporter/unit tests
* fix reporting duplicate screenshots using cy.screenshot during test retry
* update snapshot for 6_uncaught_support_file_spec
* bump x-route-version: 3
* fix test.tsx collapsible content, css, fix e2e/8_error_ui, e2e projects excluding retries
* fix css, fix padding in runnable-instruments, fix runner/integration tests
* fixup after merge
* fix reporter/runner to work with split hooks
* update api tests, runner/cypress tests, reporter
* fix 5_spec_isolation snapshots, fix runner/cypress errors.spec, fix null reference in test.tsx
* fix e2e/non_root spec, fix type_check, fix reporter/unit tests
* setup percy snapshots in runner/cypress, fix driver/runner test:after:run event, add tests for only,skip in runner/cypress, fix retried css
* add customPercySnapshot
* fix circle.yml
* fix circle.yml 2
* fix circle.yml 3
* add warning for incompatible retries plugin
* add more percy snapshots
* fix firefox screenshot resolution in e2e test
* Fix testConfigOverrides not affecting viewport (#8006)
* finish adding percy snapshots to runner/cypress retries spec, update error msgs, add tests to be fixed
* remove .only
* fixing missing repo argument
* fix testConfigOverrides usage with retries, fix test
* fix issues from previous merge
* add script that can query CircleCI workflow status
* add circleci job to poll
* add retries
* try yarn lock
* retry, percy finalize
* check for current running job
* do not swallow request error
* better print
* use job name from circle environment
* use debug instead
* renamed circle polling script
* refactor circle to conditionally run percy-finalize when env var is available
- pass job-names to wait on as an argument
* use multi-line strings and quote --job-names
- rename —circle-jobs to —job-names
* add comment
* only poll until the jobs to wait for are blocked or running
* fix running hooks at correct depth after attempt fails from hook and will retry, update e2e snapshots
* fix reporter/unit tests, remove unused toggleOpen code
* move custom percy command into @packages/ui-components and apply them to desktop-gui
* halt percy finalize job if env variable is not set
* if only I could code
* update runner/cypress mochaEvent snapshots, fix e2e firefox resolution
* fix css for attempt border-left, fix attempt-tag open/close icon, add color to attempt collapsible dot
* try percy set viewport width
* set default retries back to {runMode:0, openMode:0}
* formatting: add backticks to warning message
* write explicit test for screenshot overwriting behavior, fix snapshots after changing retries defaults
* fix e2e.it.only`
* cleanup whitespace
* update snapshots
* remap module API result, move e2e timing tests from 5_spec_isolation into 7_record_spec, unit test
* fix cypress module API types for new result schema
* build and upload binary for test-retries branch too (linux)
* update module api typedefs for moving screenshot info
* cleanup typedef
* small refactor, add cypress-inspect-brk feat to e2e tests, fix typedefs for moduleapi
* add pre-release PR comment
* fix pre-release commit comment
* rename runner/cypress test
* update retries.ui.spec test titles
* fix after merge: use most recent attempt for before/after hooks
* add suite title to hook error in runner/cypress tests
* fix snapshot
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* remove npmInstall logic in helper/e2e script, force custom reporters to use our mocha
* remove mocha imports specs
* use mocha 7.0.1 in server/reporter, and for custom reporters
* update snapshots for new mocha version
* fix glob in server tests
* remove unneeded e2e/package.json deps
* Detect if NODE_OPTIONS are present in binary; if not, respawn
* Always reset NODE_OPTIONS, even if no ORIGINAL_
Co-authored-by: Andrew Smith <andrew@andrew.codes>
* Exit with correct code # from stub process
* Clean up based on Brian's feedback
* how process.versions is null, i have no idea, but it is
* add repro for invalid header char
* Always pass NODE_OPTIONS with max-http-header-size (#5452)
* cli: set NODE_OPTIONS=--max-http-header-size=1024*1024 on spawn
* electron: remove redundant max-http-header-size
* server: add useCli option to make e2e tests go thru cli
* server: add test for XHR with body > 100kb via CLI
* clean up conditional
* cli: don't pass --max-http-header-size in dev w node < 11.10
* add original_node_options to restore o.g. user node_options
* force no color
* Revert "Use websockets to stub large XHR response bodies instead of hea… (#5525)"
This reverts commit 249db45363.
* fix yarn.lock
* update 4_xhr_spec snapshot
* make 6_visit_spec reproduce invalid header char error
* pass --http-parser=legacy
* still set headers if an ERR_INVALID_CHAR is raised
* add --http-parser=legacy in some more places
* update http_requests_spec
* readd spawn_spec
* improve debug logging
* remove unnecessary changes
* cleanup
* revert yarn.lock to develop
* use cp.spawn, not cp.fork
to work around the Electron patch: 39baf68790/patches/node/refactor_alter_child_process_fork_to_use_execute_script_with.patch
Co-authored-by: Andrew Smith <andrew@andrew.codes>
* Add warning when setting CYPRESS_ENV to non-production value
* Add warning and update error when setting CYPRESS_ENV in config to non-production value
* Update config test/to throw
* we want warning, not throw
* Rename env var to CYPRESS_INTERNAL_ENV + fix warning to actually warn when staging
* update cli snapshot to include new 'info' command
* yarn.lock
* removed the warning from config, is overboard on our own tests 😓
* cleanup from review
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* update docker image to chrome 80 and firefox 72 image
* Use image with compatible 12.8.1 Node version
* update docker script
* improve debug logging of launched browser
* run tests with correct color depth
* force run with new cache version
* revert docker image
* Revert "revert docker image"
This reverts commit 93d03446cc.
* update gitignore
* generate 2048-bit keys
* add script to regenerate certs, if we need to do this again
* update certs (ran regenerate-certs.sh)
* copy, don't symlink - won't work on win anyways
* reregen
* cleanup
* don't use https-pem, it's too smol
see https://github.com/watson/https-pem/issues/3
* decaffeinate: Rename ca.coffee and 11 other files from .coffee to .js
* decaffeinate: Convert ca.coffee and 11 other files to JS
* decaffeinate: Run post-processing cleanups on ca.coffee and 11 other files
* https-proxy decaf cleanup
* wip: ca_version
* add versioning for CA store
* add regenerate:certs script
* add timings to ca_spec
* unneeded patch-package
* fix yarn.lock
Co-authored-by: Zach Bloomquist <github@chary.us>
* clean up server test commands
this mostly restores the pre-yarn behavior:
- passing a file path to a test command runs that file, not all tests
- there is only one test-watch
- there is a "test" command which accepts a pathx
* allow run.js to specify multiple specfiles
* simplify e2e test setup by using globbing
* fix e2e test that has been broken for eternity
* still let users use `test-e2e --spec` syntax
* update server README
* use Promises driver and handle connection errors
* repin marionette-client dep
* --compilers... so our tests run....
* update firefox spec
* fix failing specs from tests not running
* update error with a hint
* fix the other on
* tests
* do not pass mocha again if we are on windows
* seems that we have to run the runner before the execution of the e2e tests
* adjust README according to review
* fix specs
* use debugger protocol for cookie handling in electron
* use latest gulp
* use rimraf instead of gulp-clean
* use electron 3.1.8 and node 10.2.1
* use gulp 4 in packages/static
* fix sendCommandAsync, log Schema.getDomains on CDP connect
* autofill e2e test name [skip ci]
* electron@5.0.7, see what new failures exist
* --no-sandbox for launching Electron
* update cookies logic for electron
* node 12
* update snapshot for new node
* update error message for new node
* stub sendCommandAsync
* only connect to socket if path has been replaced, fixes#4776
* update node-sass to support node 12
* skip wacky socket tests for now
* snapshot
* fix run_plugins_spec snapshot, don't include stack trace
* use --no-sandbox on linux to run as root
* allow sendCommandAsync to resolve
* use euid for root check
* log domains even if undefined
* don't worry about ending 1xx responses immediately anymore
* use --max-http-header-size, change max size from 8kb to 1mb, fix#76
* do not send 502 on failed websocket, just send back ECONNRESET
* update websocket spec port to not collide with other test
* update outdated expect
* Revert "only connect to socket if path has been replaced, fixes#4776"
This reverts commit f179eda5ca.
* update gulp in root
* update https-proxy unit tests
* update network spec to properly close server
* update reporter spec
* update https-proxy-agent to fix node 10.10.0 change
discussion: https://github.com/nodejs/node/issues/24474\#issuecomment-511963799
* only pass --max-http-header-size on node >=12
* use own server-destroy implementation that supports secureConnect events
* oops
* update socket_spec
* electron 6.0.0
* console.table introduced in node 10
* change browserify entry to init.js
* handle edge case when no response body
* console.table added in node 10
* do not exit app when all BrowserWindows are closed
* update e2e snapshots
* value may not be null
* update plugins spec
* correct cookie expiry, use browser.getversion for CDP version check
* fix snapshotting for require stacks
* reorder cookies in spec
* warn when depreated electron callback apis are used
* only report 1 plugin error per process
* cleanup
* node 12.4.0, cypress/browsers:node12.4.0-chrome76 docker image
* update shell.openExternal to promisified
* update dialog.showOpenDialog to promisified
* update webContents.session.setProxy to promisified
* updating native dependencies since we don't need ancient node ABI support anymore
* WIP: switch cookies to simpler, jar-less approach
* WIP: switch cookies to simpler, jar-less approach
* making tests pass
* improve cookie filtering logic
* Remove unneeded Promise.try
* filter what makes it to the extension
* properly re-set superdomain cookies on cross-origin cy.visit
* allow comma-separated list of e2e tests
* sort cookies in order of expiration date, ascending
* updating tests, cleanup
* update tests
* version electron as a devDependency, electron@6.0.1
* cleanup, remove old automation
* cleanup, remove old automation
* bump chokidar to fix win10 + node12 issue
was seeing this on windows:
https://github.com/nuxt/nuxt.js/issues/6035
fixed with version bump
* enable now-supported quit role, re-enable old tests
* don't need that arg there
* remove last deprecated callback electron invocations
* Delete cypress.json
* responding to PR feedback
* cleanup
* invoke
* use 'quit' role
* Use new appMenu role for Cypress menu on mac
* electron@6.0.2
* electron@6.0.3
* remove domain: cookie.domain and see what happens
* remove setErrorHandler
* Revert "remove domain: cookie.domain and see what happens"
This reverts commit 49e916896d.
* add unit tests for cookies
* ci
* fix project-content css
* electron@6.0.4
* fix specs_list test
* electron@6.0.7
* some cleanup
* electron@6.0.9
* Update 8_reporters_spec.coffee.js
* electron@5.0.10 - Chromium 73, Node 12
* cli: fix the STDIN pipe on Windows (#5045)
* cli: pipe stdin
* uggh, here is the actual change
* update cli unit tests
* add unit test
* more permissive check for json to include application/vnd.api+j… (#5166)
* more permissive check for json to include
* add json test for content-type application/vnd.api+json
* cruder solution passes e2e tests locally, so let's go with that
* Remove 'charset' from content-type before checking if JSON
* fix eslint for fixture specs (#5176)
* update eslint to lint files within 'fixtures' in support files
- ignore some edge cases like jquery, jsx and obvious js files we wrote
with broken code
* Fixes from eslint to 'fixtures' files
* Catch env variable with reserved name CYPRESS_ENV 1621 (#1626)
* server: check CYPRESS_ENV variable when merging configs
* catch invalid CYPRESS_ENV value in CLI, close#1621
* linting
* sanitize platform in test snapshot
* linting
* update error message text
* add missing comma
* fix finally merge in JS code
* pass CLI linter
* fix log reference, should be debug
* use correct sinon reference
* update message, show first part in red
* update error message text
* Addresses #2953 (#5174)
* Addresses #2953
* Added proper test for new error message
* Didn't realize it ran this test as well, whoops
* Implementing changes as suggested by @jennifer-shehane
* Fixing tests and error output. Moved the checks to the start of the get command to ensure we always catch improper options
* Removing issue test since the querying spec covers it
* Using coffescript isArray check
* depromisify things that were promisified b/t electron 5 <=> 6
Revert "update shell.openExternal to promisified"
This reverts commit 8b6460d015.
Revert "update dialog.showOpenDialog to promisified"
This reverts commit 5f178b075b.
Revert "update webContents.session.setProxy to promisified"
This reverts commit 727df3a4e5.
* node12.4.0-chrome76 => node12.0.0-chrome75
* fix tests for electron downgrade
* node12.0.0-chrome75 => node12.0.0-chrome73
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* https-proxy: unused file
* server: wrap all https requests that use a proxy
* server: use request lib in ensureUrl if proxy is in use. this makes runs tab work behind a proxy
* electron: pass --proxy-server to app itself, so the embedded github login page works
* cli: first attempt at env vars from windows registry
* cli: api cleanup
* cli: lint
* cli: fix crash on no proxy, add tests
* add desktop-gui watch to terminals.json
* cli: pass along --proxy-source
* electron: pass --proxy-bypass-list too
* server: whitelist proxy* args
* cli: better wording
* desktop-gui: display proxy settings
* extension: force proxy [wip]
* extension: finally, i am victorious over coffeescript
* extension: add -loopback to bypasslist
* extension: revert changes
Revert "extension: force proxy [wip]"
This reverts commit 3ab6ba42a763f25ee65f12eb8b79eb597efc9b11.
* desktop-gui: skip proxysettings if there aren't any
* https-proxy, server: proxy directConnections using https-proxy-agent
* https-agent: pool httpsAgents
* https-proxy: work when they're not on a proxy
* https-proxy: ci - use agent 1.0
* https-proxy: tests
* desktop-gui: hide proxy settings when not using proxy
* https-proxy: pass req through to https-proxy-agent callback
* cli: use get-windows-proxy
* desktop-gui: always show proxy settings
* server: use get-windows-proxy
* electron, server: supply electron proxy config when window launched
* server: fix
* https-proxy: cleanup
* server: clean up ensureUrl
* https-proxy: cleanup
* cli: fix
* cli: fix destructuring
* server: enable ForeverAgent to pool HTTPS/HTTP connections
#3192
* server: updating snapshot
* https-proxy: don't crash, do error if proxy unreachable
* https-proxy:
* get-windows-proxy@1.0.0
* https-proxy: use proxy-from-env to decide on a proxy for a url
* server: fallback to HTTP_PROXY globally if HTTPS_PROXY not set
* server: proxy args test
* cli: add proxy tests
* cli: add test that loadSystemProxySettings is called during download
* cli, server: account for the fact that CI has some proxy vars set
* https-proxy: ""
* cli, https-proxy, server: ""
* desktop-gui: update settings gui
* desktop-gui: cypress tests for proxy settings
* server: strict undefined check
* cli, server: move get-windows-proxy to scope, optionalDeps
* server, cli: use new and improved get-windows-proxy
* cli, server: 1.5.0
* server: re-check for proxy since cli may have failed to load the lib
* server, cli: 1.5.1
* server: NO_PROXY=localhost by default, clean up
* https-proxy: disable Nagle's on proxy sockets
\#3192
* https-proxy: use setNoDelay on upstream, cache https agent
* https-proxy: test basic auth
* https-proxy: add todo: remove this
* server: add custom HTTP(s) Agent implementation w keepalive, tunneling
* server: typescript for agent
* add ts to zunder
* server: more ts
* ts: add missing Agent type declaration
* server: create CombinedAgent
* server: use agent in more places
* ts: more declarations
* server: make script work even if debug port not supplied
* server: begin some testing
* server, ts: agent, tests
* server: test
* server: agent works with websockets now
* server: update snapshot
* server: work out some more bugs with websockets
* server: more websockets
* server: add net_profiler
* https-proxy: fix dangling socket on direct connection
* server: fix potential 'headers have already been sent'
* https-proxy: nab another dangler
* server: update test to expect agent
* https-proxy: fix failing test
* desktop-gui: change on-link
* server: add tests for empty response case
* server: tests
* server: send keep-alive with requests
* server: make net profiler hook on socket.connect
* server: only hook profiler once
* server: update tests, add keep-alive test
* server: only regen headers if needed
* server: move http_overrides into CombinedAgent, make it proxy-proof
for #112
* server: update snapshot
* server: undo
* server: avoid circular dependency
* https-proxy, server: use our Agent instead of https-proxy-agent
* server: add dependency back
* cli: actually use proxy for download
* server, launcher, ts: typescript
* Revert "server, launcher, ts: typescript"
This reverts commit d3f8b8bbb6.
* Revert "Revert "server, launcher, ts: typescript""
This reverts commit 818dfdfd00.
* ts, server: respond to PR
* server, ts: types
* ts: really fix types
* https-proxy, server: export CA from https-proxy
* agent, server, https-proxy: move agent to own package
* agent => networking, move connect into networking
* fix tests
* fix test
* networking: respond to PR changes, add more unit tests
* rename ctx
* networking, ts: add more tests
* server: add ensureUrl tests
* https-proxy: remove https-proxy-agent
* server: use CombinedAgent for API
* server: updates
* add proxy performance tests
* add perf tests to workflow
* circle
* run perf tests with --no-sandbox
* networking, ts: ch-ch-ch-ch-changes
* server, networking: pr changes
* run networking tests in circle
* server: fix performance test
* https-proxy: test that sockets are being closed
* https-proxy: write, not emit
* networking: fix test
* networking: bubble err in connect
* networking: style
* networking: clean p connect error handling
* networking => network
* server: make perf tests really work
* server: really report
* server: use args from browser
* server: use AI to determine max run time
* server: load electron only when needed
Co-authored-by: Brian Mann <brian@cypress.io>
* chore: upgrade commit-info to 2.1.1 in server, close#2848
* chore: using mocked-env to test CI params
* update more CI env tests
* update last CI tests to use mocked-env
* test git commit info from environment variables
* do not crash on undefined when running npm t
* remove duplicate object key to pass linter
* WIP creating a new banner + summary table for runs [skip ci]
* WIP continuing to iterate on new run output, use tables for results [skip ci]
* log -> debug
* switch out 400 -> 412 status code on schema errors
* update humanTime to take short or long formats
* debug the starting argv
* create terminal-size wrapper to return terminal columns + rows
* created custom terminal tables for displaying new stdout results for running multiple specs
- made tables responsive when columns < 100
* add e2e tests around exiting with error when browser cannot be found or specs cannot be found
- instead of creating a run, immediately die without making any requests
- improve BROWSER_NOT_FOUND error message
* strip ansi color codes from terminal spec, use chalk instead of colors
* pass webUrl from recording runs to be able to display URL before tests run
* finished new stdout flow for running specs iteratively
* when webUrl is present, display the recorded run in the header + footer
- move from ‘white’ to ‘reset’
- tighten up intro table
* change results output from "Video Captured" to "Video" to pair with newest config option
* use runUrl, not webUrl, fix white space, ensure that e2e snapshots are accurately normalized
* use console.log, not console.error to capture stdout for dashboard
* e2e tests around logging warnings when cannot record video
* 0 seconds -> X seconds
* Tests Starting -> Run Starting, Tests Finished -> Results
* Started video recording -> hr line break
* All Done -> Run Finished
* evenly space stdout section headers
* add a new line when exiting early from bundle errors
* sanitize stdout better, replace duration seconds, etc
* update all the various e2e stdout snapshots
* ensure that COLUMNS env is set to 100 for snapshots to pass
* better logging for env var
* env -> stdout
* store as string
* remove columns
* echo columns
* add columns back in
* comment out
* set terminal columns
* cleanup circle.yml [skip ci]
* normalize more result properties for browser, os, cypress
* set columns for server tests
* enforce no colors and correct columns + rows for e2e tests, fix cloning env vars
* update e2e tests for newest stdout
* set env vars for columns + lines for e2e tests, remove stty
* fix snapshots when duration is X second, X seconds, or XX seconds
* use process.env.COLUMNS not process.stdout
* ugh
* stringify
* log crap out
* quotes oh my
* fix failing e2e snapshot tests
* fix failing e2e tests
* fix failing integration tests
* fixes failing unit tests
* extract random string to util
* run specs in isolation, aggregate totalFailures, display output per spec, enable globbing for specs
* extract electron app ready into its own module
* WIP: e2e tests around spec isolation, snapshots, stdout, and complete test results
* removed unused and deprecated remove id's feature
* move fs_warn to fs util to promisify an fs singleton
* create a glob singleton util
* cleanup dead removeIds code
* extract files controller specs into its own file
* extract finding specs out of project instance into its own utility with no state
* use glob util singleton
* use fs util singleton
* lots of formatting and cleanup
* fixes failing headless specs
* fixes all failing unit tests
* fixes failing integration test
* WIP: temporarily throw old error msg
* WIP: skip failing --record integration tests for now
* fix failing e2e tests
* 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