настройка webpack
This commit is contained in:
64
node_modules/webpack/lib/dependencies/DependencyReference.js
generated
vendored
Normal file
64
node_modules/webpack/lib/dependencies/DependencyReference.js
generated
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Florent Cailhol @ooflorent
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/** @typedef {import("../Module")} Module */
|
||||
|
||||
class DependencyReference {
|
||||
// TODO webpack 5: module must be dynamic, you must pass a function returning a module
|
||||
// This is needed to remove the hack in ConcatenatedModule
|
||||
// The problem is that the `module` in Dependency could be replaced i. e. because of Scope Hoisting
|
||||
/**
|
||||
*
|
||||
* @param {Module} module the referenced module
|
||||
* @param {string[] | boolean} importedNames imported named from the module
|
||||
* @param {boolean=} weak if this is a weak reference
|
||||
* @param {number} order the order information or NaN if don't care
|
||||
*/
|
||||
constructor(module, importedNames, weak = false, order = NaN) {
|
||||
// TODO webpack 5: make it a getter
|
||||
this.module = module;
|
||||
// true: full object
|
||||
// false: only sideeffects/no export
|
||||
// array of strings: the exports with this names
|
||||
this.importedNames = importedNames;
|
||||
this.weak = !!weak;
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {DependencyReference[]} array an array (will be modified)
|
||||
* @returns {DependencyReference[]} the array again
|
||||
*/
|
||||
static sort(array) {
|
||||
/** @type {WeakMap<DependencyReference, number>} */
|
||||
const originalOrder = new WeakMap();
|
||||
let i = 0;
|
||||
for (const ref of array) {
|
||||
originalOrder.set(ref, i++);
|
||||
}
|
||||
return array.sort((a, b) => {
|
||||
const aOrder = a.order;
|
||||
const bOrder = b.order;
|
||||
if (isNaN(aOrder)) {
|
||||
if (!isNaN(bOrder)) {
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
if (isNaN(bOrder)) {
|
||||
return -1;
|
||||
}
|
||||
if (aOrder !== bOrder) {
|
||||
return aOrder - bOrder;
|
||||
}
|
||||
}
|
||||
const aOrg = originalOrder.get(a);
|
||||
const bOrg = originalOrder.get(b);
|
||||
return aOrg - bOrg;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = DependencyReference;
|
||||
Reference in New Issue
Block a user