them

0.0.4 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i them

Weekly Downloads

24

Version

0.0.4

License

BSD

Last publish

Collaborators

  • balnagy