Nominating Presidential Muppets
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    mattisg.requirewithpublic

    RequireWith

    Allows you to do inject dependencies in (i.e. pass variables to) a required Node.js module.

    Usage

    var requireWith = require('mattisg.requirewith');
    var mod = requireWith('./mymodule', {
    	config: config,
    	client: someVar
    });
    

    Then, the config and client variables will be available in mymodule.

    Redefining require

    You can even redefine require for a one-line replacement:

    require = require('mattisg.requirewith');
    

    This module calls require directly if no argument other than the module name is given, so it is perfectly safe to redefine require. Actually, unless you specify so explicitly, this will automatically be done recursively for modules required with injections.

    To disable recursive redefinitions, pass false as the third argument. To summarize:

    require = require('mattisg.requirewith');
    
    var path = require('path');	// exactly the same as no redefinition
    
    var mymod = require('./mymodule', {	// config can be used in mymodule, and mymodule does not need to redefine require to get injection capabilities
    	config: config
    });
    
    var norec = requireWith('./mymodule', {	// config can be used in mymodule, but it gets only the default require
    	config: config
    }, false);
    

    Installation

    npm install mattisg.requirewith
    

    Keywords

    none

    install

    npm i mattisg.requirewith

    Downloadslast 7 days

    2

    version

    0.1.1

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar