Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cypress-vite

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cypress-vite

Run Cypress specs using Vite

  • 1.5.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
109K
increased by0.21%
Maintainers
1
Weekly downloads
 
Created
Source

cypress-vite

Run Cypress specs using Vite

Introduction

The cypress-vite plugin is a Cypress preprocessor that allows you to transform and run Cypress e2e specs using Vite.

Why?!

  • Vite is faster than webpack
  • Using same configuration and environment both for development and testing
  • Using Vite config for running e2e tests, no need for re-configuring aliases, etc. for webpack
  • Using vite specific features like plugins and virtual imports, import.meta, etc. in e2e tests

What about @cypress/vite-dev-server?!

The official @cypress/vite-dev-server package is for cypress component testing that creates a vite dev server for mounting and testing React and Vue components.

The cypress-vite is for compiling and running E2E specs. Neither replaces the other, but you can combine them to use vite both for component and E2E testing.

Installation

Install the cypress-vite plugin:

npm install --save-dev cypress-vite

yarn add --dev cypress-vite

pnpm add --save-dev cypress-vite

Usage

For Cypress 10, add the following to your cypress.config.ts file:

import { defineConfig } from 'cypress'
import vitePreprocessor from 'cypress-vite'

export default defineConfig({
  e2e: {
    setupNodeEvents(on) {
      on('file:preprocessor', vitePreprocessor())
    },
  },
})

For Cypress 9 and earlier, add the following to your cypress/plugins/index.js file:

const vitePreprocessor = require('cypress-vite')

/**
 * @type {Cypress.PluginConfig}
 */
module.exports = (on, config) => {
  on('file:preprocessor', vitePreprocessor())
}

Configuration

You can pass a Vite config to the vitePreprocessor function:

import path from 'path'
import { defineConfig } from 'cypress'
import vitePreprocessor from 'cypress-vite'

export default defineConfig({
  e2e: {
    setupNodeEvents(on) {
      on(
        'file:preprocessor',
        vitePreprocessor({
          configFile: path.resolve(__dirname, './vite.config.ts'),
          mode: 'development',
        }),
      )
    },
  },
})

Debugging

Run your tests with the following environment variable to log the debugging output:

DEBUG=cypress-vite

Credits

Thanks to Adam Lynch for inspiration and initial implementation.

License

Distributed under the MIT license.

Keywords

FAQs

Package last updated on 22 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc