diff --git a/lib/sync.js b/lib/sync.js index ce12a6a6..2301f8d1 100644 --- a/lib/sync.js +++ b/lib/sync.js @@ -164,10 +164,12 @@ module.exports = function (x, options) { var dirs = nodeModulesPaths(start, opts, x); for (var i = 0; i < dirs.length; i++) { var dir = dirs[i]; - var m = loadAsFileSync(path.join(dir, '/', x)); - if (m) return m; - var n = loadAsDirectorySync(path.join(dir, '/', x)); - if (n) return n; + if (isDirectory(dir)) { + var m = loadAsFileSync(path.join(dir, '/', x)); + if (m) return m; + var n = loadAsDirectorySync(path.join(dir, '/', x)); + if (n) return n; + } } } }; diff --git a/test/mock_sync.js b/test/mock_sync.js index 907660fd..50812968 100644 --- a/test/mock_sync.js +++ b/test/mock_sync.js @@ -10,6 +10,7 @@ test('mock', function (t) { var dirs = {}; dirs[path.resolve('/foo/bar')] = true; + dirs[path.resolve('/foo/node_modules')] = true; function opts(basedir) { return { @@ -56,6 +57,7 @@ test('mock package', function (t) { var dirs = {}; dirs[path.resolve('/foo')] = true; + dirs[path.resolve('/foo/node_modules')] = true; function opts(basedir) { return {