From 27360fd33d4611b01da2f4add6eb822e390e4b22 Mon Sep 17 00:00:00 2001 From: DimitarTachev Date: Tue, 4 Jun 2019 11:52:59 +0300 Subject: [PATCH] fix: do not include hot updates when generating requires in entry files (they have to be required and processed by the Webpack runtime) --- plugins/GenerateNativeScriptEntryPointsPlugin.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/GenerateNativeScriptEntryPointsPlugin.js b/plugins/GenerateNativeScriptEntryPointsPlugin.js index 3932f3ee..800c5888 100644 --- a/plugins/GenerateNativeScriptEntryPointsPlugin.js +++ b/plugins/GenerateNativeScriptEntryPointsPlugin.js @@ -56,7 +56,9 @@ exports.GenerateNativeScriptEntryPointsPlugin = (function () { entryChunk = chunk; } else { chunk.files.forEach(fileName => { - requireChunkFiles += `require("./${fileName}");`; + if (!this.isHMRFile(fileName)) { + requireChunkFiles += `require("./${fileName}");`; + } }); } @@ -72,8 +74,10 @@ exports.GenerateNativeScriptEntryPointsPlugin = (function () { throw new Error(`${GenerationFailedError} File "${fileName}" not found for entry "${entryPointName}".`); } - const currentEntryFileContent = compilation.assets[fileName].source(); - compilation.assets[fileName] = new RawSource(`${requireDeps}${currentEntryFileContent}`); + if (!this.isHMRFile(fileName)) { + const currentEntryFileContent = compilation.assets[fileName].source(); + compilation.assets[fileName] = new RawSource(`${requireDeps}${currentEntryFileContent}`); + } }); } @@ -84,5 +88,9 @@ exports.GenerateNativeScriptEntryPointsPlugin = (function () { } } + GenerateNativeScriptEntryPointsPlugin.prototype.isHMRFile = function (fileName) { + return fileName.indexOf("hot-update") > -1; + } + return GenerateNativeScriptEntryPointsPlugin; })();