gulp-control-version
Version:
control version filename.
144 lines (73 loc) • 2.49 kB
JavaScript
;
var fs = require('fs'),
adler32 = require('adler32');
var tew = function (dname, fname) {
var readable;
testfilename(dname, fname);
function testfilename(dir, namefile) {
fs.readdir(dir, function(err, items) {
for (var i=0; i<items.length; i++) {
if(items[i].substring(9, 50) === fname){
fs.unlinkSync(dname+""+items[i]);
}
}
});
}
function hasfilemane2(){
var timeInMs = Date.now();
var data = new Buffer(''+timeInMs);
var sum = adler32.sum(data);
return sum;
}
var inte2 = hasfilemane2();
readable = inte2;
return readable;
}
module.exports = exports = tew;
exports.rewrite = function (data){
var g_hash;
var str = JSON.stringify(data);
var data_json = JSON.parse(str);
var resdir = data_json.resdir;
var namefile = data_json.namefile;
var dirrefactor = data_json.dirrefactor;
var namerefactor = data_json.namerefactor;
var codname = data_json.codname;
var dirrefactorURL = data.dirrefactor[0];
if(codname === undefined){
codname = "utf-8";
}
if(namerefactor === undefined ){
namerefactor = namefile;
}
fs.readdir(resdir, function(err, items) {
//fs--------------------------------------------------
if (!err) {
for (var i=0; i<items.length; i++) {
//for-------------------------------------------
if(items[i].substring(9, 50) === namefile){
g_hash = items[i].substring(0, 9);
for(var i=0; data.dirrefactor[1].length > i; i++){
//for-2-------------------------------------
var url = data.dirrefactor[0]+""+data.dirrefactor[1][i];
//[read]
var datafile = fs.readFileSync(url, codname);
//fs-rename-----------------------------------
var renameMe = namerefactor;
var re = RegExp("\\d{9}"+renameMe , "g");
datafile = datafile.replace(re, g_hash+""+namerefactor);
fs.writeFileSync(url, datafile);
datafile = null;
//fs-rename-----------------------------------
//[/read]
//for-2-------------------------------------
}
}
}
//for-------------------------------------------------
}else{
return console.log(err);
}
//fs--------------------------------------------------
});
};