Generate fancy code coverage badges for your node project.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
example
lib
.gitignore
.npmignore
LICENSE
README.md
index.js Initial commit. Jun 17, 2013
package.json

README.md

Generate fancy code coverage badges! Does what it says on the tin.

100% coverage 95% coverage 85% coverage

Works like this:

$ node coverage-badge 95 coverage.png

... or like this:

var fs = require('fs');
var badge = require('coverage-badge');

var coverage = /* read coverage from JSON or whatever */;
var file = fs.createWriteStream('coverage.png');

badge(coverage).pipe(file);

Tie it in with build tool and let your continuous integration tool call that build step and archive the image.

Example

An example: node-aether uses Drone.io as CI server and slake as build tool. The relevant build step runs jscoverage to instrument, then runs mocha to generate a JSON code coverage report, and then uses that to generate the coverage badge. That last bit looks like this (rewritten from the original LiveScript):

var badge = require('coverage-badge');

task 'cov-badge', function() {
  /* [run jscoverage...] */
  /* [run mocha...] */
  mocha.on('close'), function() {
    var json = require('./coverage.json');
    var file = fs.createWriteStream('./coverage.png');
    badge(json.coverage).pipe(file);
  }
}

At each build, Drone.io runs these commands:

sudo apt-get install jscoverage
slake cov-badge

... and then saves ./coverage.png as a build artefact. The image can then be found under the Downloads tab. The result: Code Coverage for node-aether

Visual theme

Currently it pretty much mimics the look of the Drone.io badge. Other styles may be added in the future.

Installation

npm install coverage-badge

License

Simplified BSD (2-clause).