Write minimal node index.js files that require and export siblings by file basename
1.2.0
npm install requireindex
or in package.json
json
{
...
"dependencies": {
"requireindex": "1.1.x"
}
}
Check the test directory for example usage. The test/lib looks like:
``` lib/ index.js Foo.js bar/ index.js f.js fing.js fed/ again.js ignored.js index.js somemore.js bam.js _private.js
```
The index.js files in test/lib/ and test/lib/bar/ contain:
js
module.exports = require('requireindex')(__dirname);
and the index.js file in test/lib/bar/fed/ contains:
js
module.exports = require('requireindex')(__dirname, ['again', 'somemore']);
The optional second argument allows you to explicitly specify the required files using their basename. In this example test/lib/bar/fed/ignored.js is not included as a public module. The other way to make a module/file private without the need for explicitly naming all the other included files is to prefix the filename with an underscore, as demonstrated by test/lib/_private.js which is not exported.
So, with these index.js files, the result of
js
require('lib');
is:
js
{
bam: {
m: [Function],
n: [Function]
},
bar: {
f: [Function],
fed: {
again: [Function],
somemore: [Function]
},
fing: [Function]
},
Foo: {
l: [Function],
ls: [Function]
}
}