feat:初始化项目
This commit is contained in:
commit
ca52cf1bc0
486 files changed
+56656
No files matched your search
@@ -0,0 +1,57 @@
|
||||
var md5 = require('crypto-md5');
|
||||
var path = require('path');
|
||||
var rd = require('rd');
|
||||
var fs = require('fs');
|
||||
var _ = require('lodash');
|
||||
|
||||
function changed(dir) {
|
||||
|
||||
var manifestPath = path.resolve('./src/manifest.json');
|
||||
var manifest = {};
|
||||
var originManifest = {};
|
||||
|
||||
//如果存在 manifest.json, 则加载保存
|
||||
if (fs.existsSync(manifestPath)) {
|
||||
originManifest = require(manifestPath);
|
||||
}
|
||||
|
||||
//遍历目录, 根据内容 md5 加密
|
||||
rd.eachFileFilterSync(dir, function (file) {
|
||||
var index = path.relative(dir, file);
|
||||
|
||||
//过滤掉 隐藏文件 和 manifest.json
|
||||
if (path.extname(file) && index !== 'manifest.json' && fs.existsSync(file)) {
|
||||
|
||||
var data = fs.readFileSync(file);
|
||||
|
||||
if (data) {
|
||||
manifest[index] = md5(data, 'hex');
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//将新的 manifest.json 保存
|
||||
fs.writeFile(manifestPath, JSON.stringify(manifest), function (err) {
|
||||
if (err) throw err;
|
||||
});
|
||||
|
||||
//找出有变动的文件
|
||||
if(originManifest){
|
||||
var diff = {};
|
||||
|
||||
_.forEach(manifest, function (item, index) {
|
||||
if (originManifest[index] !== item) {
|
||||
diff[index] = item;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return diff;
|
||||
|
||||
}
|
||||
|
||||
|
||||
module.exports = function(){
|
||||
return changed;
|
||||
};
|
||||
Reference in new issue
Block a user