webpack/lib/node/NodeMainTemplateAsync.runti...

45 lines
1.3 KiB
JavaScript
Raw Normal View History

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
2016-09-14 17:31:13 +08:00
/*global installedChunks $hotChunkFilename$ $require$ hotAddUpdateChunk $hotMainFilename$ */
module.exports = function() {
2018-02-25 09:15:37 +08:00
// eslint-disable-next-line no-unused-vars
2018-02-25 09:00:20 +08:00
function hotDownloadUpdateChunk(chunkId) {
var filename = require("path").join(__dirname, $hotChunkFilename$);
require("fs").readFile(filename, "utf-8", function(err, content) {
2018-02-25 09:00:20 +08:00
if (err) {
if ($require$.onError) return $require$.oe(err);
throw err;
}
var chunk = {};
2018-02-25 09:00:20 +08:00
require("vm").runInThisContext(
"(function(exports) {" + content + "\n})",
2018-04-09 01:26:04 +08:00
{ filename: filename }
2018-02-25 09:00:20 +08:00
)(chunk);
hotAddUpdateChunk(chunk.id, chunk.modules);
});
}
2018-02-25 09:15:37 +08:00
// eslint-disable-next-line no-unused-vars
2018-02-25 09:00:20 +08:00
function hotDownloadManifest() {
var filename = require("path").join(__dirname, $hotMainFilename$);
return new Promise(function(resolve, reject) {
require("fs").readFile(filename, "utf-8", function(err, content) {
2018-02-25 09:00:20 +08:00
if (err) return resolve();
try {
var update = JSON.parse(content);
2018-02-25 09:00:20 +08:00
} catch (e) {
return reject(e);
}
resolve(update);
});
});
}
// eslint-disable-next-line no-unused-vars
2018-02-25 09:00:20 +08:00
function hotDisposeChunk(chunkId) {
delete installedChunks[chunkId];
}
};