UNPKG

d-copy

Version:

Copy the content of one directory to the next destination

71 lines (60 loc) 1.92 kB
// 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);