this repo has no description
at v1.2.1 2.0 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, 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}