Skip to content

Commit

Permalink
Closes GH-690 node_modules folders should be highest priority
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacs authored and ry committed Feb 28, 2011
1 parent a48f73d commit 3599c71
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
4 changes: 4 additions & 0 deletions doc/api/modules.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,10 @@ the `NODE_PATH` environment variable might have been set to:

/home/micheil/.node_modules:/usr/local/lib/node_modules

Loading from the `require.paths` locations is only performed if the
module could not be found using the `node_modules` algorithm above.
Global modules are lower priority than bundled dependencies.

#### **Note:** Please Avoid Modifying `require.paths`

For compatibility reasons, `require.paths` is still given first priority
Expand Down
7 changes: 5 additions & 2 deletions lib/module.js
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,10 @@ Module._resolveLookupPaths = function(request, parent) {
var start = request.substring(0, 2);
if (start !== './' && start !== '..') {
var paths = Module._paths;
if (parent) paths = paths.concat(parent.paths);
if (parent) {
if (!parent.paths) parent.paths = [];
paths = parent.paths.concat(paths);
}
return [request, paths];
}

Expand All @@ -211,7 +214,7 @@ Module._resolveLookupPaths = function(request, parent) {
// make require('./path/to/foo') work - normally the path is taken
// from realpath(__filename) but with eval there is no filename
var mainPaths = ['.'].concat(Module._paths);
mainPaths = mainPaths.concat(Module._nodeModulePaths('.'));
mainPaths = Module._nodeModulePaths('.').concat(mainPaths);
return [request, mainPaths];
}

Expand Down

0 comments on commit 3599c71

Please sign in to comment.