A simple async and parallel booting sequence for your applications. It provides you with a clean structure to setup and configure you application. Because the more stuff you need to do during boot, the deeper you callback xmas tree will become and the less maintainable the code base becomes.
The package is released to our public npm registry.
npm install --save booting
var booting = require('booting');
The exposed booting
function takes a single argument which is the data or
state that can be passed around to all your booting layers:
var app = require('your app instance');
var boot = booting(app);
The function returns an object that contains the following methods:
use
A function to introduce a new boot sequence. The boot sequence should be a function that receives two arguments:- The data that you passed in to the
booting
function - Error first completion callback for when your task is finished executing.
- The data that you passed in to the
start
Completion callback for when your boot sequences that your added usinguse
are completed. The callback receives two arguments:- Option error for when a boot sequence failed.
- The data that you passed in to the
booting
function.
So setting up a boot sequence would be as easy as:
var booting = require('booting');
var app = require('./app');
booting(app)
.use(require('./preboot/config'))
.use(require('./preboot/database'))
.use(require('./preboot/server'))
.use(require('./preboot/phonehome'))
.start(function (err, app) {
app.start();
})
MIT