Merge branch 'modules-proxy-patches' into immediate-finds-modules-proxy

This commit is contained in:
Nuckyz 2024-05-26 05:47:45 -03:00
commit a2bda05211
No known key found for this signature in database
GPG key ID: 440BF8296E1C4AD9

View file

@ -161,7 +161,7 @@ Reflect.defineProperty(Function.prototype, "m", {
} }
}); });
let wreqNotInitializedLogged = false; let wreqFallbackApplied = false;
function patchFactory(id: PropertyKey, factory: ModuleFactory) { function patchFactory(id: PropertyKey, factory: ModuleFactory) {
const originalFactory = factory; const originalFactory = factory;
@ -302,22 +302,25 @@ function patchFactory(id: PropertyKey, factory: ModuleFactory) {
let [module, exports, require] = args; let [module, exports, require] = args;
if (wreq == null) { if (wreq == null) {
// Make sure the require argument is actually the WebpackRequire function if (!wreqFallbackApplied) {
if (typeof require === "function" && require.m != null) { wreqFallbackApplied = true;
const { stack } = new Error();
const webpackInstanceFileName = stack?.match(/\/assets\/(.+?\.js)/)?.[1]; // Make sure the require argument is actually the WebpackRequire function
logger.warn( if (typeof require === "function" && require.m != null) {
"WebpackRequire was not initialized, falling back to WebpackRequire passed to the first called patched module factory (" + const { stack } = new Error();
`id: ${String(id)}` + interpolateIfDefined`, WebpackInstance origin: ${webpackInstanceFileName}` + const webpackInstanceFileName = stack?.match(/\/assets\/(.+?\.js)/)?.[1];
")" logger.warn(
); "WebpackRequire was not initialized, falling back to WebpackRequire passed to the first called patched module factory (" +
_initWebpack(require); `id: ${String(id)}` + interpolateIfDefined`, WebpackInstance origin: ${webpackInstanceFileName}` +
} else if (IS_DEV) { ")"
if (!wreqNotInitializedLogged) { );
wreqNotInitializedLogged = true; _initWebpack(require);
} else if (IS_DEV) {
logger.error("WebpackRequire was not initialized, running modules without patches instead."); logger.error("WebpackRequire was not initialized, running modules without patches instead.");
} }
}
if (IS_DEV) {
return originalFactory.apply(this, args); return originalFactory.apply(this, args);
} }
} }