From 05b913a92c05efaed1d50ff8b968f4b72aab81b4 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 24 Jul 2017 10:29:08 +0200 Subject: [PATCH] cleanup messages and added more info --- lib/optimize/ModuleConcatenationPlugin.js | 9 +++++---- test/statsCases/scope-hoisting-multi/expected.txt | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/optimize/ModuleConcatenationPlugin.js b/lib/optimize/ModuleConcatenationPlugin.js index 624c677ec65..8bdf447fc9d 100644 --- a/lib/optimize/ModuleConcatenationPlugin.js +++ b/lib/optimize/ModuleConcatenationPlugin.js @@ -78,9 +78,10 @@ class ModuleConcatenationPlugin { const nonHarmonyReasons = module.reasons.filter(reason => !(reason.dependency instanceof HarmonyImportDependency)); if(nonHarmonyReasons.length > 0) { const importingModules = new Set(nonHarmonyReasons.map(r => r.module)); + const importingModuleTypes = new Map(Array.from(importingModules).map(m => [m, new Set(nonHarmonyReasons.filter(r => r.module === m).map(r => r.dependency.type).sort())])); setBailoutReason(module, (requestShortener) => { - const names = Array.from(importingModules).map(m => m.readableIdentifier(requestShortener)).sort(); - return `Module is referenced from these non-ECMAScript modules: ${names.join(", ")}`; + const names = Array.from(importingModules).map(m => `${m.readableIdentifier(requestShortener)} (referenced with ${Array.from(importingModuleTypes.get(m)).join(", ")})`).sort(); + return `Module is referenced from these modules with unsupported syntax: ${names.join(", ")}`; }); continue; } @@ -143,9 +144,9 @@ class ModuleConcatenationPlugin { const reason = getBailoutReason(warning[0], requestShortener); const reasonWithPrefix = reason ? ` (<- ${reason})` : ""; if(warning[0] === warning[1]) - return formatBailoutReason(`Cannot concat with unsupported ${warning[0].readableIdentifier(requestShortener)}${reasonWithPrefix}`); + return formatBailoutReason(`Cannot concat with ${warning[0].readableIdentifier(requestShortener)}${reasonWithPrefix}`); else - return formatBailoutReason(`Cannot concat with unsupported ${warning[0].readableIdentifier(requestShortener)} because of ${warning[1].readableIdentifier(requestShortener)}${reasonWithPrefix}`); + return formatBailoutReason(`Cannot concat with ${warning[0].readableIdentifier(requestShortener)} because of ${warning[1].readableIdentifier(requestShortener)}${reasonWithPrefix}`); }); } const chunks = concatConfiguration.rootModule.getChunks(); diff --git a/test/statsCases/scope-hoisting-multi/expected.txt b/test/statsCases/scope-hoisting-multi/expected.txt index 727ecd20912..0c5b586c08f 100644 --- a/test/statsCases/scope-hoisting-multi/expected.txt +++ b/test/statsCases/scope-hoisting-multi/expected.txt @@ -23,13 +23,13 @@ Child [3] (webpack)/test/statsCases/scope-hoisting-multi/common_lazy.js 25 bytes {1} {2} [built] [4] (webpack)/test/statsCases/scope-hoisting-multi/first.js + 1 modules 238 bytes {4} [built] ModuleConcatenation bailout: Module is an entry point - ModuleConcatenation bailout: Cannot concat with unsupported (webpack)/test/statsCases/scope-hoisting-multi/common.js - ModuleConcatenation bailout: Cannot concat with unsupported (webpack)/test/statsCases/scope-hoisting-multi/vendor.js (<- Module is an entry point) + ModuleConcatenation bailout: Cannot concat with (webpack)/test/statsCases/scope-hoisting-multi/common.js + ModuleConcatenation bailout: Cannot concat with (webpack)/test/statsCases/scope-hoisting-multi/vendor.js (<- Module is an entry point) [5] (webpack)/test/statsCases/scope-hoisting-multi/lazy_shared.js 31 bytes {0} [built] - ModuleConcatenation bailout: Module is referenced from these non-ECMAScript modules: (webpack)/test/statsCases/scope-hoisting-multi/first.js, (webpack)/test/statsCases/scope-hoisting-multi/second.js + ModuleConcatenation bailout: Module is referenced from these modules with unsupported syntax: (webpack)/test/statsCases/scope-hoisting-multi/first.js (referenced with import()), (webpack)/test/statsCases/scope-hoisting-multi/second.js (referenced with import()) [6] (webpack)/test/statsCases/scope-hoisting-multi/second.js 177 bytes {3} [built] ModuleConcatenation bailout: Module is an entry point [7] (webpack)/test/statsCases/scope-hoisting-multi/lazy_second.js 55 bytes {1} [built] - ModuleConcatenation bailout: Module is referenced from these non-ECMAScript modules: (webpack)/test/statsCases/scope-hoisting-multi/second.js + ModuleConcatenation bailout: Module is referenced from these modules with unsupported syntax: (webpack)/test/statsCases/scope-hoisting-multi/second.js (referenced with import()) [8] (webpack)/test/statsCases/scope-hoisting-multi/lazy_first.js 55 bytes {2} [built] - ModuleConcatenation bailout: Module is referenced from these non-ECMAScript modules: (webpack)/test/statsCases/scope-hoisting-multi/first.js \ No newline at end of file + ModuleConcatenation bailout: Module is referenced from these modules with unsupported syntax: (webpack)/test/statsCases/scope-hoisting-multi/first.js (referenced with import()) \ No newline at end of file