UNPKG

mochadoc-runner

Version:

Mochadoc programmatic runner for tool-building

35 lines (27 loc) 1.01 kB
'use strict'; const signet = require('./signet-types'); const sep = require('path').sep; const fork = require('child_process').fork; function callMochadoc(mochadocOptions, callback) { const runnerPath = __dirname + sep + 'runner.js'; const args = Object.keys(mochadocOptions).reduce(function(result, key) { if(key !== 'silent' || mochadocOptions[key] === true) { result.push('--' + key); } if(key === 'config') { result.push(mochadocOptions[key]); } return result; }, []); const runnerProcess = fork(runnerPath, args); runnerProcess.on('close', function(err) { const success = Boolean(err); const error = Boolean(err) ? new Error('An error occurred while running Mochadoc: ' + err.message) : null; callback(error, success); }); } module.exports = signet.enforce( 'mochadocOptions, callback => undefined', callMochadoc);