builder-isv
Version:
ISV 模块本地预览与云构建器
29 lines (23 loc) • 1.03 kB
JavaScript
/**
* @author 龙喜<xiaolong.lxl@alibaba-inc.com>
* @description webpack-plugin-compilation-events
*/
;
const path = require('path');
const utils = require('../lib/utils');
const _ = require('lodash');
function DepsMergePlugin(options) {
this.options = options;
}
DepsMergePlugin.prototype.apply = function(compiler) {
compiler.plugin('done', (stats) => {
var nativeDeps = utils.parseOrFalse(utils.readFileOrEmpty(path.join(this.options.modPath, '.cachefile', 'deps.native.json')));
var webDeps = utils.parseOrFalse(utils.readFileOrEmpty(path.join(this.options.modPath, '.cachefile', 'deps.web.json')));
var originDeps = utils.parseOrFalse(utils.readFileOrEmpty(path.join(this.options.modPath, '.cachefile', 'deps.origin.json')));
if (nativeDeps && webDeps && originDeps) {
var finalDeps = _.assign(nativeDeps, webDeps, originDeps);
utils.writeFileOrNoneSync(path.join(this.options.modPath, 'deps.json'), JSON.stringify(finalDeps));
}
});
};
module.exports = DepsMergePlugin;