d-copy
Version:
Copy the content of one directory to the next destination
71 lines (60 loc) • 1.92 kB
JavaScript
// Generated by CoffeeScript 1.7.1
(function() {
var DirectoryCopy, fs, mkdirp, path;
path = require("path");
fs = require("fs");
mkdirp = require("mkdirp");
DirectoryCopy = (function() {
function DirectoryCopy(input, output, verbose) {
this.input = input;
this.output = output;
if (verbose == null) {
verbose = false;
}
this.message = "";
this.reader = require("node-dir");
this.base = path.resolve(this.input);
console.log("base is now " + this.base);
}
DirectoryCopy.prototype.getFiles = function() {
var base, callback, input, output, reader, writeFiles;
reader = require("node-dir");
base = this.base;
input = this.input;
output = this.output;
writeFiles = function(input, output) {
debugger;
return fs.readFile(input, {
encoding: "utf8"
}, function(err, data) {
if (typeof data === "undefined") {
data = "";
}
return mkdirp(path.dirname(output), function() {
return fs.writeFile(output, data, null, function() {
return console.log("file created, " + output);
});
});
});
};
callback = function(err, files) {
var f, fp, _i, _len, _results;
_results = [];
for (_i = 0, _len = files.length; _i < _len; _i++) {
f = files[_i];
fp = path.relative(input, f);
input = path.resolve(base, f);
output = path.resolve(process.cwd(), output, fp);
_results.push(writeFiles(input, output));
}
return _results;
};
return reader.files(this.base, callback);
};
DirectoryCopy.prototype.log = function(text) {
return this.message += "" + text + "\n";
};
return DirectoryCopy;
})();
exports.DirectoryCopy = DirectoryCopy;
}).call(this);