Libreria Gratis Activo

vite-plugin-istanbul

Para medir la cobertura de código en aplicaciones Vite ejecutando tests en el navegador (Cypress, Playwright).

Plugin de Vite que instrumenta el código con Istanbul para medir la cobertura de tests end-to-end.

Notas y contexto

Qué es

vite-plugin-istanbul es un plugin de Vite, creado por Christian Norrman (iFaxity), que instrumenta el código fuente con Istanbul/nyc para poder medir su cobertura. Cumple un papel similar al de istanbul-instrumenter-loader en Webpack y está pensado únicamente para entornos de desarrollo y pruebas, no para producción. Está escrito en TypeScript y publicado bajo licencia MIT.

Para qué sirve

  • Medir la cobertura de código real en pruebas end-to-end ejecutadas en el navegador (Cypress, Playwright).
  • Instrumentar automáticamente los módulos servidos por Vite sin tocar la configuración de build de producción.
  • Activar o desactivar la instrumentación mediante una variable de entorno (por ejemplo VITE_COVERAGE).
  • Usar instrumentadores alternativos como oxc-coverage-instrument cuando se busca más rendimiento.

Cuándo usarlo

Es la opción adecuada cuando trabajas con Vite y quieres obtener métricas de cobertura de tests que corren en un navegador real, donde herramientas como la cobertura nativa de Vitest no llegan. Si solo necesitas cobertura de tests unitarios, Vitest con su proveedor istanbul o v8 suele ser suficiente y no requiere este plugin. Conviene combinarlo con tu runner e2e y con nyc para generar el informe final.

Ejemplo

Instalación y configuración básica en vite.config.js:

npm i -D vite-plugin-istanbul
import { defineConfig } from 'vite';
import istanbul from 'vite-plugin-istanbul';

export default defineConfig({
  plugins: [
    istanbul({
      include: 'src/*',
      exclude: ['node_modules', 'test/'],
      extension: ['.js', '.ts', '.vue'],
      requireEnv: true,
    }),
  ],
});

Con requireEnv activado, la instrumentación solo se aplica si la variable de entorno (VITE_COVERAGE=true) está presente, evitando penalizar el desarrollo normal.

Puntos clave

  • Se integra de forma transparente en el pipeline de Vite y configura los source maps automáticamente.
  • Permite controlar la instrumentación con variables de entorno para activarla solo en las ejecuciones de cobertura.
  • Admite instrumentadores personalizados, lo que facilita usar alternativas más rápidas al instrumentador por defecto.

Ten en cuenta

Está pensado exclusivamente para desarrollo y testing: nunca debe usarse en builds de producción, ya que instrumentar el código lo ralentiza y aumenta su tamaño. El proyecto sigue publicando versiones (la v9.0.1 es de mayo de 2026), pero el autor indica que no está bajo desarrollo activo y busca nuevos colaboradores y mantenedores, así que conviene tener en cuenta ese nivel de mantenimiento antes de depender de él a largo plazo.

Volver al directorio
Volver al directorio