* chore(deps): update dependency cross-env to v7
* empty commit
* add or remove the cross-env to each package depending on how its currently used
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* refactor: Update nested groups design
* Update styles
* Enhance command method styling for child elements in the reporter. Updated the CommandDetails component to conditionally apply a class for child commands and added corresponding SCSS styles to display a prefix for child command methods.
* Fix formatting in SCSS for child command styles by adjusting indentation for better readability.
* add chanagelog entry
* Enhance command expander styling by adding a parent class for better layout control and adjusting margin for command number column.
* Update padding for error message styles in SCSS to improve layout consistency.
* Refactor SCSS styles and introduce mixins for gutter alignment and command info padding. Update error component styles for improved layout and consistency. Adjust padding and margins for better alignment across command and error sections.
* Refactor command styles by removing redundant class names and consolidating group indentation styles into a mixin. Update SCSS files to utilize the new mixin for consistent width handling across command and error components.
* Enhance SCSS mixins by adding align-self property for improved layout consistency in command info and group indentation styles.
* Remove redundant align-self property from SCSS mixin for command info and add logging and expectation in Cypress test for improved clarity in UI state tests.
* Use snapshotReporter instead
* Refactor snapshotReporter to dynamically set width based on reporter panel size, improving snapshot accuracy and visibility of UI elements.
* Update snapshotReporter to include sidebar width in percy snapshots, enhancing UI element visibility and accuracy.
---------
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* Refactor existing mounter of assertions - make a CT test for it
* update more styles + add a11y features
* bump vue-icons
* Finish last styles and icons
* Fix logic
* bump shared package icons
* fix test
* update css to be scoped + set all css to initial to clear AUT styles
* add test for getOrCreateHelperDom function
* update tabbing test
* add changelog
* update changelog to include addressed in
* feat: replace tsnode with tsx for parsing user configuration in all cases
* bump ubuntu images from node 18 to 20 as node 18 is not supported in cypress 15 and allows us to not include the 18.19.0 workaround to use --import with tsx inside the ProjectConfigIpc
* fix: issues finding tsx on windows as it needs the file:// protocol as absolute drive paths are not recognized as a file protocol in the node context
* make sure to filter out stack code correctly for windows
* fix: fix flake from windows on reporter menu not expanding (unrelated to this PR and should be merged into develop)
* chore: update changelog with all issues tsx cutover closes
* fix merge conflicts
* chore: add regression tests for cypress projects that previously did not work but now do with tsx
* build all binaries
* chore: address issues from code review
* update changelog
* remove todo comment on testing legacy migration with tsx
* refactor codeFrame calculation into a util function and add a unit test
* updated node versions in project config ipc tests to remove 18 and test threshold / latest values. Removed redundant comments on ts-node.
* chore: add React.FC props and display names so components don't show up as anonymous in react dev tools
* fix: make sure newly added <Command> components call the auto scroll handler in the <Test> component
* Update cli/CHANGELOG.md
* Update packages/driver/cypress/support/utils.ts
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* misc: update some of the dark gray UI to be darker gray for better contrast
* Changelog entry
* add Pending to changelog
* Update other areas of the reporter to be darker gray
* update reporter section variable color
* chore: fix deprecation warnings and refactor react reporter to use functional components with hooks
* chore: update code to reflect feedback from code review
* fix issues with scrollIntoView() on updated component and refactor isOpen logic in collapsible to not attempt to sync state
* fix issues with tests after refactor
* see if event registration fixes windows flake
* chore: add type linting + compilation checks to runner package
* empty commit
* A bunch of tslint fixes
* wow it is building
* Fix issue with CT not mounting correctly with comments within it
* Fix net-stubbing.ct.ts failures
* Fix tslint: disable comment
* move target into compilerOptions
* fix tslint disable comment
* update proxy-logging to undo changes
* standardize the tslint:disable comments
* fix comment
* fix the banner content not displaying and write a test for this situation
* fix ct reference
* put target to es2020
* actually set the property with replaced title
* Update packages/reporter/src/hooks/hook-model.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Fix eslint/tslint settings for system-tests with vue 3
* bump CI cache
* update types/react resolution
* add return
* lint fix
* tslint disable for empty blocks
* exclude dist files from ts linting
* update to exclude all dist folder
* exclude dist file
* change to await
* fix line numbers of stack trace with linting updating vue file
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* breaking: remove support for react 16 and 17 for component testing and move cypress/react18 upstream into cypress/react [run ci]
* update tests / suggestions from code review [run ci]
* chore: update @packages/reporter react from 16.8.6 to 17.0.2 and updates @types/react* packages from 16x to 17x [run ci]
* hoist dependencies up due to peer dep issues with react and the runner/reporter needing to locate the same react (this is dumb)
* update react-18 package to reference types delcared in root (kind of goofy but existing pattern) [run ci]
* correctly look up react instance as __reactInternalInstance no longer exists in react17 [run ci]
* fix failing test now that repo is on react 17 [run ci]
* chore: do the minimal to update mobx from 5 to 6 [run ci]
chore: update mobx-react from v7 to v9 [run ci]
bump cache [run ci]
* do not alias mobx or mobx-react. This causes an issue where webpack, in production mode, bundles the cjs production dependency of mobx (mobx.cjs.production.min.js) into cypress_runner.js (in the runner package), but @packages/app (bundled via vite), bundles mobx.esm.js, which is NOT minimized and is expecting the global store/state set by the app to also not be minimized. [run ci]
* run update on all machines [run ci]
* add changelog entry [run ci]
* fix sync script with updateds npm-packlist
* chore: update lerna from 6.6.2 to 8.1.8 and ran lerna repair
* chore: pin typescript to ~5.4.5 to avoid importsNotUsedAsValues that was removed in 5.5 and edit workflows and scripts to correctly scope learna packages on v8 snapshot tests [run ci]
* fix indentation in comments
* remove console.log reference to print current package directory in sync exported npm with cli script
* chore: (for eslint-plugin-dev only is breaking) update eslint-plugin dev minimum to eslint 7. Remove support for coffeescript and reconfigured required peer deps
* correctly configure eslint-plugin-json-format for the monorepo and run linting on all json files (previously was not running)
* properly support no duplicate imports
* fix: Revert addition of .* into regex and reformat code to escape early before regex runs
* Add changelog
* fix: Actually fix the problem with the plugin messages
* changelog update
* fix: added optional custom message to regex
* add changelog entry
* Update packages/reporter/cypress/e2e/unit/formatted_message.cy.ts
* moved changelog entry to new cypress version
---------
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* bump markdown-it
* Update code to wrap assertions back in strong html
* Update the logic to be more broad in not applying markdown formmated for any assertions
* Add code covering complex assertions
* Add code/cases to handle html elements in assertions
* Fix studio tests - these should be 'expected'
* fix the regex and clean up code
* Add condition for 'not to' since the terminology is switched on match
* add changelog entry
* fix date format in changelog
* remove space
* Fix bug with studio displaying generated assertions incorrectly
* revert studio changes to track in a different PR
* remove old 'type' arg that was passed for formattedMessage before
* Update code to not format markdown for commands that accept URLs
* changelog update
* chore: set up feature/test-burn-in feature branch
* feat: add burnIn Configuration option (currently a no-op) (#27377)
* feat: add the burnIn Configuration to the config package. Option
currently is a no-op
* chore: make burn in experimental
* chore: set experimentalBurnIn to false by default
* feat: add new experimental retries configuration (#27412)
* feat: implement the experimental retries configuration options to pair
with test burn in
* [run ci]
* fix cache invalidation [run ci]
* fix snapshot added in v13 for module api to include test burn in experimentalflag
* chore: fix merge conflict
* chore: add burnInTestAction capability (#27768)
* add burnInTestAction capability
* feat: add burn in capability for cloud
* chore: fix snapshot for record_spec
* feat: implement experimental retries (#27826)
* chore: format the retries/runner snapshot files to make diff easier
* feat: implement experimentalRetries strategies 'detect-flake-and-pass-on-threshold' and 'detect-flake-but-always-fail'. This should not be a breaking change, though it does modify mocha and the test object even when the experiment is not configured. This is to exercise the system and make sure things still work as expected even when we go GA. Test updates will follow in following commits.
* chore: update snapshots from system tests and cy-in-cy tests that now have the cypress test metadata property _cypressTestStatusInfo. tests have been added in the fail-with-[before|after]each specs to visually see the suite being skipped when developing.
* chore: add cy-in-cy tests to verify reporter behavior for pass/fail tests, as well as new mocha snapshots to verify attempts. New tests were needed for this as the 'retries' option in testConfigOverrides currently is and will be invalid for experiment and will function as an override. tests run in the cy-in-cy tests are using globally configured experimentalRetries for the given tested project, which showcases the different behavior between attempts/retries and pass/fail status.
* chore: add unit test like driver test to verify the test object in mocha is decorated/handled properly in calculateTestStatus
* chore: add sanity system tests to verify console reporter output for experimental retries logic. Currently there is a bug in the reporter where the logged status doesnt wait for the aftereach to complete, which impacts the total exitCode and printed status.
* fix: aftereach console output. make sure to fail the test in the appropriate spot in runner.ts and not prematurely, which in turn updates the snapshots for cy-in-cy as the fail event comes later."
* chore: address comments from code review
* fix: make sure hook failures print outer status + attempts when the error is the hook itself.
* chore: improve types within calculateTestStatus inside mocha.ts
* Revert "feat: add burnIn Configuration option (currently a no-op) (#27377)"
This reverts commit c428443079.
* Revert "chore: add burnInTestAction capability (#27768)"
This reverts commit ae3df1a505.
* chore: run snapshot and binary jobs against experimental retries feature branch
* chore: add changelog entry (wip)
* Revert "fix snapshot added in v13 for module api to include test burn in experimentalflag"
This reverts commit bb5046c91e.
* Fix system tests
* Clear CircleCI cache
* Normalize retries config for test execution
* Fixed some unit tests
* update snapshots for newer test metadata
* Fix cy-in-cy snapshots
* update snapshots
* bump cache version
* chore: ensure legacy retry overrides work; reject exp. retries overrides (#28045)
* update changelog
* flip if statement in experimental retries option validation
* refactor invalid experimental retry override for more useful error msg
* revert testConfigOverrides snapshot
* update snapshots for test override sys test
* Update packages/config/src/validation.ts
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* succinct changelog entry; links to docs for details
* testConfigOverride system test snapshots
* Update .github/workflows/update_v8_snapshot_cache.yml
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update packages/driver/src/cypress.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* updating cache-version
* improve typescript usage when appending experimental retry options to experiments in Experimenets.vue
* Revert "improve typescript usage when appending experimental retry options to experiments in Experimenets.vue"
This reverts commit b459aba882.
* refactor test config override validation for experimental retry subkeys
* account for error throw differences in browsers in system tests
* bump circle cache
* bump circle cache again
---------
Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: mabela416 <mabel@cypress.io>
Co-authored-by: Muaz Othman <muaz@cypress.io>
Co-authored-by: Muaz Othman <muazweb@gmail.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matthew Schile <mschile@cypress.io>
* chore: update ts-loader from v8 to v9
* chore: update sass-loader from v10 to v13
* chore: update postcss-loader from v4 to v7
* chore: update mini-css-extract-plugin from v1 to v2
* chore: update html-webpack-plugin from v4 to v5
* chore: update css-loader from v5 to v6
* chore: update copy-webpack-plugin from v6 to v 11
* chore: update babel and babel loader to latest
* chore: remove Url import from validation as it should be available globally
* chore: update coffee-loader to latest and coffeescript to 2.6.0. coffee
script > 2.6.0 has issues with packheard transpilation, which likely
isnt worth the squeeze here to update it further
* chore: fix react component tests with webpack 4 as babl loader 9 only works with webpack 5, so we need ot pin the dep to 8 in the system-test project
* chore: remove dependency on file-loader and opt for ubilt in assert handling where applicable. Additionally, remove react-svg-loader and move to svgr loader inside the runner to bundle svgs needed for react components. Make sure that all SVGs are being imported correctly
chore: tell webpack preprocessor to process svgs inside of e2e tests for
the reporter. We did not need this before because we were using
react-svg-loader, which was used directly in source to process the svg
and allowed the svg to work under test. Since the source code is now
bundler independent, we need to tell cypress to bundle the svgs under
test. To do this, we pass our webpack config into
@cypress/webpack-preprocessor to allow loading the svgs. This is not a
breaking change.
* chore: switch from hash to contenthash
* chore: remove use of moduleIds for chunkIds as the defaults are likely better and handle caching/debugging better
* chore: mark tests that need to be updated as node 12 and 14 are no longer supported. node 12 doesnt ship with fs/promises, which causes fatal errors with babel-loader 9
try to test against new docker images [run ci]
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* skip http/https form submittal unit tests for experimental webkit due to the clientRoute 404ing after submitting
* chore: pin webpack 5 for component tests in cy in cy to prevent using 4 from hoisted deps [run ci]
* build binaries [run ci]
* chore: bump circle cache [run ci]
* fix: turn off svgo from @svgr/webpack to preserve our scss class names within the svg. see https://react-svgr.com/docs/options/#svgo [run ci]
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* 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>
* chore: upgrade webpack dependencies to latest sub 5 compat [run ci]
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: build binaries [run ci]
* chore: update snapshot for darwin
* chore: downgrade tsconfig-paths-webpack-loader from v4 to v3 [run ci]
* [run ci]
* chore: add rimraf in @packages/runner to use in prebuild command to clear out dist directory to get windows compat [run ci]
* don't pass -rf flags into rimraf as it is inherit with the command
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: disable video compression
* system test updates
* moar system test fixes
* a couple of telemetry tweaks
* more intelligent defaults, don't touch firefox.
* trying this
* probably finally fix firefox system tests
* unformat plz
* ugh, also add a test
* plz stop formatting that file
* re-enable firefox tests
* Change log
* don't save videos to artifacts
* this will be fixed in another pr
* quoth the raven, quotes matter don't mess them up