require-directory
Advanced tools
Comparing version 0.0.3 to 1.0.0
25
index.js
var fs = require('fs'); | ||
var join = require('path').join; | ||
var resolve = require('path').resolve; | ||
var dirname = require('path').dirname; | ||
var requireDirectory = function(m, path, exclude){ | ||
var delegate = function(){ return true; }; | ||
var requireDirectory = module.exports = function(m, path, exclude){ | ||
var delegate = function(){ return true; }; // default delegate includes everything | ||
var retval = {}; | ||
// if no path was passed in, assume the equivelant of __dirname from caller | ||
if(!path){ | ||
path = dirname(m.filename); | ||
} | ||
// if a RegExp was passed in as exclude, create a delegate that blacklists that RegExp | ||
// if a function was passed in as exclude, use that function as the delegate | ||
// default to an always-yes delegate | ||
if(exclude instanceof RegExp){ | ||
@@ -19,11 +30,11 @@ delegate = function(path){ | ||
var retval = {}; | ||
// get the path of each file in specified directory, append to current tree node, recurse | ||
path = resolve(path); | ||
fs.readdirSync(path).forEach(function(filename){ | ||
var joined = join(path, filename); | ||
if(delegate(joined)){ | ||
if(joined !== m.filename && delegate(joined)){ | ||
if(fs.statSync(joined).isDirectory()){ | ||
retval[filename] = requireDirectory(m, joined, delegate); | ||
retval[filename] = requireDirectory(m, joined, delegate); // this node is a directory; recurse | ||
}else{ | ||
var name = filename.substring(0, filename.lastIndexOf('.')); | ||
var name = filename.substring(0, filename.lastIndexOf('.')); // hash node shouldn't include file extension | ||
retval[name] = m.require(joined); | ||
@@ -35,3 +46,1 @@ } | ||
}; | ||
module.exports = requireDirectory; |
{ | ||
"author": "Troy Goode <troygoode@gmail.com> (http://github.com/troygoode/)", | ||
"name": "require-directory", | ||
"version": "0.0.3", | ||
"version": "1.0.0", | ||
"description": "Recursively iterates over specified directory, requiring each file, and returning a nested hash structure containing those libraries.", | ||
@@ -6,0 +6,0 @@ "keywords": ["require", "directory", "library", "recursive"], |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
6450
40
0
90