The runner is a legacy webpack bundle that packages @packages/reporter and @packages/driver for use inside the Cypress test iframe. It is being progressively deprecated in favor of @packages/app, but still owns the production cypress_runner.js bundle and runner-level styles.
Key Commands
# Build the webpack bundle (development)
yarn workspace @packages/runner build
# Build for production (minified)
yarn workspace @packages/runner build-prodArchitecture
src/main.jsx— Entry point; assembles reporter and driver into the runner iframesrc/cross-origin.js— Handles cross-origin iframe communicationsrc/main.scss— Runner-level styles (including legacy Cypress styles)unified-runner.tsx— Unified runner entry used in some Cypress app contextswebpack.config.ts— Webpack configuration for the runner bundledist/— Generated bundle output (do not edit)
Gotchas / Notes
- This package is deprecated in favor of
@packages/app. Do not add new features here; migrate to@packages/appinstead. - Tests were moved to
@packages/app; runningcypress:openorcypress:runfrom this package will error. - Nx implicit dependencies on
@packages/driver,@packages/reporter, and@packages/configmean any change in those packages invalidates the runner's Nx cache and triggers a rebuild. dom.jsuses webpack-specific loaders and cannot be imported directly by Vite.
Integration Points
- Bundles
@packages/reporterand@packages/driveras implicit webpack dependencies. - The built
dist/cypress_runner.jsis served by@packages/serverto the browser.
Auto-Generated Files
dist/— Generated by webpack; do not edit by hand.