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