vpi

vite-plugin-istanbul

A Vite plugin to instrument code for nyc/istanbul code coverage. In similar way as the Webpack Loader istanbul-instrumenter-loader. Only intended for use in development.

Showing:

Popularity

Downloads/wk

339

GitHub Stars

8

Maintenance

Last Commit

2mos ago

Contributors

5

Package

Dependencies

2

License

MIT

Type Definitions

Built-In

Tree-Shakeable

Yes?

Categories

Readme

vite-plugin-istanbul

Codacy grade npm (scoped) npm bundle size (scoped) npm bundle size (scoped)

A Vite plugin to instrument your code for nyc/istanbul code coverage. In similar way as the Webpack Loader istanbul-instrumenter-loader. Only intended for use in development while running tests.

Version v2.x for Vite v2.0, for Vite v1.0 install v1.x of this plugin.

As of v2.1.0 you can toggle the coverage off by setting the env variable VITE_COVERAGE='false', by default it will always instrument the code. To require the explicit definition of the variable, set the option requireEnv to true.

Installation

npm i -D vite-plugin-istanbul

or if you use yarn

yarn add -D vite-plugin-istanbul

API

import IstanbulPlugin from 'vite-plugin-istanbul';

IstanbulPlugin( [ opts ] )

Creates the vite plugin from a set of optional plugin options.

Returns: Vite Plugin

Parameters

  • opts {IstanbulPluginOptions} - Object of optional options to pass to the plugin
  • opts.include {string|string[]} - Optional string or array of strings of glob patterns to include
  • opts.exclude {string|string[]} - Optional string or array of strings of glob patterns to exclude
  • opts.extension {string|string[]} - Optional string or array of strings of extensions to include (dot prefixed like .js or .ts). By default this is set to ['.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx', '.vue']
  • opts.requireEnv {boolean} - Optional boolean to require env to be true to instrument to code, otherwise it will instrument even if env variable is not set
  • opts.cypress {boolean} - Optional boolean to change the env to CYPRESS_COVERAGE instead of VITE_COVERAGE. For ease of use with @cypress/code-coverage

Examples

To use this plugin define it using vite.config.js

// vite.config.js
import istanbul from 'vite-plugin-istanbul';

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

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100