diff --git a/lib/module.js b/lib/module.js index 3eb3d3cb2db909..5c18d943037eef 100644 --- a/lib/module.js +++ b/lib/module.js @@ -186,6 +186,10 @@ Module._findPath = function(request, paths) { } } + if (!filename) { + filename = tryPackage(basePath, exts); + } + if (!filename) { // try it with each of the extensions at "index" filename = tryExtensions(path.resolve(basePath, 'index'), exts); diff --git a/test/fixtures/require-bin/bin/req.js b/test/fixtures/require-bin/bin/req.js new file mode 100644 index 00000000000000..4b2e02c0cc19c0 --- /dev/null +++ b/test/fixtures/require-bin/bin/req.js @@ -0,0 +1 @@ +module.exports = require('../'); diff --git a/test/fixtures/require-bin/lib/req.js b/test/fixtures/require-bin/lib/req.js new file mode 100644 index 00000000000000..9dc5fc1e4a43ed --- /dev/null +++ b/test/fixtures/require-bin/lib/req.js @@ -0,0 +1 @@ +module.exports = ''; diff --git a/test/fixtures/require-bin/package.json b/test/fixtures/require-bin/package.json new file mode 100644 index 00000000000000..5ffac0c1e362ab --- /dev/null +++ b/test/fixtures/require-bin/package.json @@ -0,0 +1,4 @@ +{ + "name": "req", + "main": "./lib/req.js" +} diff --git a/test/simple/test-require-extensions-main.js b/test/simple/test-require-extensions-main.js new file mode 100644 index 00000000000000..032f2eb2c983da --- /dev/null +++ b/test/simple/test-require-extensions-main.js @@ -0,0 +1,4 @@ +var common = require('../common'); +var assert = require('assert'); + +require(common.fixturesDir + '/require-bin/bin/req.js');