Generate fancy code coverage badges.

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

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');


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

An example: node-aether uses 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');

At each build, 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:

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

npm install coverage-badge

Simplified BSD (2-clause).