From 2cc85c64f1c64a2dbaeae276a3e2ca8420de76b7 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 18:09:58 +0800
Subject: [PATCH] 上报转运调试
---
node_modules/webpack/lib/runtime/MakeDeferredNamespaceObjectRuntime.js | 50 ++++++++++++++++++--------------------------------
1 files changed, 18 insertions(+), 32 deletions(-)
diff --git a/node_modules/webpack/lib/runtime/MakeDeferredNamespaceObjectRuntime.js b/node_modules/webpack/lib/runtime/MakeDeferredNamespaceObjectRuntime.js
index f156310..07cb72c 100644
--- a/node_modules/webpack/lib/runtime/MakeDeferredNamespaceObjectRuntime.js
+++ b/node_modules/webpack/lib/runtime/MakeDeferredNamespaceObjectRuntime.js
@@ -17,11 +17,12 @@
* @returns {string} mode
*/
function getMakeDeferredNamespaceModeFromExportsType(exportsType) {
- if (exportsType === "namespace") return `/* ${exportsType} */ 0`;
- if (exportsType === "default-only") return `/* ${exportsType} */ 1`;
+ // number is from createFakeNamespaceObject mode ^ 1
+ if (exportsType === "namespace") return `/* ${exportsType} */ 8`;
+ if (exportsType === "default-only") return `/* ${exportsType} */ 0`;
if (exportsType === "default-with-named") return `/* ${exportsType} */ 2`;
- if (exportsType === "dynamic") return `/* ${exportsType} */ 3`;
- return "";
+ if (exportsType === "dynamic") return `/* ${exportsType} */ 6`;
+ throw new Error(`Unknown exports type: ${exportsType}`);
}
/**
@@ -52,10 +53,12 @@
*/
constructor(hasAsyncRuntime) {
super("make optimized deferred namespace object");
+ /** @type {boolean} */
this.hasAsyncRuntime = hasAsyncRuntime;
}
/**
+ * Generates runtime code for this runtime module.
* @returns {string | null} runtime code
*/
generate() {
@@ -66,10 +69,6 @@
// Note: must be a function (not arrow), because this is used in body!
`${fn} = function(moduleId, mode${hasAsync ? ", asyncDeps" : ""}) {`,
Template.indent([
- "// mode: 0 => namespace (esm)",
- "// mode: 1 => default-only (esm strict cjs)",
- "// mode: 2 => default-with-named (esm-cjs compat)",
- "// mode: 3 => dynamic (if exports has __esModule, then esm, otherwise default-with-named)",
"var r = this;",
hasAsync ? "var isAsync = asyncDeps && asyncDeps.length;" : "",
"var obj = {",
@@ -83,7 +82,7 @@
// if exportsType is "namespace" we can generate the most optimized code,
// on the second access, we can avoid trigger the getter.
// we can also do this if exportsType is "dynamic" and there is a "__esModule" property on it.
- 'if(mode == 0 || (mode == 3 && exports.__esModule)) Object.defineProperty(this, "a", { value: exports });',
+ 'if(mode & 8 || (mode & 4 && exports.__esModule)) Object.defineProperty(this, "a", { value: exports });',
"return exports;"
]),
"}"
@@ -105,10 +104,12 @@
*/
constructor(hasAsyncRuntime) {
super("make deferred namespace object");
+ /** @type {boolean} */
this.hasAsyncRuntime = hasAsyncRuntime;
}
/**
+ * Generates runtime code for this runtime module.
* @returns {string | null} runtime code
*/
generate() {
@@ -120,11 +121,6 @@
? "init?.();"
: "if (init) init();";
return `${fn} = ${runtimeTemplate.basicFunction("moduleId, mode", [
- "// mode: 0 => namespace (esm)",
- "// mode: 1 => default-only (esm strict cjs)",
- "// mode: 2 => default-with-named (esm-cjs compat)",
- "// mode: 3 => dynamic (if exports has __esModule, then esm, otherwise default-with-named)",
- "",
"var cachedModule = __webpack_module_cache__[moduleId];",
"if (cachedModule && cachedModule.error === undefined) {",
Template.indent([
@@ -132,10 +128,8 @@
hasAsync
? `if (${RuntimeGlobals.asyncModuleExportSymbol} in exports) exports = exports[${RuntimeGlobals.asyncModuleExportSymbol}];`
: "",
- "if (mode == 0) return exports;",
- `if (mode == 1) return ${RuntimeGlobals.createFakeNamespaceObject}(exports);`,
- `if (mode == 2) return ${RuntimeGlobals.createFakeNamespaceObject}(exports, 2);`,
- `if (mode == 3) return ${RuntimeGlobals.createFakeNamespaceObject}(exports, 6);` // 2 | 4
+ "if (mode & 8) return exports;",
+ `return ${RuntimeGlobals.createFakeNamespaceObject}(exports, mode);`
]),
"}",
"",
@@ -145,7 +139,7 @@
? `if (${RuntimeGlobals.asyncModuleExportSymbol} in ns) ns = ns[${RuntimeGlobals.asyncModuleExportSymbol}];`
: "",
"init = null;",
- "if (mode == 0 || mode == 3 && ns.__esModule && typeof ns === 'object') {",
+ "if (mode & 8 || mode & 4 && ns.__esModule && typeof ns === 'object') {",
Template.indent([
"delete handler.defineProperty;",
"delete handler.deleteProperty;",
@@ -155,17 +149,9 @@
"delete handler.ownKeys;",
"delete handler.getOwnPropertyDescriptor;"
]),
- "} else if (mode == 1) {",
+ "} else {",
Template.indent([
- `ns = ${RuntimeGlobals.createFakeNamespaceObject}(ns);`
- ]),
- "} else if (mode == 2) {",
- Template.indent([
- `ns = ${RuntimeGlobals.createFakeNamespaceObject}(ns, 2);`
- ]),
- "} else if (mode == 3) {",
- Template.indent([
- `ns = ${RuntimeGlobals.createFakeNamespaceObject}(ns, 6);`
+ `ns = ${RuntimeGlobals.createFakeNamespaceObject}(ns, mode);`
]),
"}"
])};`,
@@ -211,14 +197,14 @@
`getOwnPropertyDescriptor: ${runtimeTemplate.basicFunction("_, name", [
"switch (name) {",
Template.indent([
- 'case "__esModule": return { value: true, configurable: !!mode };',
- 'case Symbol.toStringTag: return { value: "Deferred Module", configurable: !!mode };',
+ 'case "__esModule": return { value: true, configurable: !(mode & 8) };',
+ 'case Symbol.toStringTag: return { value: "Deferred Module", configurable: !(mode & 8) };',
'case "then": return undefined;'
]),
"}",
init,
"var desc = Reflect.getOwnPropertyDescriptor(ns, name);",
- 'if (mode == 2 && name == "default" && !desc) {',
+ 'if (mode & 2 && name == "default" && !desc) {',
Template.indent("desc = { value: ns, configurable: true };"),
"}",
"return desc;"
--
Gitblit v1.9.3