Principle:Cypress io Cypress Development Server
| Knowledge Sources | |
|---|---|
| Domains | Development, Build |
| Last Updated | 2026-02-12 00:00 GMT |
Overview
A multi-process development workflow that concurrently runs Vite dev servers for frontend packages and file watchers for backend packages, enabling hot module replacement during development.
Description
The Cypress development server orchestrates multiple processes: Vite dev servers for the App and Launchpad frontend packages (with HMR for instant feedback), file watchers for backend TypeScript compilation, and the Cypress application itself in development mode. Gulp orchestrates these processes via gulp dev, which starts watchers, kills existing Cypress instances, and launches a fresh Cypress process.
This setup allows developers to modify frontend code and see changes instantly via HMR, while backend changes trigger recompilation and auto-restart of the Cypress process.
Usage
Use this principle during daily development of the Cypress application. Run gulp dev to start the full development environment.
Theoretical Basis
Development Server Architecture:
gulp dev
→ gulp.series('dev:watch', killExistingCypress, startCypressWatch)
Concurrent Processes:
1. Vite dev server for App (port 3333)
2. Vite dev server for Launchpad (port 3001)
3. File watchers for backend TypeScript
4. Cypress Electron app in dev mode
5. GraphQL server (port 4444)
Environment Variables:
CYPRESS_INTERNAL_VITE_DEV=1 → use Vite dev servers
CYPRESS_INTERNAL_GRAPHQL_PORT=4444