Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacob-meacham/grunt-lcov-merge
:family: Grunt plugin to merge lcov files from multiple test runs.
https://github.com/jacob-meacham/grunt-lcov-merge
Last synced: about 1 month ago
JSON representation
:family: Grunt plugin to merge lcov files from multiple test runs.
- Host: GitHub
- URL: https://github.com/jacob-meacham/grunt-lcov-merge
- Owner: jacob-meacham
- License: mit
- Created: 2015-01-28T19:56:09.000Z (almost 10 years ago)
- Default Branch: develop
- Last Pushed: 2016-08-17T01:25:44.000Z (about 8 years ago)
- Last Synced: 2024-09-13T12:07:59.586Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 33.2 KB
- Stars: 3
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grunt-lcov-merge
[![Build Status](https://travis-ci.org/jacob-meacham/grunt-lcov-merge.svg?branch=develop)](https://travis-ci.org/jacob-meacham/grunt-lcov-merge)
[![npm version](https://badge.fury.io/js/grunt-lcov-merge.svg)](http://badge.fury.io/js/grunt-lcov-merge)
[![Coverage Status](https://coveralls.io/repos/jacob-meacham/grunt-lcov-merge/badge.svg?branch=develop)](https://coveralls.io/r/jacob-meacham/grunt-lcov-merge?branch=develop)
[![Code Climate](https://codeclimate.com/github/jacob-meacham/grunt-lcov-merge/badges/gpa.svg)](https://codeclimate.com/github/jacob-meacham/grunt-lcov-merge)
[![Dependency Status](https://www.versioneye.com/user/projects/54cbfc3cde7924f81a0001e4/badge.svg?style=flat)](https://www.versioneye.com/user/projects/54cbfc3cde7924f81a0001e4)> Grunt plugin to merge lcov files from multiple test runs, for use with a tool like [coveralls](coveralls.io).
## 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
```shell
npm install grunt-lcov-merge --save-dev
```Once the plugin has been installed, you'll need to enable it in your Gruntfile by adding
```js
grunt.loadNpmTasks('grunt-lcov-merge');
```You can then run with
```shell
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
```js
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
```js
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](http://gruntjs.com/configuring-tasks#files).
## 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:```js
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??)