mirror of https://github.com/webpack/webpack.git
refactor: avoid unnecessary the `defer` property for dependency (#19893)
This commit is contained in:
parent
930785fb00
commit
95ce962897
|
@ -107,9 +107,6 @@ class Dependency {
|
||||||
this.weak = false;
|
this.weak = false;
|
||||||
// TODO check if this can be moved into ModuleDependency
|
// TODO check if this can be moved into ModuleDependency
|
||||||
/** @type {boolean | undefined} */
|
/** @type {boolean | undefined} */
|
||||||
this.defer = false;
|
|
||||||
// TODO check if this can be moved into ModuleDependency
|
|
||||||
/** @type {boolean | undefined} */
|
|
||||||
this.optional = false;
|
this.optional = false;
|
||||||
this._locSL = 0;
|
this._locSL = 0;
|
||||||
this._locSC = 0;
|
this._locSC = 0;
|
||||||
|
@ -317,7 +314,6 @@ class Dependency {
|
||||||
write(this._locEC);
|
write(this._locEC);
|
||||||
write(this._locI);
|
write(this._locI);
|
||||||
write(this._locN);
|
write(this._locN);
|
||||||
write(this.defer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -332,7 +328,6 @@ class Dependency {
|
||||||
this._locEC = read();
|
this._locEC = read();
|
||||||
this._locI = read();
|
this._locI = read();
|
||||||
this._locN = read();
|
this._locN = read();
|
||||||
this.defer = read();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ const { forEachRuntime } = require("./util/runtime");
|
||||||
/** @typedef {import("./Dependency")} Dependency */
|
/** @typedef {import("./Dependency")} Dependency */
|
||||||
/** @typedef {import("./Dependency").RuntimeSpec} RuntimeSpec */
|
/** @typedef {import("./Dependency").RuntimeSpec} RuntimeSpec */
|
||||||
/** @typedef {import("./Dependency").ExportsSpecExcludeExports} ExportsSpecExcludeExports */
|
/** @typedef {import("./Dependency").ExportsSpecExcludeExports} ExportsSpecExcludeExports */
|
||||||
|
/** @typedef {import("./dependencies/HarmonyImportDependency")} HarmonyImportDependency */
|
||||||
/** @typedef {import("./Module")} Module */
|
/** @typedef {import("./Module")} Module */
|
||||||
/** @typedef {import("./ModuleGraph")} ModuleGraph */
|
/** @typedef {import("./ModuleGraph")} ModuleGraph */
|
||||||
/** @typedef {import("./ModuleGraphConnection")} ModuleGraphConnection */
|
/** @typedef {import("./ModuleGraphConnection")} ModuleGraphConnection */
|
||||||
|
@ -1341,7 +1342,9 @@ class ExportInfo {
|
||||||
module: rawTarget.connection.module,
|
module: rawTarget.connection.module,
|
||||||
export: rawTarget.export,
|
export: rawTarget.export,
|
||||||
deferred: Boolean(
|
deferred: Boolean(
|
||||||
rawTarget.connection.dependency && rawTarget.connection.dependency.defer
|
rawTarget.connection.dependency &&
|
||||||
|
/** @type {HarmonyImportDependency} */
|
||||||
|
(rawTarget.connection.dependency).defer
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
|
@ -120,7 +120,7 @@ HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends
|
||||||
for (const d of module.dependencies) {
|
for (const d of module.dependencies) {
|
||||||
if (deferDependency && noDeferredDependency) break;
|
if (deferDependency && noDeferredDependency) break;
|
||||||
if (isRelatedHarmonyImportDependency(dependency, d)) {
|
if (isRelatedHarmonyImportDependency(dependency, d)) {
|
||||||
if (d.defer) {
|
if (/** @type {HarmonyImportDependency} */ (d).defer) {
|
||||||
deferDependency = /** @type {HarmonyImportDependency} */ (d);
|
deferDependency = /** @type {HarmonyImportDependency} */ (d);
|
||||||
} else {
|
} else {
|
||||||
noDeferredDependency = /** @type {HarmonyImportDependency} */ (d);
|
noDeferredDependency = /** @type {HarmonyImportDependency} */ (d);
|
||||||
|
|
|
@ -280,6 +280,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
||||||
const { write } = context;
|
const { write } = context;
|
||||||
write(this.sourceOrder);
|
write(this.sourceOrder);
|
||||||
write(this.assertions);
|
write(this.assertions);
|
||||||
|
write(this.defer);
|
||||||
super.serialize(context);
|
super.serialize(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,6 +291,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
||||||
const { read } = context;
|
const { read } = context;
|
||||||
this.sourceOrder = read();
|
this.sourceOrder = read();
|
||||||
this.assertions = read();
|
this.assertions = read();
|
||||||
|
this.defer = read();
|
||||||
super.deserialize(context);
|
super.deserialize(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1860,7 +1860,7 @@ ${defineGetters}`
|
||||||
if (deferEnabled) {
|
if (deferEnabled) {
|
||||||
for (const dep of info.module.dependencies) {
|
for (const dep of info.module.dependencies) {
|
||||||
if (
|
if (
|
||||||
!dep.defer &&
|
!(/** @type {HarmonyImportDependency} */ (dep).defer) &&
|
||||||
dep instanceof HarmonyImportSideEffectDependency
|
dep instanceof HarmonyImportSideEffectDependency
|
||||||
) {
|
) {
|
||||||
const referredModule = moduleGraph.getModule(dep);
|
const referredModule = moduleGraph.getModule(dep);
|
||||||
|
|
|
@ -3825,7 +3825,6 @@ declare interface DependenciesBlockLike {
|
||||||
declare class Dependency {
|
declare class Dependency {
|
||||||
constructor();
|
constructor();
|
||||||
weak: boolean;
|
weak: boolean;
|
||||||
defer?: boolean;
|
|
||||||
optional?: boolean;
|
optional?: boolean;
|
||||||
get type(): string;
|
get type(): string;
|
||||||
get category(): string;
|
get category(): string;
|
||||||
|
@ -6098,6 +6097,7 @@ declare class HarmonyImportDependency extends ModuleDependency {
|
||||||
defer?: boolean
|
defer?: boolean
|
||||||
);
|
);
|
||||||
sourceOrder: number;
|
sourceOrder: number;
|
||||||
|
defer?: boolean;
|
||||||
getImportVar(moduleGraph: ModuleGraph): string;
|
getImportVar(moduleGraph: ModuleGraph): string;
|
||||||
getModuleExports(__0: DependencyTemplateContext): string;
|
getModuleExports(__0: DependencyTemplateContext): string;
|
||||||
getImportStatement(
|
getImportStatement(
|
||||||
|
|
Loading…
Reference in New Issue