* appveyor build for this branch
* don't force install ffmpeg on windows
don't force install ffmpeg on windows
* derp
* fix
* build in appveyor
* oops
* delete using del
* use RMDIR instead of DEL
* only build 32-bit
* build for x64 and x86 windows
* separate win32 and win64
* require lodash
* make electron arch configurable
* cross-compile 32, only run in 64-bit
* force install ffmpeg if necessary
* it's all win10 x64, but we can force it to build for ia32 in x32 mode
* add windows util
* who's idea was it to make whitespace meaningful?
* pass arch to npm install, pass arch to uploader
* add TARGET_PLATFORM
* fun fact: appveyor titlecases env var names
fun fact: appveyor titlecases env var names
* fix: pass args
* use process
* cli: use arch package to send arch to server
* pass TARGET_ARCH to all npm installs
* run-all
* always call getUploadNameByOs
* use the precise version of node, enable both x64 and ia32 arch
* quotes
* uh wat
* move console logs to script because windows
* add yet another env var to install the right node arch
* use x86, not x32
* give ia32 a try, why not
* use platform env again
* and also try x86 again
* remove notion of target_arch since we're using the right node version with arch set correctly
* more comprehensive checks to ensure the arch is correct
* simplify building the binary, do not accept arch as options
* build the binary and test it on this branch
* remove arch, ensure that process.env.Platform is set to x86
* do build the binary unless this is a forked PR
* attempt to verify that this is a 32bit or 64bit windows binary
* remove unused dep
* consolidate commands
* don't install packages in windows - just build the binary
- this avoids needing to reinstall all node_modules and build-js twice
* build the binary on more branches
* cd up appveyor
* ugh
* right logic for whether or not this is a forked PR
* remove unused deps
* fix undefined var
* platformArch
* set in options
* turns out we do have to npm install before building the binary
* options.platformArch
* comment out appveyor build 32bit/64bit verification temporarily
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* cli, server: check for lowercase environment variable too
* server: clean up proxy.ts to not use this
* rename to JS to prevent needing build process for tests to pass
* enable implicit any
* some cleanup, added tests around additional lowercased env vars
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>
* update cli_spec
* linting
* update named snapshot to have 1 to match snap-shot-it v5
* update errors spec
* linting
* update snapshot use in download_spec
* update install_spec snapshot
* linting
* update use of snapshot in unzip_spec
* update snapshot use in verify_spec
* enable all CLI specs
* no need to skip snapshot sorting
* upgrade snap-shot-it to v6 in root
* update snap-shot-it to v6 in packages/server
* need to add build script to transpile
* update cypress_spec snapshot use with names
* adding multiple possible binary names for linux
* windows launcher doesn't consider "binary", so don't pass it
* adding test for multiple binary names
* Stronger typing, clearer variable names
* Stronger typing, clearer variable names
* cleanup
* cleanup
* clean up type- why isn't this being linted?
* Add more aliases (#3217)
* launcher changes to use Browser throughout, also clarifying FoundBrowser/Browser distinction
* wip
* wip
* update tests to expect objects
* removing errant debugger calls
* Fixing tests
* desktop-gui: use displayName for display
* ' -> "
* launcher: add definitions for google chrome beta and unstable
* server: fallthrough to using chrome helper
* server: changes for run mode to pick correct version
* desktop-gui: add displayName to fixtures
* server: isolating bug with runmode
* browser was a string all along
* server: re-promisify browser detection
* launcher: remove chrome-beta for now, needs some more tweaking for that to work 100 percent
* launcher: cleaning up types
* launcher: fix type comflict when filtering browsers (#3258)
* launcher: cast Windows foundbrowsers
* launcher: mapSeries -> map
* launcher: clean up launcher, change 1 call in server to match
* launcher: test that browsers contains what we like it to
* whoops
* server: accept path in runmode
* launcher: changes for detectByPath [wip]
* server: update tests to use new errors
* launcher: error message cleanup
* launcher: detectByPath working with CLI client
* launcher: detectByPath tests
* launcher: cli client for detectByPath
* server: update error msg snapshot
* cli: allow passing --browser to open mode
* server: using --browser=/path/ works in run and open mode!!
* launcher: change displayName of custom browsers
* server: find browser with highest version property by default
* launcher: update tests, clean up types
* server: fix tests
* server: fix tests
* cli: update help snapshots
* launcher: tests
* server: wip
* server, launcher: clean up errors
* server: add unit tests for events
* server: change e2e helper to support custom browser strings in stdout
* server: e2e tests for browser by path
* server: if this break that
* server: clean up and fix? tests
* decoffeeate, entypescriptify
* server: fix test
* cli: fix whitespace
* cli: remove external browser notice
* server: detect a browser to use for the e2e launch-by-path test
* server: make stackTraceLinesRe not match all sentences with 'at' in them
* server, launcher: update 'not found at path' error msg
* server: clean up browser switch
* server: customBrowserPath
* server: update snapshots that were affected by the old stackLineRe
* server: update stubs
* server: update BROWSER_NOT_FOUND_BY_PATH to use error objects
* server: backticks in snapshots break snapshots
* server: forgetting to save without formatting will be my downfall
* server: remove comment
* desktop-gui: make custom browsers chosen
* desktop-gui, launcher: update tests
* release 1.0.3 [skip ci]
* release 2.0.0 [skip ci]
* Add a comment to Issue Template directing questions to be asked in chat. [skip ci]
* release 3.1.0 [skip ci]
* add fix for windows + node11
* add getNode11WindowsFix to the utils
* formatting
* do not convert to the windowsHide to string
* add unit tests
* add unit tests
* add unit tests
* Revert "formatting"
This reverts commit 9ecd31ba8e.
* don't ask to commit package.json version
* release 3.1.1 [skip ci]
* move isPlatform into cli/util
* fix version comparison
* revert accidental merge from master
* Introduce CYPRESS_DOWNLOAD_BASE_URL to specify a base download url instead of download.cypress.io
* rename to CYPRESS_DOWNLOAD_MIRROR
* update spec_helper
* handle colors and platform piping
- pipe stderr to ignore high sierra fixes#1745,
- always pipe windows for utf8 encoding fixes#1143 and #1550
- force color in CI by default #1747
- support NO_COLOR argument #1748
* reset TTY for stdin and stdout not just stderr
* fix for failing tests in ci
* fix failing environment unit tests due to sinon env change
* fix failing integration request specs
* fix failing tests, cleanup cache before each test, not after
* fix failing integration server tests
* wip [skip ci] update
* wip [skip ci] update test
* [skip ci] fix env var
* bump sinon, create helper utility to always throw when a stub is called without being given stubbed behavior
* update failing specs
* fix some error messages
* update snapshot
* warning -> note, add snapshot tests
* change snapshot os.release, test env vars
* 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]
* Fixed typos in errors.js
* Revert "Fixed typos in errors.js"
This reverts commit 99085af24c.
* Fixed typos in errors.js
* Fixed typo in errors spec snapshot
Hopefully tests should be passing now
* Fixed typo in verify spec snapshot
* 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
* 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, server: fixes failing tests
* runner: display css selector helper and highlight on hover
* runner: use unique-selector lib
* runner: eslint auto-fixes
* upgrade zunder to 5.5.1 and update configs
* reporter: add babel deps
* runner/reporter: lock react to 15.6.2
* runner: add highlight w/ tooltip and copy-to-clipboard
* runner/reporter: upgrade react-tooltip to 0.3.1
* server: upgrade browserify-preprocessor to 1.0.2
* cli: eslint auto-fixes
* upgrade zunder to 5.5.2
* runner: add defensive style resets to selector helper highlight
* runner: ensure iframe contents exist before acting on them
* runner: hide selector helper button when tests are loading or running
* runner: use shadow dom for selector helper highlight
* runner: reset state when selector helper is disabled
* runner: rebind selector helper when snapshot changes
* runner: don’t show tooltip when hovering over selector
* runner: integrate playground input into selector helper
* runner: fix mouseover/mouseout for selector
* runner: fix selector clearing
* runner: allow selector area to scroll
* runner: enable switching between get and contains
* runner: refactor method
* runner: add tooltip to selector helper toggle
* runner: focus selector helper input when method changes
* runner: remove references to cypressEnv
* runner: keep selector even if snapshot changes
* runner: persist selector helper state instead of clearing it when things change
* runner: hide method picker when clicking outside of it
* runner: pass model into selector helper
* CSS style changes to selector helper
- merge in changes + fix conflicts
* update close icon to not be so bold
* runner: keep selector helper styles out of main runner styles
* runner: rename playgroundInfo to info
* runner: simplify selector helper model
* driver: restrict more nodes from contains selector
* runner: cleanup
* runner: move selector helper to top
* more style updates for selector-helper
* move arrow to left of cy.
* Added a 'print to console' button
* runner: use fork of unique-selector and accept attribute selectors
* runner: implement print to console
* runner: close selector helper when re-running tests
* runner: improve header responsive design
* reporter: shorten console print message and lengthen duration shown
* more styling for css selector panel.
* style changes off of conversation
* updated main dropdown button
* update colors of input on invalid / no elements to be red
* disable copy to clipboard & print to console buttons if invalid / no elements
* style disabled clipboard & print buttons
* update tooltip on click of 'print to console' to say 'printed!'
* runner: refactor header to use mobx state
* add link to docs help to selector playground
* runner: add tests for header
* runner: use the right button
* runner: add tests for selector helper
* runner: remove unused variable
* runner: focus and select input when selector helper enabled or method changed
* runner: hide tooltip when selector helper is open
* runner: keep highlight from playground unless hovering over aut
* runner: always show selector helper info
* runner: show highlight when hovering over info
* Update SelectorHelper name from old Footer
* move 'selector highlight' behavior into 'highlight button'
* Added tooltip to 'highlight' button.
* runner: some style changes to selector-helper
* runner: do not focus and select input when 'turning off inspect mode'
* runner: fix issue w/ 'close' button on helper not working.
* runner: use Cypress methods for printing elements to console. bring console messages into parity with driver
* driver: revert experimental change to contains
* reporter: fix failing tests
* runner: fix failing tests
* added CYPRESS_SKIP_BINARY_INSTALL env var check before installing
* cli: provide reason binary installation is being skipped
- more linting, why not
* cli: prettify snapshots by removing whitespace at end of line
* cli: pass group and groupId flags, close#455
* upgrade commander to latest
* latest command moved options in help below command
* update tests, make sure -v, --version and version work
* run test one more time
for #701
* working on installing from local binary file
* fix missing return
* enabled skipped zip file test
* test zip file and up in two folders
* test direct zip file install on CircleCI
* Remove artificial delays