Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Generates require functions that act as if they were operating in a given path.
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib Make resolve work with node v0.6.10 .
test Fixed to work with node > 0.4
.gitignore
.travis.yml
License
Makefile
Readme.md
package.json

Readme.md

require-like

Build Status

Generates require functions that act as if they were operating in a given path.

Install

npm install require-like

Usage

A require function that acts as if it was executed in './lib/bar':

var requireLike = require('require-like');
var myRequire = requireLike(__dirname + '/lib/bar.js');

var myFoo = myRequire('./foo.js');
var foo = require('./lib/foo');

require('assert').strictEqual(myFoo, foo);

API

requireLike(path, [uncached])

Returns a require function that acts as if it was operating in the given path.

Setting the uncached parameter to true returns a function that by-passes the module cache.

Implementation Details

This module works by accessing some private node APIs. You shouldn't worry about that so, since I will make sure this module does not break in the future by either patching it, or making a patch for node that makes the needed APIs public.

What to do with this

I use this library for dependency injection in unit tests. However, you could also use it to create experimental require addons yourself.

License

require-like is licensed under the MIT license.

Something went wrong with that request. Please try again.