Skip to content

Commit f8defa3

Browse files
isaacsry
authored andcommitted
package.json main as indexed subdir
Closes nodejsGH-686.
1 parent aac5cbe commit f8defa3

File tree

4 files changed

+8
-1
lines changed

4 files changed

+8
-1
lines changed

lib/module.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ function tryPackage(requestPath, exts) {
8585
if (!pkg || !pkg.main) return false;
8686

8787
var filename = path.resolve(requestPath, pkg.main);
88-
return tryFile(filename) || tryExtensions(filename, exts);
88+
return tryFile(filename) || tryExtensions(filename, exts) ||
89+
tryExtensions(path.resolve(filename, 'index'), exts);
8990
}
9091

9192
// In order to minimize unnecessary lstat() calls,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
exports.ok = "ok"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{"name":"package-name"
2+
,"version":"1.2.3"
3+
,"main":"package-main-module"}

test/simple/test-module-loading.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ assert.notEqual(threeFolder, three);
7070
common.debug('test package.json require() loading');
7171
assert.equal(require('../fixtures/packages/main').ok, 'ok',
7272
'Failed loading package');
73+
assert.equal(require('../fixtures/packages/main-index').ok, 'ok',
74+
'Failed loading package with index.js in main subdir');
7375

7476
common.debug('test cycles containing a .. path');
7577
var root = require('../fixtures/cycles/root'),

0 commit comments

Comments
 (0)