This is a Webpack loader that uses Istanbul to add code coverage instrumentation to your code. This is especially useful for in-browser testing, in a tool like Karma, where you can use karma-coverage-istanbul-reporter to output code coverage data in a variety of formats that are supported by services like Coveralls or Codacy.
Coverage Istanbul Loader is based on Istanbul Instrumenter Loader, but uses a newer version of the Istanbul API and has better support for source maps.
See the examples folder for usage examples for various use cases.
-
"hello, world" example
This is the most simplistic example. It just uses coverage-istanbul-loader with its default options to produce an output bundle that contains code coverage instrumentation. -
TypeScript example
This example demonstrates using coverage-istanbul-loader with transpiled code. It correctly maps the instrumented JavaScript code back to the original TypeScript source code. -
Karma example
This example demonstrates using coverage-istanbul-loader with Karma and karma-coverage-istanbul-reporter to produce code coverage reports for browser tests. -
Example with options
This example demonstrates passing options to coverage-istanbul-loader. The options are passed-on to istanbul-lib-instrument, so all the same options are supported.
Contributions, enhancements, and bug-fixes are welcome! File an issue on GitHub and submit a pull request.
To build/test the project locally on your computer:
-
Clone this repo
git clone https://github.com/JS-DevTools/coverage-istanbul-loader.git
-
Install dependencies
npm install
-
Build the code
npm run build
-
Run the tests
npm test
coverage-istanbul-loader is 100% free and open-source, under the MIT license. Use it however you want.
Thanks to these awesome companies for their support of Open Source developers ❤