webpack/lib/web/JsonpHotUpdateChunkTemplate...

28 lines
894 B
JavaScript

/*
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) {
hotUpdateChunkTemplate.plugin("render", (modulesSource, modules, removedModules, hash, id) => {
const source = new ConcatSource();
source.add(`${hotUpdateChunkTemplate.outputOptions.hotUpdateFunction}(${JSON.stringify(id)},`);
source.add(modulesSource);
source.add(")");
return source;
});
hotUpdateChunkTemplate.plugin("hash", hash => {
hash.update("JsonpHotUpdateChunkTemplatePlugin");
hash.update("3");
hash.update(`${hotUpdateChunkTemplate.outputOptions.hotUpdateFunction}`);
hash.update(`${hotUpdateChunkTemplate.outputOptions.library}`);
});
}
}
module.exports = JsonpHotUpdateChunkTemplatePlugin;