UNPKG

builder-isv

Version:

ISV 模块本地预览与云构建器

29 lines (23 loc) 1.03 kB
/** * @author 龙喜<xiaolong.lxl@alibaba-inc.com> * @description webpack-plugin-compilation-events */ 'use strict'; 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;