From 4436c2f405243323e824092cdad2e4ecc5899fa9 Mon Sep 17 00:00:00 2001 From: Aseem Kishore Date: Fri, 20 Mar 2015 09:32:03 -0400 Subject: [PATCH] Improve node_modules test. --- index.js | 1 + test/recurse.js | 18 ++++++------------ test/recurse/node_modules/fake.js | 1 + 3 files changed, 8 insertions(+), 12 deletions(-) create mode 100644 test/recurse/node_modules/fake.js diff --git a/index.js b/index.js index d3c523d..b47a19f 100644 --- a/index.js +++ b/index.js @@ -72,6 +72,7 @@ module.exports = function requireDir(dir, opts) { if (base === 'node_modules') { continue; } + map[base] = requireDir(path, opts); // if duplicates are wanted, key off the full name too: diff --git a/test/recurse.js b/test/recurse.js index 941329d..39e8e76 100644 --- a/test/recurse.js +++ b/test/recurse.js @@ -1,8 +1,4 @@ var assert = require('assert'); -var mkdirp = require('mkdirp'); -var path = require('path'); -var fs = require('fs'); - var requireDir = require('..'); // first test without recursing: @@ -11,14 +7,6 @@ assert.deepEqual(requireDir('./recurse'), { }); // then test with recursing: -var dir = path.join(__dirname, 'recurse', 'node_modules'); -try { - fs.statSync(path.join(dir, 'fake.js')); -} catch (e) { - mkdirp.sync(dir); - fs.writeFileSync(path.join(dir, 'fake.js'), 'module.exports = "ignore";'); -} - assert.deepEqual(requireDir('./recurse', {recurse: true}), { a: 'a', b: { @@ -31,6 +19,12 @@ assert.deepEqual(requireDir('./recurse', {recurse: true}), { c: { '3': 3 }, + // note that node_modules was explicitly ignored +}); + +// finally, test that node_modules can still be required directly: +assert.deepEqual(requireDir('./recurse/node_modules'), { + fake: 'fake', }); console.log('Recurse tests passed.'); diff --git a/test/recurse/node_modules/fake.js b/test/recurse/node_modules/fake.js new file mode 100644 index 0000000..f514ea1 --- /dev/null +++ b/test/recurse/node_modules/fake.js @@ -0,0 +1 @@ +module.exports = 'fake';