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 } from "@moonlight-mod/types";
9import { installStyles } from "@moonlight-mod/core/styles";
10import Logger 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
17(async () => {
18 const logger = new Logger("web-preload");
19
20 window.moonlight = {
21 apiLevel: constants.apiLevel,
22 unpatched: new Set(),
23 pendingModules: new Set(),
24 enabledExtensions: new Set(),
25 events: createEventEmitter<EventType, EventPayloads>(),
26 patchingInternals: {
27 onModuleLoad,
28 registerPatch,
29 registerWebpackModule
30 },
31
32 getConfig: moonlightNode.getConfig.bind(moonlightNode),
33 getConfigOption: moonlightNode.getConfigOption.bind(moonlightNode),
34 getNatives: moonlightNode.getNatives.bind(moonlightNode),
35 getLogger(id) {
36 return new Logger(id);
37 },
38 lunast: new LunAST(),
39 moonmap: new Moonmap()
40 };
41
42 try {
43 loadMappings(window.moonlight.moonmap, window.moonlight.lunast);
44 await loadProcessedExtensions(moonlightNode.processedExtensions);
45 await installWebpackPatcher();
46 } catch (e) {
47 logger.error("Error setting up web-preload", e);
48 }
49
50 window.addEventListener("DOMContentLoaded", () => {
51 installStyles();
52 });
53})();