refactored folder copying to account for the posibility of the destination folder not existing
This commit is contained in:
parent
a3cb6e5626
commit
be1c09ebd1
1 changed files with 39 additions and 24 deletions
63
genStatic.js
63
genStatic.js
|
@ -1,33 +1,20 @@
|
||||||
|
var async = require('async');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var ncp = require('ncp').ncp;
|
var ncp = require('ncp').ncp;
|
||||||
|
var mkdirp = require('mkdirp');
|
||||||
|
|
||||||
// Function to copy over the static folder to generated directory if
|
// Function to copy over the static folder to generated directory if
|
||||||
// it has a earlier modified time.
|
// it has a earlier modified time.
|
||||||
var generateStatic = function(cb) {
|
var generateStatic = function(cb) {
|
||||||
var sourceFolder = 'data/static';
|
var sourceFolder = 'data/static';
|
||||||
var destFolder = 'generated/static';
|
var destFolder = 'generated/static';
|
||||||
async.parallel({
|
|
||||||
sourceMtime: function(cb) {
|
console.log('Getting stats for '+destFolder);
|
||||||
console.log('Getting stats for '+sourceFolder);
|
fs.stat(destFolder, function(err, dstats) {
|
||||||
fs.stat(sourceFolder, function(err, sstats) {
|
if (err) {
|
||||||
if (err) console.log(err);
|
console.log(err);
|
||||||
console.log(sourceFolder+' mtime: '+sstats.mtime);
|
if (err.code == "ENOENT") {
|
||||||
cb(null, sstats.mtime);
|
console.log(destFolder + ' does not exist.');
|
||||||
});
|
|
||||||
},
|
|
||||||
destMtime: function(cb) {
|
|
||||||
console.log('Getting stats for '+destFolder);
|
|
||||||
fs.stat(destFolder, function(err, dstats) {
|
|
||||||
if (err) console.log(err);
|
|
||||||
console.log(destFolder+' mtime: '+dstats.mtime);
|
|
||||||
cb(null, dstats.mtime);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}, function(err, results) {
|
|
||||||
if (results.sourceMtime > results.destMtime) {
|
|
||||||
console.log(destFolder+' is older than '+sourceFolder);
|
|
||||||
fs.unlink(destFolder, function(err) {
|
|
||||||
console.log(destFolder+' deleted.');
|
|
||||||
ncp(sourceFolder, destFolder, function(err) {
|
ncp(sourceFolder, destFolder, function(err) {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
console.log(sourceFolder+' copied to '+destFolder);
|
console.log(sourceFolder+' copied to '+destFolder);
|
||||||
|
@ -37,10 +24,38 @@ var generateStatic = function(cb) {
|
||||||
cb(err);
|
cb(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
else {
|
||||||
|
cb(err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log(destFolder+' is not older than '+sourceFolder+' ignoring...');
|
console.log(destFolder+' mtime: '+dstats.mtime);
|
||||||
|
console.log('Getting stats for '+destFolder);
|
||||||
|
fs.stat(sourceFolder, function(err, sstats) {
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log(sourceFolder+' mtime: '+sstats.mtime);
|
||||||
|
cb(null, sstats.mtime);
|
||||||
|
|
||||||
|
if (sstats.mtime > dstats.mtime) {
|
||||||
|
console.log(destFolder+' is older than '+sourceFolder);
|
||||||
|
fs.unlink(destFolder, function(err) {
|
||||||
|
console.log(destFolder+' deleted.');
|
||||||
|
ncp(sourceFolder, destFolder, function(err) {
|
||||||
|
if (!err) {
|
||||||
|
console.log(sourceFolder+' copied to '+destFolder);
|
||||||
|
cb(null);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cb(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log(destFolder+' is not older than '+sourceFolder+' ignoring...');
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue