grunt-lcov-merge

1.2.3 • Public • Published

grunt-lcov-merge

Build Status npm version Coverage Status Code Climate Dependency Status

Grunt plugin to merge lcov files from multiple test runs, for use with a tool like coveralls.

Getting Started

This plugin works with any grunt >=0.4.0

To install, add grunt-lcov-merge to your package.json. The easiest way to do that is

npm install grunt-lcov-merge --save-dev

Once the plugin has been installed, you'll need to enable it in your Gruntfile by adding

grunt.loadNpmTasks('grunt-lcov-merge');

You can then run with

grunt lcovMerge

Options

emitters

Type: Array Default: ['file']

What emitters to send the merged data to. Supported emitters are 'file', which sends the merged data to a file, and 'event', which sends it out to the 'coverage' event and can be listened to with

grunt.event.on('coverage', function(lcov, done) {});

outputFile

Type: String Default coverage/lcov-merge.info

If a file emitter is specified, this is the output file to pipe data to.

Example

    grunt.initConfig({
    jshint: {
        src: ['Gruntfile.js', 'tasks/**/*.js', 'test/**/*.js'],
        options: {
            jshintrc: true
        }
    },
    
    mocha_istanbul: {
      coverage: {
          src: 'test/**/*.spec.js',
          options: {
              coverageFolder: 'build/coverage',
              reportFormats: ['lcov'],
          }
      }
    },
 
    lcovMerge: {
      options: {
          emitters: ['event', 'file'],
          outputFile: 'mergeLcov.info'
      },
      src: ['build/coverage/*.info', 'build/coverage/**/*.info']
    }
  });
 
  grunt.event.on('coverage', function(lcov, done) {
    // See below
    done();
  });
 
  grunt.loadNpmTasks('grunt-lcov-merge');

Note that grunt-lcov-merge allows for source files to be specified via any file format.

Event emitter

One of the most useful ways to consume this plugin is to use the coverage event to send the lcov data to a service like coveralls:

grunt.event.on('coverage', function(lcov, done) {
    require('coveralls').handleInput(lcov, function(err) {
        if (err) {
          return done(err);
        }
        done();
    });

Using the coveralls module means that Travis-CI can automatically send your merged LCOV to coveralls.

Version History

  • 0.1.0 - Initial version
  • 0.1.1 - Trim down the number of files in the distribution
  • 0.1.2 - Update dependencies, work around coveralls issue.
  • 0.1.3 - Documentation updates
  • 1.0.0 - Official release
  • 1.1.0 - Support Grunt >=1.0
  • 1.2.0 - Update dependencies
  • 1.2.1 - Fix incorrect npm version
  • 1.2.2 - Fix issues with test code on travis
  • 1.2.3 - ACTUALLY Fix issues with test code on travis (aren't immutable versions fun??)

Package Sidebar

Install

npm i grunt-lcov-merge

Weekly Downloads

104

Version

1.2.3

License

MIT

Last publish

Collaborators

  • jemonjam