require-directory
Advanced tools
Comparing version 1.0.1 to 1.0.2
22
index.js
@@ -7,3 +7,6 @@ var fs = require('fs'); | ||
var requireDirectory = module.exports = function(m, path, exclude){ | ||
var delegate = function(){ return true; }; // default delegate includes everything | ||
var defaultDelegate = function(path, filename){ | ||
return filename[0] !== '.' && /\.(js|coffee)$/i.test(filename); | ||
}; | ||
var delegate = defaultDelegate; | ||
var retval = {}; | ||
@@ -20,5 +23,7 @@ | ||
if(exclude instanceof RegExp){ | ||
delegate = function(path){ | ||
if(exclude.test(path)){ | ||
delegate = function(path, filename){ | ||
if(!defaultDelegate(path, filename)){ | ||
return false; | ||
}else if(exclude.test(path)){ | ||
return false; | ||
}else{ | ||
@@ -35,10 +40,7 @@ return true; | ||
fs.readdirSync(path).forEach(function(filename){ | ||
if(filename[0] === '.'){ //ignore hidden files | ||
return; | ||
} | ||
var joined = join(path, filename); | ||
if(joined !== m.filename && delegate(joined)){ | ||
if(fs.statSync(joined).isDirectory()){ | ||
retval[filename] = requireDirectory(m, joined, delegate); // this node is a directory; recurse | ||
}else{ | ||
if(fs.statSync(joined).isDirectory()){ | ||
retval[filename] = requireDirectory(m, joined, delegate); // this node is a directory; recurse | ||
}else{ | ||
if(joined !== m.filename && delegate(joined, filename)){ | ||
var name = filename.substring(0, filename.lastIndexOf('.')); // hash node shouldn't include file extension | ||
@@ -45,0 +47,0 @@ retval[name] = m.require(joined); |
{ | ||
"author": "Troy Goode <troygoode@gmail.com> (http://github.com/troygoode/)", | ||
"name": "require-directory", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"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"], |
7522
45