A browserify transform for the istanbul code coverage tool.
This is a temporary fork that includes devongovett/browserify-istanbul#45 until that lands upstream.
npm install --save-dev @airtap/browserify-istanbul
There are several ways to register browserify transforms: on the command line, in your package.json
, or using the browserify API.
You can use all of these with browserify-istanbul: see the browserify docs for more info.
There are a few options available to browserify-istanbul when you use it from JavaScript. They are shown in the following code example:
var istanbul = require('@airtap/browserify-istanbul');
// use without any options...
browserifyBundle.transform(istanbul);
// or with some options...
browserifyBundle.transform(istanbul({
// ignore these glob paths (the ones shown are the defaults)
ignore: ['**/node_modules/**', '**/bower_components/**', '**/test/**', '**/tests/**', '**/*.json'],
// by default, any paths you include in the ignore option are ignored
// in addition to the defaults. set the defaultIgnore option to false
// to only ignore the paths you specify.
defaultIgnore: true
}));
- without options:
./node_modules/.bin/browserify -t @airtap/browserify-istanbul test/test-*.js -o bundle.js
- with options
./node_modules/.bin/browserify -t [ @airtap/browserify-istanbul --ignore "**/bower_components/**" ] test/test-*.js -o bundle.js
To load and manipulate coverage reports, the command line tool nyc can be used:
- output the the
__coverage__
object to./.nyc_output/coverage.json
.
- this can be facilitated using a library like mocha-phantomjs-istanbul.
- execute nyc with a list of reporters.
nyc report --reporter=lcov --reporter=text-summary
.
See istanbul.js.org for more examples and documentation.
MIT