node package manager


run pending services in child_process and talk to them


Run pending scripts (services) in a child_process and talk to them (and kill those bastards)

import Forrest from 'forrest';

// run a simple command that exits by itself'ls').then(output => console.log(output));

// run a service and do soemthing when ready
var service =, {
	service: './my-server.js',
	expect: /listening on 3000/g,

// do something when the service is ready
service.then(() => console.log('MyServer is ready!'));

// do something else if the service fails
service.catch(err) => console.log('Error', err));


some services send logs to stderr, strange but true!

listen to stderr and fail the promise if anything is sent here.

gracefully stop the service, sends in a SIGTERM and return a Promise.

hard kill

Write here your ES6 source files.

Write here your ES6 unit tests.

This is the target folder for ES5 transpiled files.

(ES6)          (ES5)
/src/foo.js -> /lib/foo.js

This is the target folder for the test coverage report.

There are a couple of NPM scripts which make your developer life easier:

It transpiles /src into ES5 compatible files in /lib.

It transpiles and monitor /src files for new changes.

It checks your code for any possible problem or style errors accordingly to .eslintrc.

It removes all the generated files in /lib and /coverage.

It runs the tests and produces a test coverage report in /coverage.