Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/3rd-eden/booting
Async Initialization Process
https://github.com/3rd-eden/booting
async boot boot-sequence booting completion-callback
Last synced: 4 days ago
JSON representation
Async Initialization Process
- Host: GitHub
- URL: https://github.com/3rd-eden/booting
- Owner: 3rd-Eden
- Created: 2016-12-16T13:39:02.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-03T20:40:35.000Z (over 6 years ago)
- Last Synced: 2024-09-30T06:06:41.028Z (4 days ago)
- Topics: async, boot, boot-sequence, booting, completion-callback
- Language: JavaScript
- Size: 4.88 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# booting
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.## Installation
The package is released to our public npm registry.
```js
npm install --save booting
```## Usage
```js
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:```js
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:
1. The data that you passed in to the `booting` function
2. Error first completion callback for when your task is finished executing.
- `start` Completion callback for when your boot sequences that your added using
`use` are completed. The callback receives two arguments:
1. Option error for when a boot sequence failed.
2. The data that you passed in to the `booting` function.So setting up a boot sequence would be as easy as:
```js
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();
})
```## License
MIT