this repo has no description
at v1.1.0 1.7 kB view raw
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})();