mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
77 lines
No EOL
2.3 KiB
JavaScript
77 lines
No EOL
2.3 KiB
JavaScript
(function(){
|
|
'use strict';
|
|
|
|
var main = require('./main'), //global.cloudcmd.main,
|
|
DIR = main.DIR,
|
|
|
|
fs = main.fs,
|
|
path = main.path,
|
|
Util = main.util,
|
|
|
|
/* object contains hashes of files*/
|
|
CHANGESNAME = DIR + 'json/changes',
|
|
CHANGES_JSON = CHANGESNAME + '.json',
|
|
|
|
Times = main.require(CHANGESNAME) || [],
|
|
GTimesChanged;
|
|
|
|
exports.isFileChanged = function(pFileName, pLastFile_b, pCallBack){
|
|
var lReadedTime;
|
|
|
|
var i, n = Times.length;
|
|
for(i = 0; i < n; i++){
|
|
var lData = Times[i];
|
|
|
|
/* if founded row with file name - save hash */
|
|
if(lData.name === pFileName){
|
|
lReadedTime = lData.time;
|
|
break;
|
|
}
|
|
}
|
|
|
|
fs.stat(pFileName, function(pError, pStat){
|
|
var lTimeChanged;
|
|
|
|
if(!pError){
|
|
var lFileTime = pStat.mtime.getTime();
|
|
|
|
if(lReadedTime !== lFileTime){
|
|
Times[i] = {
|
|
name: pFileName,
|
|
time: lFileTime
|
|
};
|
|
|
|
lTimeChanged =
|
|
GTimesChanged = true;
|
|
}
|
|
|
|
if(pLastFile_b && GTimesChanged)
|
|
writeFile(CHANGES_JSON, Util.stringifyJSON(Times));
|
|
}
|
|
else{
|
|
Util.log(pError);
|
|
lTimeChanged = true;
|
|
}
|
|
|
|
Util.exec(pCallBack, lTimeChanged);
|
|
});
|
|
};
|
|
|
|
/*
|
|
* Функция записывает файла
|
|
* и выводит ошибку или сообщает,
|
|
* что файл успешно записан
|
|
*/
|
|
function writeFile(pFileName, pData){
|
|
fs.writeFile(pFileName, pData, function(pError){
|
|
if(pError)
|
|
Util.log(pError);
|
|
else
|
|
Util.log('minify: file ' + path.basename(pFileName) + ' writed...');
|
|
});
|
|
}
|
|
|
|
isFileChanged(DIR + 'manifest.yml', true, function(pData){
|
|
console.log(pData);
|
|
});
|
|
})(); |