npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vite-plugin-istanbul

v6.0.0

Published

vite-plugin-istanbul ========================== [![Codacy grade](https://img.shields.io/codacy/grade/a0c628b128c044269faefc1da74382f7?style=for-the-badge&logo=codacy)](https://www.codacy.com/gh/iFaxity/vite-plugin-istanbul/dashboard) [![npm (scoped)](http

Downloads

1,043,671

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.

Only versions targeting the latest stable Vite version is actively developed.

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.cwd {string} - Optional string of the current working directory, used for the include/exclude patterns. Defaults to process.cwd().
  • 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 the environment variable (defaults to VITE_COVERAGE) to equal true in order to instrument the code. Otherwise it will instrument even if env variable is not set. However if requireEnv is not set the instrumentation will stop if the environment variable is equal to false.
  • opts.cypress {boolean} - Optional boolean to change the environment variable to CYPRESS_COVERAGE instead of VITE_COVERAGE. For ease of use with `@cypress/code-coverage``.
  • opts.checkProd {boolean} - Optional boolean to enforce the plugin to skip instrumentation for production environments. Looks at Vite's isProduction key from the ResolvedConfig.
  • opts.forceBuildInstrument {boolean} - Optional boolean to enforce the plugin to add instrumentation in build mode. Defaults to false.
  • opts.nycrcPath {string} - Path to specific nyc config to use instead of automatically searching for a nycconfig. This parameter is just passed down to @istanbuljs/load-nyc-config.

Notes

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.

This plugin also requires the Vite configuration build.sourcemap to be set to either true, 'inline', 'hidden'. But the plugin will automatically default to true if it is missing in order to give accurate code coverage. The plugin will notify when this happens in order for a developer to fix it. This notification will show even when the plugin is disabled by e.g opts.requireEnv, VITE_COVERAGE=false. This is due to a limitation of the API for this kind of feature.

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