this repo has no description
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,(.)\.jsx\))\("p",{children:.\.intl\.string\(.\..\.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,(.)\.jsx\))\(.+?,)action:(.),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,(.)\.jsx\))\(.,{}\))/,
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 { id: "discord/modules/guild_settings/web/AppCard.css" },
46 { ext: "contextMenu", id: "contextMenu" },
47 { id: "discord/modules/modals/Modals" },
48 "Masks.PANEL_BUTTON",
49 '"Missing channel in Channel.openChannelContextMenu"',
50 ".forumOrHome]:"
51 ]
52 },
53
54 settings: {
55 dependencies: [
56 { ext: "spacepack", id: "spacepack" },
57 { ext: "settings", id: "settings" },
58 { id: "react" },
59 { ext: "moonbase", id: "ui" },
60 { ext: "contextMenu", id: "contextMenu" },
61 ':"USER_SETTINGS_MODAL_SET_SECTION"'
62 ],
63 entrypoint: true
64 },
65
66 updates: {
67 dependencies: [
68 { id: "react" },
69 { ext: "moonbase", id: "stores" },
70 { ext: "notices", id: "notices" },
71 {
72 ext: "spacepack",
73 id: "spacepack"
74 },
75 { id: "discord/Constants" },
76 { id: "discord/components/common/index" }
77 ],
78 entrypoint: true
79 },
80
81 moonbase: {
82 dependencies: [{ ext: "moonbase", id: "stores" }]
83 },
84
85 crashScreen: {
86 dependencies: [
87 { ext: "spacepack", id: "spacepack" },
88 { id: "react" },
89 { ext: "moonbase", id: "stores" },
90 { id: "discord/packages/flux" },
91 { id: "discord/components/common/index" },
92 /tabBar:"tabBar_[a-z0-9]+",tabBarItem:"tabBarItem_[a-z0-9]+"/
93 ]
94 }
95};