Newfangled Package Modernizer

    initializer

    0.0.3 • Public • Published

    Initializer

    Helps to initialize your project, optionally specifiying priority and/or a folder to load scripts from. I was inspired by the idea from Jared Hanson's Bootable project.

    Getting Started


    Initializer was built to help you out, not get in your way. There are very minor differences you'll need to make in your code and chances are you've already accomidated some of them such as exporting a function.

    Install with npm: npm install initializer --save

    Create a folder to house all your startup scripts aka initializers

    +run.js
    |
    +initializers/
        |
        +-server.js
        +-database.js
        +-otherasyncstuff.js
    

    Each file should at the very least export a function (but it's completely up to you)

    Here's a sample of what database.js might look like:

    // import any modules
    var db = require('db');
     
    module.exports = function database (done) {
     
        // establish a connection to your database
        db.connect('localhost', done);
     
    };
     
    // optionally set a priority for this initializer,
    // the lower the number, the sooner it executes
    module.exports.priority = 10;

    And here's what your run.js might look like:

    var initializer = require('initializer');
     
    // pass the folder as the first argument to search for initializers and start initializing
    var init = initializer('./initializers').start();

    Other Examples


    You can also add a function right from the function instance.

    var initializer = require('initializer');
     
    var init = initializer();
     
    init.add(function first (next) {
        console.log('starting misc init');
        setTimeout(function () {
            next();
        }, 1000);
    });
     
    init.start();

    Chaining works too

    var init = require('initializer');
     
    init().add(function(){console.log('hello')}).start();

    Initializer is also an instance of EventEmitter

    var init = initializer('./initializers');
     
    init.on('error', function (err) {
        console.error(err);
    });
     
    init.start();

    TODO


    • create tests with mocha
    • detailed documentation
    • added before/after events when running each initializer

    License

    MIT

    Install

    npm i initializer

    DownloadsWeekly Downloads

    1

    Version

    0.0.3

    License

    none

    Last publish

    Collaborators

    • alexgalletti