* chore: [run ci] does further prerequisites for webpack 5:
https://webpack.js.org/migrate/5/#make-sure-your-build-has-no-errors-or-warningshttps://webpack.js.org/migrate/5/#make-sure-to-use-modehttps://webpack.js.org/migrate/5/#update-outdated-optionshttps://webpack.js.org/migrate/5/#test-webpack-5-compatibility
app builds and runs locally. Time to test out in CI and see if buffer or
process need to be polyfilled by the build
* chore: upgrade to webpack 5 and do the bare minimum to get it working
* chore: get @packages/extension working
* chore: add TODOs to finish after webpack 5 update
* chore: update the webpack config for npm/webpack-batteries-included-preprocessor to be webpack 5 compliant
* chore: patch whatwg-url 7.1.0. package 'source-map' uses
whatwg-url@7.1.0 which has a dependency on punycode node expected API.
since punycode is now polyfilled for us implicitly via the punycode npm
package, the API signatures are a bit different
https://github.com/mathiasbynens/punycode.js/blob/main/punycode.js#L101
vs https://nodejs.org/api/punycode.html#punycodeucs2. The patch uses the
punycode npm package expected API and is needed for source maps to work
for cy.origin() dependencies for Cypress.require()
* chore: convert whatwg patch into dev patch as source-map is not installed when building the binary / installing prod dependencies
* chore: only move production level patches into the binary dist directory for yarn install --production
* chore: remove --openssl-legacy-provider code for node versions 17 and over as webpack has been updated to v5
* chore: fix the webpack-batteries-included-preprocessor tests by shimming the correct node globals and built ins
* chore: provide the define plugin and evalDevtoolPlugin again as we need define in order to build the react-dom library correctly in the bundle to not include the development version
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: fix the webpack preprocessor not to change promise references under the hood when compiling the first bundle, as it was causing the webpack preprocessor to hang as the reference itself was different
* chore: fix issues from readFile that were caused by Webpack 5 using 'path-browserify'
* chore: update chrome component testing snapshots to match Webpack 5 changes
* chore: fix mismatched snapshots from webpack 5 update
* chore: use Cypress.Buffer instead of Buffer for selectFile system test to avoid having to polyfill Buffer from webpack
* chore: fix system test webpack path that now includes e2e workspace
* chore: patch enhanced-resolve to properly discover the pnp api for the yarn_v3.1.1_pnp_spec.ts system test. see https://github.com/webpack/enhanced-resolve/issues/263 for more details
* chore: set stats to 'none' for experimentalSingleTabMode to prevent different webpack compiled terminal formatting in the snapshot between local and CI.
* chore: fix node built in tests and configure webpack-batteries-included-preprocessor correctly
* chore: fallback to buffer correctly in config, even though there is no impact due to the provide plugin
* Update binary-cleanup.js to exclude added build dependencies for webpack
5 added by webpack-terser-plugin under the hood
* chore: add stream-browserify to webpack preprocessor batteries included as a dep as its used in the config [run ci]
* chore: make sure process and buffer are installed in the CLI for webpack provide
* chore: build cross platform binaries [run ci]
* chore: fix webpack evalDevToolPlugin instantiation [run ci]
* run all binary jobs [run ci]
* chore: updating v8 snapshot cache
* add find-up to the entry points that need to be kept
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: fix mocha build warnings
* chore: fix STRIPPED_INTEGRITY_TAG import warnings
* chore: add changelog event
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* refactor: break pathTemplate replace logic into multiple lines
* feat: support escape dollar sign in download path template
* feat: support CYPRESS_DOWNLOAD_PATH_TEMPLATE wrapped in quote
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* feat: env to use path params in download url
* feat: change env to url template
* feat: fix snapshot
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
* Fixes inability to download with redirects through a proxy
* lint fixes
* t
* tests are passing
* tests pass and works
* a little cleanup
* oops, @cypress/request
* nuding the ci system
* Fix race condition in verify code
* address comments on pull request
* a test with multiple layers of redirects
* Add tests and mechanism for redirect loop error
* Make informative error message
* Remove environment config option for now
* test assertion pattern
Co-authored-by: David Ihnen <dihnen.ctr@kr.af.mil>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* 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:
* Prevent unzipWithNode from getting called twice
* fix unzip test
* add unit test to check if unzip is called once
* add unzip test for Darwin
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* Bump required node version of cli to 8.0.0+
* Bump chalk to 3.0.0
- previously required Node 8 support
* bump debug to 4.1.1
- Drops Node 4 support, adds Node 10 support
- They mentioned no breaking changes, so we’ll see.
* bump is-ci to 2.0.0
- removes Node end of lives
- supports more CIs for detection
* bump is-installed-globally
- drops support for Node 6 + improvements on detection
* bump log-symbols dep
- requires Node 8
* bump supports-color
- Requires Node 8
* bump untildify - require Node 8
* bump commander to 4.0.1
- require Node 8
- may break some snapshots - they changed some quotes like 'this'
instead of `this'
* bump execa to 3.3.0
- removes Node 6 support
- some breaking changes, but I didn’t find us using any of them on
first pass.
* bump cachedir
* bump fs-extra
Drops various node version support including 6
* bump bluebird
* bump ramda
* WIP: add failing test job with non-root user
* change paths to node user
* print more info
* always use --no-sandbox when starting Electron on non-Windows OS
* add another test job that runs as a root
* use tilda
* use 12.0.0 image
* rename job