Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including springbokjs-daemon with all npm packages installed. Try it out:

var springbokjsDaemon = require("springbokjs-daemon")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

springbokjs-daemon v3.6.0

Springbok Daemon, usable with Gulp and Grunt to restart your server on watch

springbokjs-daemon

Springbok Daemon, usable with Gulp and Grunt to restart your server on watch

Install

npm install --save-dev springbokjs-daemon

API

All arguments are optional, but you should at least provide command or args.

import createDaemon from 'springbokjs-daemon';

const daemon = createDaemon({
  key: '', // logger key
  displayName: '', // logger displayName
  command: 'node', // default to process.argv[0]
  args: [],
  autorestart: false, // autorestart when the child kills itself
  SIGTERMTimeout: 4000, // time to wait before sending SIGKILL
});

daemon.start(); // returns a Promise on the event ready
daemon.restart(); // do stop() then start()
daemon.stop(); // send SIGTERM then SIGKILL and returns a Promise when the child is killed.

Message

You can send these messages using process.send:

  • ready: to notify that the instance has successfully started
  • restart: ask for a clean restart of the process

Use case with Gulp

var gulp = require('gulp');
var createDaemon = require('springbokjs-daemon');

var daemon = createDaemon({ args: ['src/server/server.js'] });
process.on('exit', function(code) {
    daemon.stop();
});

gulp.task('watch', ['default'], function() {
    daemon.start();
    gulp.watch('src/server/**/*.js').on('change', function() {
        daemon.restart();
    });
});
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free