Error handling in entrypoint and only add entrypoints if we have wpModule.run
Cynthia Foxwell 1 month ago 1 files (+14, -6)
Changed files
MODIFIED
packages/core/src/patch.ts
MODIFIED
packages/core/src/patch.ts
@@ -11,7 +11,6 @@ WebpackRequireType} from "@moonlight-mod/types";import Logger from "./util/logger";import calculateDependencies, { Dependency } from "./util/dependency";-import WebpackRequire from "@moonlight-mod/types/discord/require";import { EventType } from "@moonlight-mod/types/core/event";import { processFind, processReplace, testFind } from "./util/patch";@@ -269,12 +268,10 @@ deps.delete(dep);}}+ wpModule.dependencies = Array.from(deps);if (deps.size !== 0) {- wpModule.dependencies = Array.from(deps);continue;}-- wpModule.dependencies = Array.from(deps);}}@@ -287,8 +284,8 @@if (wpModule.run) {modules[id] = wpModule.run;wpModule.run.__moonlight = true;+ if (wpModule.entrypoint) entrypoints.push(id);}- if (wpModule.entrypoint) entrypoints.push(id);}if (!webpackModules.size) break;}@@ -310,7 +307,18 @@ logger.debug("Injecting modules:", modules, entrypoints);window.webpackChunkdiscord_app.push([[--chunkId],modules,- (require: typeof WebpackRequire) => entrypoints.map(require)+ (require: WebpackRequireType) =>+ entrypoints.map((id) => {+ try {+ if (require.m[id] == null) {+ logger.error(`Failing to load entrypoint module "${id}" because it's not found in Webpack.`);+ } else {+ require(id);+ }+ } catch (err) {+ logger.error(`Failed to load entrypoint module "${id}":`, err);+ }+ })]);}}