Files
cypress/packages/runner
Bill Glesias f3b67666a5 fix: update cypress to Typescript 5 (#29568)
* fix: update the monorepo to typescript 5

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* run ci to see problems [run ci]

* update vue-tsc and typings that conflict with update

* regen snapshot

* fix typescript errors ui test as stack trace behavior has changed

* fix server unit tests

* update cy.origin() spec based on stack traces and code frames

* update spec to include source map url

* run ci

* fix check-ts

* chore: fix system tests [run ci]

* add preprocessor tests to batteries included to exercise new logic

* run ci

* refactor unit tests to be a bit more dry

* pin typescript to ~5.4 and adjust config to ignroe deprecations but keep importsNotUsedAsValues

* add changelog entry

* add fixme issue to stack trace mismatches inside evaled context

* use import type webpack as webpack as a lib isn't actually invboked in the runner webpack config

* fix system test as adding 4 lines of comments impacts the stack trace line 4 lines (duh)

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-06-04 19:17:38 -04:00
..
2023-10-11 10:06:10 -04:00

Runner

This is an old package, deprecated in favor of @packages/app. It has two remaining responsibilities before it can be entirely removed:

  1. Bundles @packages/reporter and @packages/driver via webpack. Once those can be directly imported to @packages/app, we can remove this.
  2. Bundles styles for @packages/reporter, loaded in main.scss. Ideally, reporter should import its own styles.
  3. Contains dom.js, which uses proprietary webpack loaders and cannot easily be imported with Vite (dev server in @packages/app). Once dom.js is free of webpack-specific loader code, we should move it to @packages/app.
  4. Contains Cypress Studio Recorder code, which was marked as experimental in Cypress 9.x and won't be part of Cypress 10.x initially. It will return at a later date. Until then, the code will be here. It's not currently used in the app. @see https://github.com/cypress-io/cypress/issues/22870
  5. Contains Legacy Cypress styles, most of these can likely be removed.

Implicit Dependencies

We have the following implicit dependencies defined in package.json

  • @packages/driver
  • @packages/config
  • @packages/reporter

The source code from these packages are bundled into dist/cypress_runner.js when this package is built. Because of this, we need to specify to Nx that any changes in the source files of the above packages need to invalidate the build cache for this package so that it gets rebuilt.