Content-Length: 354002 | pFad | https://snyk.io/redirect/github/webpack/webpack/commit/28f826a4e7b17a85d6e2e55fa0128dd5039068f4

A651 consistent order · webpack/webpack@28f826a · GitHub
Skip to content

Commit 28f826a

Browse files
committed
consistent order
1 parent 5d4ba56 commit 28f826a

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

lib/optimize/ModuleConcatenationPlugin.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class ModuleConcatenationPlugin {
7474
if(nonHarmonyReasons.length > 0) {
7575
const importingModules = new Set(nonHarmonyReasons.map(r => r.module));
7676
setBailoutReason(module, "ModuleConcatenation (inner)", (requestShortener) => {
77-
const names = Array.from(importingModules).map(m => m.readableIdentifier(requestShortener));
77+
const names = Array.from(importingModules).map(m => m.readableIdentifier(requestShortener)).sort();
7878
return `module is used with non-harmony imports from ${names.join(", ")}`;
7979
});
8080
continue;
@@ -132,6 +132,7 @@ class ModuleConcatenationPlugin {
132132
const orderedModules = new Set();
133133
this.addInOrder(concatConfiguration.rootModule, concatConfiguration.modules, orderedModules);
134134
const newModule = new ConcatenatedModule(concatConfiguration.rootModule, Array.from(orderedModules));
135+
concatConfiguration.sortWarnings();
135136
for(const warning of concatConfiguration.warnings) {
136137
newModule.optimizationBailout.push((requestShortener) => {
137138
const reason = getBailoutReason(warning[0], requestShortener);
@@ -274,6 +275,16 @@ class ConcatConfiguration {
274275
this.warnings.set(module, problem);
275276
}
276277

278+
sortWarnings() {
279+
this.warnings = new Map(Array.from(this.warnings).sort((a, b) => {
280+
const ai = a[0].identifier();
281+
const bi = b[0].identifier();
282+
if(ai < bi) return -1;
283+
if(ai > bi) return 1;
284+
return 0;
285+
}));
286+
}
287+
277288
clone() {
278289
const clone = new ConcatConfiguration(this.rootModule);
279290
for(const module of this.modules)

test/statsCases/scope-hoisting-multi/expected.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ Child
2323
[3] (webpack)/test/statsCases/scope-hoisting-multi/common_lazy.js 25 bytes {1} {2} [built]
2424
[4] (webpack)/test/statsCases/scope-hoisting-multi/first.js + 1 modules 238 bytes {4} [built]
2525
ModuleConcatenation (inner): module is an entrypoint
26-
ModuleConcatenation: Cannot concat with (webpack)/test/statsCases/scope-hoisting-multi/vendor.js: module is an entrypoint
2726
ModuleConcatenation: Cannot concat with (webpack)/test/statsCases/scope-hoisting-multi/common.js
27+
ModuleConcatenation: Cannot concat with (webpack)/test/statsCases/scope-hoisting-multi/vendor.js: module is an entrypoint
2828
[5] (webpack)/test/statsCases/scope-hoisting-multi/lazy_shared.js 31 bytes {0} [built]
2929
ModuleConcatenation (inner): module is used with non-harmony imports from (webpack)/test/statsCases/scope-hoisting-multi/first.js, (webpack)/test/statsCases/scope-hoisting-multi/second.js
3030
[6] (webpack)/test/statsCases/scope-hoisting-multi/second.js 177 bytes {3} [built]

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://snyk.io/redirect/github/webpack/webpack/commit/28f826a4e7b17a85d6e2e55fa0128dd5039068f4

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy