this repo has no description
1import { loadProcessedExtensions } from "@moonlight-mod/core/extension/loader";
2import {
3 installWebpackPatcher,
4 onModuleLoad,
5 registerPatch,
6 registerWebpackModule
7} from "@moonlight-mod/core/patch";
8import { constants, MoonlightBranch } from "@moonlight-mod/types";
9import { installStyles } from "@moonlight-mod/core/styles";
10import Logger, { initLogger } from "@moonlight-mod/core/util/logger";
11import LunAST from "@moonlight-mod/lunast";
12import Moonmap from "@moonlight-mod/moonmap";
13import loadMappings from "@moonlight-mod/mappings";
14import { createEventEmitter } from "@moonlight-mod/core/util/event";
15import { EventPayloads, EventType } from "@moonlight-mod/types/core/event";
16
17async function load() {
18 initLogger(moonlightNode.config);
19 const logger = new Logger("web-preload");
20
21 window.moonlight = {
22 apiLevel: constants.apiLevel,
23 unpatched: new Set(),
24 pendingModules: new Set(),
25 enabledExtensions: new Set(),
26 events: createEventEmitter<EventType, EventPayloads>(),
27 patchingInternals: {
28 onModuleLoad,
29 registerPatch,
30 registerWebpackModule
31 },
32
33 version: MOONLIGHT_VERSION,
34 branch: MOONLIGHT_BRANCH as MoonlightBranch,
35
36 getConfig: moonlightNode.getConfig.bind(moonlightNode),
37 getConfigOption: moonlightNode.getConfigOption.bind(moonlightNode),
38 getNatives: moonlightNode.getNatives.bind(moonlightNode),
39 getLogger(id) {
40 return new Logger(id);
41 },
42 lunast: new LunAST(),
43 moonmap: new Moonmap()
44 };
45
46 try {
47 loadMappings(window.moonlight.moonmap, window.moonlight.lunast);
48 await loadProcessedExtensions(moonlightNode.processedExtensions);
49 await installWebpackPatcher();
50 } catch (e) {
51 logger.error("Error setting up web-preload", e);
52 }
53
54 if (MOONLIGHT_ENV === "web-preload") {
55 window.addEventListener("DOMContentLoaded", () => {
56 installStyles();
57 });
58 } else {
59 installStyles();
60 }
61}
62
63if (MOONLIGHT_ENV === "web-preload") {
64 load();
65} else {
66 window._moonlightBrowserLoad = load;
67}