childprocess
Wrap `child_process` module to support Multiple Process Code Coverage with istanbul.
Last updated 9 years ago by fengmk2 .
MIT · Repository · Bugs · Original npm
$ cnpm install childprocess 
SYNC missed versions from official npm registry.

childprocess

NPM version build status appveyor build status Test coverage David deps npm download

Inject script into multiple process when using child_process.fork.

One of the use case is Multiple Process Code Coverage with istanbul.

Install

$ npm i childprocess

Usage

require('childprocess').inject(function(modulePath, args, opt) {
  const execFile = 'path/to/istanbul';
  const cwd = opt.cwd && process.cwd();
  const execArgs = [
    'cover',
    '--root', cwd,
    '--dir', path.join(cwd, './coverage'),
    '--report', 'none',
    '--print', 'none',
    '--include-pid',
    modulePath,
    '--',
  ].concat(args);
  return [execFile, execArgs, opt];
});
require('child_process').fork();

APIs

inject(cb) / inject(filepath)

Inject script when using child_process.fork.

The inject script is a function that running in sandbox in every process. that mean you can't use the variable out of the function.

The function should return an array that contains 3 arguments same as fork.

childprocess.inject(function(modulePath, args, opt) {
  return [modulePath, args, opt];
});

reset()

Use child_process.fork without injected script.

License

MIT

Current Tags

  • 2.0.2                                ...           latest (9 years ago)

1 Versions

  • 2.0.2                                ...           9 years ago
Maintainers (2)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (8)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org