* develop:
chore(deps): update dependency ssri to 6.0.2 [security] (#19351)
chore: Fix server unit tests running on mac by using actual tmp dir (#19350)
fix: Add more precise types to Cypress.Commands (#19003)
fix: Do not screenshot or trigger the failed event when tests are skipped (#19331)
fix (#19262)
fix: throw when writing to 'read only' properties of `config` (#18896)
fix: close chrome when closing electron (#19322)
fix: disable automatic request retries (#19161)
chore: refactor cy funcs (#19080)
chore(deps): update dependency @ffmpeg-installer/ffmpeg to v1.1.0 🌟 (#19300)
* develop: (52 commits)
feat: use hoisted yarn install in binary build (#17285)
fix: compile npm packages for node 12 (#18989)
fix: show call count even if `cy.stub().log(false)`. (#18907)
chore: Update TypeScript to 4.4.4 (#18930)
fix: wrap playground selectors in double quotes if not included (#18442)
fix: flaky settings_spec test (#18979)
chore: Update Chrome (stable) to 96.0.4664.45 (#18931)
fix: Loading of specs with % in the filename (#18877)
chore: refactor `create` into class `$Cy` (#18715)
chore: Update Chrome (beta) to 96.0.4664.45 (#18891)
fix: flaky `system-tests-firefox` job (#18848)
chore: release @cypress/webpack-preprocessor-v5.10.0
chore: release @cypress/vue-v3.0.5
chore: release @cypress/schematic-v1.6.0
chore: release create-cypress-tests-v1.2.0
release 9.0.0
feat: ensure major release
have conduit app wait on localhost:3000
fix install-required-node
use --legacy-peer-deps
...
* chore: use import type across repo
* chore: use import type across repo
* chore: use import type across repo
* chore: use import type across repo
* update exports
* update test
* update import type
* update types
* use import type in driver
* correctly export function
* revert test
* remove unrelated code
* revert code
* improve type imports
* override for reporter
* 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>
* 6480: Add feature-policy to problematic headers
* 6480: Create new middleware
* 6480: Fix code placement
* 6480: Add integration test
* 6480: Remove header when no directives left