dirmr
v0.0.3
Published
Directory merging & manipulation
Downloads
3
Readme
Merges directories together
Motivation
- Used in mesh.
- Bootstrapping libraries
Example
var dirmr = require('dirmr'),
fs = require("fs"),
mu = require("mustache"),
tplData = {};
dirmr().
//read the bootstrap directory for the target dirs
readdir(__dirname + "/src", /^(node|web)$/).
//filter through template files, and fill them - examples are: .mu.html, .ejs.html, .mu.json
filterFile(dirmr.parseTemplate(tplData)).
//copy all the files to the library directory
join(__dirname + "/lib").
//called after all files have been copied
complete(function(err, result) {
});
API
.dirmr([dirs])
dirmr([__dirname + "/src/node", __dirname + "/src/web"]).
join(__dirname + "/lib");
.join(directory)
Joins (merges) the target directories to the output folder
.readdir(directory, filter)
Scans the given directory for dirs to merge
dirmr().
readdir(__dirname + "/src",/^(node|web)$/).
join(__dirname + "/lib");
.copyEach(outputDir)
Copies target directories to output directory without merging
mergedir().
readdir(__dirname + "/src", /^(node|web)$/).
copyEach(__dirname + "/bootstrap").
complete(function(err, result) {
})
.sort(fn)
Sorts the directories
.filterFile(search, fn)
Filters files before they're copied
dirmr().
readdir(__dirname + "/src").
filterFile(function(options, next) {
if(!/\.tpl\.\w+/.test(options.name)) return;
//fs.writeFile(options.destination, mustache.to_html(...))
}).
join(__dirname + "/lib");
.complete(callback)
Called once the operations are complete
exports.mergeJSON(repl, obj)
merges JSON files as they're copied to the target directory
dirmr().
readdir(__dirname + "/src").
filterFile(/.merge.json/, dirmr.mergeJSON(".json", { name: 'blah' })).
join(__dirname + "/lib");
exports.parseTemplate(data)
Searches for template files, and replaces content with the data given. supported templates: mu, ejs
dirmr().
readdir(__dirname + "/src").
filterFile(dirmr.parseTemplate({ name: 'my-app', version: '0.0.10' })).
join(__dirname + "/lib");