fix: order modules in different platforms
This commit is contained in:
parent
9fcaa24357
commit
44574eaef9
|
@ -22,7 +22,10 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|||
const Template = require("../Template");
|
||||
const { last, someInIterable } = require("../util/IterableHelpers");
|
||||
const StringXor = require("../util/StringXor");
|
||||
const { compareModulesByIdentifier } = require("../util/comparators");
|
||||
const {
|
||||
compareModulesByIdentifier,
|
||||
compareModulesByReadableIdentifier
|
||||
} = require("../util/comparators");
|
||||
const createHash = require("../util/createHash");
|
||||
const nonNumericOnlyHash = require("../util/nonNumericOnlyHash");
|
||||
const { intersectRuntime } = require("../util/runtime");
|
||||
|
@ -692,7 +695,7 @@ class JavascriptModulesPlugin {
|
|||
chunkGraph.getOrderedChunkModulesIterableBySourceType(
|
||||
chunk,
|
||||
"javascript",
|
||||
compareModulesByIdentifier
|
||||
compareModulesByReadableIdentifier(compilation.requestShortener)
|
||||
) || []
|
||||
);
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ const { compareRuntime } = require("./runtime");
|
|||
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
|
||||
/** @typedef {import("../Module")} Module */
|
||||
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
||||
/** @typedef {import("../RequestShortener")} RequestShortener */
|
||||
|
||||
/** @template T @typedef {function(T, T): -1|0|1} Comparator */
|
||||
/** @template TArg @template T @typedef {function(TArg, T, T): -1|0|1} RawParameterizedComparator */
|
||||
|
@ -58,6 +59,24 @@ exports.compareModulesByIdentifier = (a, b) => {
|
|||
return compareIds(a.identifier(), b.identifier());
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {RequestShortener} requestShortener Request shortener
|
||||
* @returns {(a: Module, b: Module) => -1|0|1} Function for compare
|
||||
*/
|
||||
exports.compareModulesByReadableIdentifier = requestShortener => {
|
||||
/**
|
||||
* @param {Module} a module
|
||||
* @param {Module} b module
|
||||
* @returns {-1|0|1} compare result
|
||||
*/
|
||||
return (a, b) => {
|
||||
return compareIds(
|
||||
a.readableIdentifier(requestShortener),
|
||||
b.readableIdentifier(requestShortener)
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {ChunkGraph} chunkGraph the chunk graph
|
||||
* @param {Module} a module
|
||||
|
|
|
@ -12925,6 +12925,9 @@ declare namespace exports {
|
|||
a: Module,
|
||||
b: Module
|
||||
) => 0 | 1 | -1;
|
||||
export let compareModulesByReadableIdentifier: (
|
||||
requestShortener: RequestShortener
|
||||
) => (a: Module, b: Module) => 0 | 1 | -1;
|
||||
export let compareModulesById: ParameterizedComparator<
|
||||
ChunkGraph,
|
||||
Module
|
||||
|
|
Loading…
Reference in New Issue