this repo has no description
at main 3.2 kB view raw
1import { ExtensionWebpackModule, Patch } from "@moonlight-mod/types"; 2 3export const patches: Patch[] = [ 4 { 5 find: "window.DiscordErrors=", 6 replace: [ 7 // replace reporting line with update status 8 { 9 // CvQlAA mapped to ERRORS_ACTION_TO_TAKE 10 // FIXME: Better patch find? 11 match: /,(\(0,(\i)\.jsx\))\("p",{children:\i\.\i\.string\(\i\.\i\.CvQlAA\)}\)/, 12 replacement: (_, createElement, ReactJSX) => 13 `,${createElement}(require("moonbase_crashScreen")?.UpdateText??${ReactJSX}.Fragment,{state:this.state,setState:this.setState.bind(this)})` 14 }, 15 16 // wrap actions field to display error details 17 { 18 match: /(?<=return(\(0,(\i)\.jsx\))\(.+?,)action:(\i),className:/, 19 replacement: (_, createElement, ReactJSX, action) => 20 `action:require("moonbase_crashScreen")?.wrapAction?${createElement}(require("moonbase_crashScreen").wrapAction,{action:${action},state:this.state}):${action},className:` 21 }, 22 23 // add update button 24 // +hivLS -> ERRORS_RELOAD 25 { 26 match: /(?<=\["\+hivLS"\]\)}\),(\(0,(\i)\.jsx\))\(\i,{}\))/, 27 replacement: (_, createElement, ReactJSX) => 28 `,${createElement}(require("moonbase_crashScreen")?.UpdateButton??${ReactJSX}.Fragment,{state:this.state,setState:this.setState.bind(this)})` 29 } 30 ] 31 } 32]; 33 34export const webpackModules: Record<string, ExtensionWebpackModule> = { 35 stores: { 36 dependencies: [{ id: "discord/packages/flux" }, { id: "discord/Dispatcher" }] 37 }, 38 39 ui: { 40 dependencies: [ 41 { ext: "spacepack", id: "spacepack" }, 42 { id: "react" }, 43 { id: "discord/components/common/index" }, 44 { ext: "moonbase", id: "stores" }, 45 { ext: "moonbase", id: "ThemeDarkIcon" }, 46 { id: "discord/modules/guild_settings/web/AppCard.css" }, 47 { ext: "contextMenu", id: "contextMenu" }, 48 { id: "discord/modules/modals/Modals" }, 49 "Masks.PANEL_BUTTON", 50 '"Missing channel in Channel.openChannelContextMenu"', 51 ".forumOrHome]:" 52 ] 53 }, 54 55 ThemeDarkIcon: { 56 dependencies: [{ ext: "common", id: "icons" }, { id: "react" }] 57 }, 58 59 settings: { 60 dependencies: [ 61 { ext: "spacepack", id: "spacepack" }, 62 { ext: "settings", id: "settings" }, 63 { id: "react" }, 64 { ext: "moonbase", id: "ui" }, 65 { ext: "contextMenu", id: "contextMenu" }, 66 ':"USER_SETTINGS_MODAL_SET_SECTION"' 67 ], 68 entrypoint: true 69 }, 70 71 updates: { 72 dependencies: [ 73 { id: "react" }, 74 { ext: "moonbase", id: "stores" }, 75 { ext: "moonbase", id: "ThemeDarkIcon" }, 76 { ext: "notices", id: "notices" }, 77 { 78 ext: "spacepack", 79 id: "spacepack" 80 }, 81 { id: "discord/Constants" }, 82 { id: "discord/components/common/index" } 83 ], 84 entrypoint: true 85 }, 86 87 moonbase: { 88 dependencies: [{ ext: "moonbase", id: "stores" }] 89 }, 90 91 crashScreen: { 92 dependencies: [ 93 { ext: "spacepack", id: "spacepack" }, 94 { id: "react" }, 95 { ext: "moonbase", id: "stores" }, 96 { id: "discord/packages/flux" }, 97 { id: "discord/components/common/index" }, 98 /tabBar:"tabBar_[a-z0-9]+",tabBarItem:"tabBarItem_[a-z0-9]+"/ 99 ] 100 } 101};