1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | "use strict";
|
12 |
|
13 | const argx = require('argx'),
|
14 | execcli = require('execcli');
|
15 |
|
16 |
|
17 | function measureCoverage(script, scriptArgs, options, callback) {
|
18 | let args = argx(arguments);
|
19 | callback = args.pop('function') || argx.noop;
|
20 |
|
21 |
|
22 | script = args.shift('string');
|
23 | scriptArgs = [].concat(args.shift('string|array') || []);
|
24 | options = args.pop('object') || {};
|
25 |
|
26 | let spawnArgs = ['cover', '--dir', options.dir || 'coverage', script, '--'].concat(scriptArgs);
|
27 | exports.istanbul(spawnArgs, callback);
|
28 | }
|
29 |
|
30 | exports.istanbul = function (args, callback) {
|
31 | execcli('istanbul', args, {
|
32 | notfound: 'try `npm install istanbul -g`'
|
33 | }, callback)
|
34 | };
|
35 |
|
36 | module.exports = measureCoverage;
|
37 |
|
38 |
|