* decaffeinate: Rename browser.coffee from .coffee to .js
* decaffeinate: Convert browser.coffee to JS
* decaffeinate: Run post-processing cleanups on browser.coffee
* temp 02/14/20 [skip ci]
* add beforeEachRestoreRunner to select specs, remove support file hook
* temp 03/03/20 [skip ci]
* fix more specs due to support file change
* fix errored spec
* add isInteractive config to many specs
* update yarn.lock
* use yarn.lock from develop
* fix nested suite configurations
* fix nested suite configurations 2
* force isInteractive in driver/support file
* update more specs to use test config format
* update more specs to use test config format 2
* update more specs to use test config format 3
* update more specs to use test config format 4
* update more specs to use test config format 5
* fix cli/types tests, unit tests
* cleanup
* allow .isBrowser to support array, use .isBrowser for per-test-config
* allow null browser test/suite config value
* temp 04/10/20 [skip ci]
* restore test originalTitle when skip due to browser
* add tests for per-test-config baseUrl
* update .isBrowser error message
* fix rerunning hooks on top navigation
* rename duplicate issue number
* up timeout for server/integration test
* change test to be more specific
* rename TestOptions, add baseUrl test, override xit xdescribe methods
* add tests for xit/xdescribe
* disable video for flaky e2e test
* fix lint-types, e2e snapshot
* try 2: fix rerun before/after hooks
* temp 04/29/20 [skip ci]
* 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
* perf: faster lookup for hooks without runnables
* fix afterAll hook switch logic
* backport to before/after fix
* backport to before/after fix 2
* fix noExit passed to e2e test inline options
* remove extra root afterhook check
* add issue link..twice
* cleanup function to arrows
* remove Cypress object proxying related code for certain utils
* use getTest() as we did previously
* remove Cypress object proxying related code for certain utils
* fix Cypress._RESUMED_AT_TEST access
* fix Cypress._RESUMED_AT_TEST access 2
* fix runner.getResumedAtTestIndex, state accesses
* fix firefoxgcinterval access
* fix arrow function
* fix firefoxgcinterval access
* try a simpler way to fix afterAll hook issue
* fix decaf after merge
* cleanup internal-types.d.ts
* fix internal-types
* fix comment, getTestFromRunnable signature
* remove unneeded lastTestInSuiteLogic
* fix after merge: many decaffed specs, typedefs
* minor cleanup
* fix typedefs: add taskTimeout
* minor typedef fix, fix more specs modifying config()
* fix e2e snapshot
* fix flake: waiting_spec cancel outstanding XHR between tests
* fix flake
* change config mutation logic, add tests, update typedefs
* add env support to testConfigOverride
* fix specs: remove isInteractive override, add to beforeEach
* move testConfigOverride to file
* finish moving local config logic to cy.js
* fix typedefs cypress.d.ts
* fix minor minor dtslint
* minor spec cleanup
* chunk: typescript spec fixes, bind Cypress.$
* apply chunk: typescript spec fixes, bind Cypress.$
* fix stop-only
* fix stop-only 2
* extend the jqueryProxyFn in the constructor
* remove experimental code
* rename spec files for overrides, cleanup
* rename snapshots + tests to match updated test config overrides
* fix firefox flake: navigation_spec
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* Add winPropAccessor to security.js, remove other replacers
* Add start of Cypress.resolveWindowReference
* Add regexes for dot and bracket access
* Some security_spec tests pass with new injection
* Add resolveWindowReference unit tests
* Old security_spec now passes with resolveWindowReference
* Inject stub resolveWindowReference so proxy still works outside of Cypress
* wip: rewrite HTML + JS with tokenizer
* Move to using esprima + hyntax to rewrite JS + HTML
* remove comment; oneLine makes the whole thing commented
* Fix tests, apple.com edge case
* wip: add getOrSet
* Revert "wip: add getOrSet"
This reverts commit a5c647c00f.
* release 3.5.0 [skip ci]
* use recast to replace window property accesses
* replace assignments to top properly
* fix yarn.lock
* bump deps
* update integration tests
* remove old security ts?
* fix integration spec
* always ignore js interception failure
* use globalThis instead of window
* add experimentalSourceRewriting flag
* restore regex-writer spec
* fix types
* update config_spec
* add source rewriting spec
* cleanup
* simplify rewriting logic, move rules into rewriter package
* create threaded rewriting tool for non-streaming use
* update @packages/rewriter to use threads for async
* use async rewriting where convenient
* add worker-shim.js
* add performance info to debug logs
* properly handle +=, -=, ...
* add proxy, rewriter to unit-tests stage
* cleanup
* use parse5 to rewrite HTML, strip SRI
* update tests
* reorganization, cleanup
* rewrite ALL parent, top identifiers except in a few cases
* handle many JS edge cases
* ensure parse5@5.1.1 is installed
* update yarn.lock
* update tests
* add debugging, add tests
* add attempted repro for .href issue
* implement source maps + extending inline source maps
* update opts passing in proxy layer
* fix sourcemap naming structure
* update tests to account for sourcemaps
* sourcemap tests
* remote source maps work
* comment
* update rewriter tests
* clean up TODOs in resolveWindowReference
* remove @types/nock
* clean up todos in deferred-source-map-cache
* fix rewriter build script
* fix concatStream import
* bump expectedresultcount
* clean up js-rules
* threading improvements, workaround for Electron segfault
* no visit_spec for now
* fix 6_visit_spec
* update MAX_WORKER_THREADS
* add repro for #3975
* cleanup
* cleanup
* make better use of namedTypes and builders
* get rid of the horrific closureDetectionTernary
ast-types keeps track of scope, so it is unneeded
* fix#3975, #3994
* add x-sourcemap, sourcemap header support
* snap-shot-it 7.9.3
* add deferred-source-map-cache-spec
* add tests
* Throw error in driver if AST rewriting fails
* Fix "location = 'relative-url'"
* fix max recursion depth
* slim down some fixtures
* fix window.location usage
* don't mess with `frames` at all
* no integration tests
* skip testing apple.com for now
* update wording: regex-based vs. ast-based
* skip real-world tests for now
* add some padding to process.exit workaround
* fix resolvers_spec
* fix html-spec
* cleanup
* Update packages/rewriter/lib/js-rules.ts
* Update packages/driver/src/cypress/resolvers.ts
* just import find by itself
* privatize typedefs for Cypress.state, remove .gitignore, remove dead code
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
* replace deprecated babel-preset-es2015
* use correct name for env preset
* use @babel/cli instead of babel-cli
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
* Add a type for CypressFailedRunResult distinct from CypressRunResult
* add back @example for detecting cy run failure
* remove trailing whitespaces found in dtslint
Co-authored-by: Joseph Weissman <61561354+CypressJoseph@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* add experimental feature for sameSite
* allow experimental descriptions to render markdown
* sameSite support mostly working
* also strip sameSite from setCookie yielded value
* don't use `unspecified` - let browser set default
* add tests
* decaffeinate: Rename cdp_automation_spec.coffee from .coffee to .js
* decaffeinate: Convert cdp_automation_spec.coffee to JS
* decaffeinate: Run post-processing cleanups on cdp_automation_spec.coffee
* cleanup cdp_automation_spec.ts
* update unit tests
* update settings_spec to not render as markdown
* user-friendly error for insecure SameSite=None
* fix styling
* fix markdown renderer
* update types + schema
* use renderInline
* update experiment summary
* bind renderFn to md
* 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>
* 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>
* add check within getFirstStickyPositionParent for $el[0] to exist
- pull out check for undefined or html/body/doc element into a shared
elements method.
* prevent more checks on undefined parents & els causing getComputedStyle to throw
* yarn-lock
* Expand isUndefinedOrHTMLBodyDoc to Cypress.dom + add types
* Add unit tests for isUndefinedOrHTMLBodyDoc method
* yarn-lock
* move 'el[0]' existence check to below other checks (right when it's needed)
* yarn-lock
* don't like 'first time' message if verification is running from 'cypress verify'
* updates snapshots to remove 'first time message' from verify specs
* electron@8.1.0
* set app.allowRendererProcessReuse to true
https://github.com/electron/electron/issues/18397
* Fix taking screenshots in Electron with debug logs enabled
* explicitly use png format for Page.captureScreenshot
* don't need to do Network.enable
i believe this was done because we thought it was needed for Network.getCookies, etc, but it does not seem to be used
* yarn.lock
* remove dead code
* start and stop screencast around electron screenshots
* update debug logging
* cypress/browsers:node12.13.0-chrome80-ff73
* fix unit tests
* debug e2e tests
* detect first available servernum
* electron@8.1.1
* no reuse
* Revert " cypress/browsers:node12.13.0-chrome80-ff73"
This reverts commit 404803a169.
* cypress/browsers:node12.13.0-chrome80-ff74
* Revert "debug e2e tests"
This reverts commit 7a09e3630e.
* Revert "detect first available servernum"
This reverts commit 7ac95072b2.
* get last access timestamps and print with cache versions
* remove done TODO
* start trying to save HTML but only after snapshot text is confirmed
* store cli test output HTML as static pages
* set our color for table heading
* make code readable
* lock file again
* update saved HTML file
* refactor cache spec
* add test with no access time:
* 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>
* add isDetached to type declaration
* add rest of dom function declarations
* remove any type union
* remove duplicate declaration
* add docstrings for documented types
* .js => .ts
* update types + tests
fix ts lint
* add Cypress.dom type tests
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* cli: downgrade chalk
* add job to test NPM on minimum Node version
* forgot to attach workspace
* try updating npm
* try installing npm 5.0.4
* try npm 5.1.0
* skip npm init, just install Cypress
* try using Yarn
* run additional Cypress commands
* print Cypress version
* print Cypress version
* hmm, try different user
* yarn-lock
* back to npm
* print npm version
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
- 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