them

Easier node require

npm install them
8 downloads in the last week
16 downloads in the last month

Demo example

Instead of doing this

var http = require('http'),
    myModule = require('./lib/myModule'),
    User = require('./lib/models').User;

// rest of your code

you do

require("them")(function(http, myModule, User) {
  // rest of you code
})

The goals I wanted to achieve with this library

  • Avoid redundand pattern of require
  • Have centralized, relative to the root require
  • Contistent naming across my application
  • Configurable require for test and coverage
  • Stop the "where the comma should go" debate

Warning before use

  • Do not use in libraries or modules, but you can safely use it in your application.
  • This library is quite young, please be careful and patient.

Installation

npm install them --save

Initialization

You must initialize them before you use it, because you have to tell what is your root module and all the required modules should be relative to that.

require('them').init(module, [mapping]);
  • module: do not change it, you have to pass the module
  • mapping: a simple which contains mapping between name and module if it doesn't match.

Example:

require('them').init(module, {
    _: "underscore",
    email: "./services/email",
    User: "./models/models#User",
});

Usage

Example

require("them")(function(http, _, email, User) {
  // you code
});

Features

  • Automatically require module based on the parameter name
  • You have to configure manually your own submodules to be requirable, by default it search from the ./lib/ directory
  • You can change the default library directory with THEM_LIB environment variable. It's useful for coverage
npm loves you