UNPKG

1.02 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5"use strict";
6
7const { ConcatSource } = require("webpack-sources");
8
9class JsonpHotUpdateChunkTemplatePlugin {
10 apply(hotUpdateChunkTemplate) {
11 hotUpdateChunkTemplate.hooks.render.tap(
12 "JsonpHotUpdateChunkTemplatePlugin",
13 (modulesSource, modules, removedModules, hash, id) => {
14 const source = new ConcatSource();
15 source.add(
16 `${
17 hotUpdateChunkTemplate.outputOptions.hotUpdateFunction
18 }(${JSON.stringify(id)},`
19 );
20 source.add(modulesSource);
21 source.add(")");
22 return source;
23 }
24 );
25 hotUpdateChunkTemplate.hooks.hash.tap(
26 "JsonpHotUpdateChunkTemplatePlugin",
27 hash => {
28 hash.update("JsonpHotUpdateChunkTemplatePlugin");
29 hash.update("3");
30 hash.update(
31 `${hotUpdateChunkTemplate.outputOptions.hotUpdateFunction}`
32 );
33 hash.update(`${hotUpdateChunkTemplate.outputOptions.library}`);
34 }
35 );
36 }
37}
38
39module.exports = JsonpHotUpdateChunkTemplatePlugin;