node package manager

walkr

Recursive file walking / copying for node with middleware

  • Ability to filter files & directories.
  • Inspired by dryice, findit.

Copyr Example:

var walkFiles = require('walkr'),
fs            = require('fs'),
mu            = require('mu'),
tplData       = {};
 
walkFiles(source, destination).
filter(/^\./). //no hidden files AND dirs 
filterDir(/node_modules/). //no node_modules dir 
filterFile(function(optionsnext) {
 
//template file? parse it, and copy it. 
if(options.source.match(/.tpl.html/)) {
//after write file, call next. SINCE parameters are given, walkr assumes files were written, so it does 
//not continue. 
var tpl = mu.to_html(fs.readFileSync(options.source, "utf8"), tplData);
return fs.writeFile(options.destination, tpl, next);
 
}
 
//call next without parameters  
return next();
}).
filter(walkFiles.copy).
start(function(err) {
//done 
});

Walkr Example:

var walkFiles = require('walkr');
 
walkFiles(source).
on('directory', function(ops) {
console.log(ops.source);
}).
on('file', function(ops) {
console.log(ops.source);
}).
start(function(err) {
});