diff --git a/lib/module.js b/lib/module.js index e418a1a3e08440..b9de9c3edfb782 100644 --- a/lib/module.js +++ b/lib/module.js @@ -120,6 +120,9 @@ function readPackage(requestPath) { return false; } + if (!/"main"/.test(json)) + return packageMainCache[requestPath] = undefined; + try { var pkg = packageMainCache[requestPath] = JSON.parse(json).main; } catch (e) { diff --git a/test/fixtures/packages/invalid/index.js b/test/fixtures/packages/invalid/index.js deleted file mode 100644 index 014fa39dc365d1..00000000000000 --- a/test/fixtures/packages/invalid/index.js +++ /dev/null @@ -1 +0,0 @@ -exports.ok = 'ok'; diff --git a/test/fixtures/packages/invalid/package.json b/test/fixtures/packages/invalid/package.json deleted file mode 100644 index 004e1e20324524..00000000000000 --- a/test/fixtures/packages/invalid/package.json +++ /dev/null @@ -1 +0,0 @@ -{,} diff --git a/test/sequential/test-module-loading.js b/test/sequential/test-module-loading.js index 47916d352d729a..790331a37b9d80 100644 --- a/test/sequential/test-module-loading.js +++ b/test/sequential/test-module-loading.js @@ -100,14 +100,6 @@ const d2 = require('../fixtures/b/d'); assert.notStrictEqual(threeFolder, three); } -console.error('test package.json require() loading'); -assert.throws( - function() { - require('../fixtures/packages/invalid'); - }, - /^SyntaxError: Error parsing .+: Unexpected token , in JSON at position 1$/ -); - assert.strictEqual(require('../fixtures/packages/index').ok, 'ok', 'Failed loading package'); assert.strictEqual(require('../fixtures/packages/main').ok, 'ok',