npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

cover-child-process

v0.1.7

Published

Collect coverage data from child processes

Readme

cover-child-process

Build Status Coverage Status Dependency Status devDependency Status

NPM module to collect coverage data from tests that need to spawn NodeJS child processes. Eg. end to end tests and/or tests on command line interfaces

Implements spawn and exec functions that wrap a target NodeJS script that has already been instrumented for coverage data, collects the coverage data and merges it with the coverage data already collected in the parent process.

Currently only supports files instrumented with Blanket. However, plugins for other similar instrumentation implementations can easily be created following the interface used for Blanket.

Usage

Install and save to your devDependencies

npm install --save-dev cover-child-process

Use as you would the standard child_process.exec and child_process.spawn methods.

#exec

var ChildProcess = require('cover-child-process').ChildProcess;
var Blanket = require('cover-child-process').Blanket;

// Use the constructor to tell the library how the source has been instrumented
var childProcess = new ChildProcess(new Blanket());

var child = childProcess.exec(
  'node ../lib-cov/cli.js init something', {
    cwd: '../fixtures/test-scenario'
  }, function (error, stdout, stderr) {
    // Test output, etc, then done
  }
);

NB. If the command does not begin with node then it will be passed directly to child_process without capturing coverage data

#spawn

var ChildProcess = require('cover-child-process').ChildProcess;
var Blanket = require('cover-child-process').Blanket;

// Use the constructor to tell the library how the source has been instrumented
var childProcess = new ChildProcess(new Blanket());

var server = childProcess.spawn(
  'node', [
    '../lib-cov/server.js',
    '8080'
  ], {
    env: process.env
  }
);

server.stdout.on('data', function (data) {
  // When server has started run tests, then kill the child process
  server.kill();
});

NB. If the supplied command is not node then it will be passed directly to child_process without capturing coverage data

NNB. The spawned process must be killed with the default SIGTERM signal for the coverage data to be collected

License

Copyright © 2014 Peter Halliday
Licensed under the MIT license.

Donate Bitcoins

17LtnRG4WxRLYBWzrBoEKP3F7fZx8vcAsK