1. @cypress/vite-dev-server
Launches Vite Dev Server for Component Testing
@cypress/vite-dev-server
Package: @cypress/vite-dev-server
Created by: cypress-io
Last modified: Tue, 26 Dec 2023 17:53:24 GMT
Version: 5.0.7
License: MIT
Downloads: 164,201
Repository: https://github.com/cypress-io/cypress

Install

npm install @cypress/vite-dev-server
yarn add @cypress/vite-dev-server

@cypress/vite-dev-server

Implements the APIs for the object-syntax of the Cypress Component-testing "vite dev server".

Note: This package is bundled with the Cypress binary and should not need to be installed separately. See the Component Framework Configuration Docs for setting up component testing with vite. The devServer function signature is for advanced use-cases.

Object syntax:

 import { defineConfig } from 'cypress'

export default defineConfig({
  component: {
    devServer: {
      framework: 'create-react-app',
      bundler: 'vite',
      // viteConfig?: Will try to infer, if passed it will be used as is
    }
  }
})

Function syntax:

 import { devServer } from '@cypress/vite-dev-server'
import { defineConfig } from 'cypress'

export default defineConfig({
  component: {
    devServer(devServerConfig) {
      return devServer({
        ...devServerConfig,
        framework: 'react',
        viteConfig: require('./vite.config.js')
      })
    }
  }
})

Architecture

There should be a single publicly-exported entrypoint for the module, devServer, all other types and functions should be considered internal/implementation details, and types stripped from the output.

The devServer will first source the modules from the user's project, falling back to our own bundled versions of libraries. This ensures that the user has installed the current modules, and throws an error if the user does not have the library installed.

From there, we check the "framework" field to source or define any known vite transforms to aid in the compilation.

We then merge the sourced config with the user's vite config, and layer on our own transforms, and provide this to a vite instance. The vite instance used to create a vite-dev-server, which is returned.

Compatibility

@cypress/vite-dev-server cypress
<= v2 <= v9
>= v3 >= v10

License

license

This project is licensed under the terms of the MIT license.

Changelog

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code