+20
-2
build.mjs
+20
-2
build.mjs
···
92
92
}
93
93
}
94
94
95
+
const wpImportPlugin = {
96
+
name: "webpackImports",
97
+
setup(build) {
98
+
build.onResolve({ filter: /^@moonlight-mod\/wp\// }, (args) => {
99
+
const wpModule = args.path.replace(/^@moonlight-mod\/wp\//, "");
100
+
return {
101
+
path: wpModule,
102
+
external: true
103
+
};
104
+
});
105
+
}
106
+
};
107
+
95
108
const esbuildConfig = {
96
109
entryPoints,
97
110
outdir,
···
110
123
copyStaticFiles({
111
124
src: `./packages/core-extensions/src/${ext}/manifest.json`,
112
125
dest: `./dist/core-extensions/${ext}/manifest.json`
113
-
})
126
+
}),
127
+
wpImportPlugin
114
128
]
115
-
: []
129
+
: [wpImportPlugin],
130
+
131
+
logOverride: {
132
+
"commonjs-variable-in-esm": "verbose"
133
+
}
116
134
};
117
135
118
136
if (watch) {
+1
env.d.ts
+1
env.d.ts
···
1
+
/// <reference types="./packages/types/src/index" />
-39
packages/core-extensions/src/common/components.ts
-39
packages/core-extensions/src/common/components.ts
···
1
-
import { ExtensionWebpackModule } from "@moonlight-mod/types";
2
-
3
-
export const components: ExtensionWebpackModule = {
4
-
dependencies: [
5
-
{ ext: "spacepack", id: "spacepack" },
6
-
"MasonryList:",
7
-
".flexGutterSmall,"
8
-
//"ALWAYS_WHITE:",
9
-
//".Messages.SWITCH_ACCOUNTS_TOAST_LOGIN_SUCCESS.format"
10
-
],
11
-
run: function (module, exports, require) {
12
-
const spacepack = require("spacepack_spacepack").spacepack;
13
-
14
-
const Components = spacepack.findByCode("MasonryList:function")[0].exports;
15
-
const MarkdownParser = spacepack.findByCode(
16
-
"parseAutoModerationSystemMessage:"
17
-
)[0].exports.default;
18
-
const LegacyText = spacepack.findByCode(".selectable", ".colorStandard")[0]
19
-
.exports.default;
20
-
const Flex = spacepack.findByCode(".flex" + "GutterSmall,")[0].exports
21
-
.default;
22
-
const CardClasses = spacepack.findByCode("card", "cardHeader", "inModal")[0]
23
-
.exports;
24
-
const ControlClasses = spacepack.findByCode(
25
-
"title",
26
-
"titleDefault",
27
-
"dividerDefault"
28
-
)[0].exports;
29
-
30
-
module.exports = {
31
-
...Components,
32
-
MarkdownParser,
33
-
LegacyText,
34
-
Flex,
35
-
CardClasses,
36
-
ControlClasses
37
-
};
38
-
}
39
-
};
+8
-2
packages/core-extensions/src/common/index.ts
+8
-2
packages/core-extensions/src/common/index.ts
···
4
4
import { flux } from "./flux";
5
5
import { stores } from "./stores";
6
6
import { http } from "./http";
7
-
import { components } from "./components";
8
7
import { fluxDispatcher } from "./fluxDispatcher";
9
8
10
9
export const webpackModules: ExtensionWebExports["webpackModules"] = {
10
+
components: {
11
+
dependencies: [
12
+
{ ext: "spacepack", id: "spacepack" },
13
+
"MasonryList:",
14
+
".flexGutterSmall,"
15
+
]
16
+
},
17
+
11
18
react,
12
19
flux,
13
20
stores,
14
21
http,
15
-
components,
16
22
fluxDispatcher
17
23
};
+26
packages/core-extensions/src/common/webpackModules/components.ts
+26
packages/core-extensions/src/common/webpackModules/components.ts
···
1
+
import spacepack from "@moonlight-mod/wp/spacepack_spacepack";
2
+
3
+
const Components = spacepack.findByCode("MasonryList:function")[0].exports;
4
+
const MarkdownParser = spacepack.findByCode(
5
+
"parseAutoModerationSystemMessage:"
6
+
)[0].exports.default;
7
+
const LegacyText = spacepack.findByCode(".selectable", ".colorStandard")[0]
8
+
.exports.default;
9
+
const Flex = spacepack.findByCode(".flex" + "GutterSmall,")[0].exports.default;
10
+
const CardClasses = spacepack.findByCode("card", "cardHeader", "inModal")[0]
11
+
.exports;
12
+
const ControlClasses = spacepack.findByCode(
13
+
"title",
14
+
"titleDefault",
15
+
"dividerDefault"
16
+
)[0].exports;
17
+
18
+
// We use CJS export here because merging the exports from Components is annoying as shit
19
+
module.exports = {
20
+
...Components,
21
+
MarkdownParser,
22
+
LegacyText,
23
+
Flex,
24
+
CardClasses,
25
+
ControlClasses
26
+
};
+1
-1
packages/core-extensions/src/spacepack/webpackModules/spacepack.ts
+1
-1
packages/core-extensions/src/spacepack/webpackModules/spacepack.ts
+1
packages/types/package.json
+1
packages/types/package.json
+2
-2
packages/types/src/coreExtensions.ts
+2
-2
packages/types/src/coreExtensions.ts
···
1
1
import { FluxDefault, Store } from "./discord/common/Flux";
2
-
import WebpackRequire from "./discord/require";
3
-
import { WebpackModuleFunc } from "./discord/webpack";
4
2
import { CommonComponents as CommonComponents_ } from "./coreExtensions/components";
5
3
import { Dispatcher } from "flux";
6
4
import React from "react";
5
+
import { WebpackModuleFunc } from "./discord";
6
+
import WebpackRequire from "./discord/require";
7
7
8
8
export type Spacepack = {
9
9
inspect: (module: number | string) => WebpackModuleFunc | null;
+5
packages/types/src/import.d.ts
+5
packages/types/src/import.d.ts
+1
packages/types/src/index.ts
+1
packages/types/src/index.ts