webpack/lib/web/JsonpHotUpdateChunkTemplate...

28 lines
894 B
JavaScript
Raw Normal View History

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const ConcatSource = require("webpack-sources").ConcatSource;
class JsonpHotUpdateChunkTemplatePlugin {
apply(hotUpdateChunkTemplate) {
2017-11-08 18:32:05 +08:00
hotUpdateChunkTemplate.plugin("render", (modulesSource, modules, removedModules, hash, id) => {
const source = new ConcatSource();
2017-11-08 18:32:05 +08:00
source.add(`${hotUpdateChunkTemplate.outputOptions.hotUpdateFunction}(${JSON.stringify(id)},`);
source.add(modulesSource);
source.add(")");
return source;
});
2017-11-08 18:32:05 +08:00
hotUpdateChunkTemplate.plugin("hash", hash => {
hash.update("JsonpHotUpdateChunkTemplatePlugin");
hash.update("3");
2017-11-08 18:32:05 +08:00
hash.update(`${hotUpdateChunkTemplate.outputOptions.hotUpdateFunction}`);
hash.update(`${hotUpdateChunkTemplate.outputOptions.library}`);
});
}
}
module.exports = JsonpHotUpdateChunkTemplatePlugin;