this repo has no description

Merge pull request #42 from redstonekasi/develop

Fix pretty much everything else

Changed files
+32 -23
packages
core-extensions
src
common
webpackModules
moonbase
webpackModules
ui
extensions
quietLoggers
settings
spacepack
webpackModules
types
+1 -1
packages/core-extensions/src/common/webpackModules/components.ts
···
)[0].exports.default;
const LegacyText = spacepack.findByCode(".selectable", ".colorStandard")[0]
.exports.default;
-
const Flex = spacepack.findByCode(".flex" + "GutterSmall,")[0].exports.default;
+
const Flex = spacepack.findByCode(".flex" + "GutterSmall,")[0].exports.Flex;
const CardClasses = spacepack.findByCode("card", "cardHeader", "inModal")[0]
.exports;
const ControlClasses = spacepack.findByCode(
+5 -8
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/filterBar.tsx
···
}
export const defaultFilter = ~(~0 << 7);
-
const channelModule =
-
spacepack.require.m[
-
spacepack.findByCode(
-
'"Missing channel in Channel.openChannelContextMenu"'
-
)[0].id
-
].toString();
-
const moduleId = channelModule.match(/webpackId:"(.+?)"/)![1];
-
const modPromise = spacepack.require.el(moduleId);
+
const modPromise = spacepack.lazyLoad(
+
'"Missing channel in Channel.openChannelContextMenu"',
+
/e\("(\d+)"\)/g,
+
/webpackId:"(.+?)"/
+
);
const Margins = spacepack.findByCode("marginCenterHorz:")[0].exports;
const SortMenuClasses = spacepack.findByCode("container:", "clearText:")[0]
+1 -1
packages/core-extensions/src/quietLoggers/index.ts
···
"is not a valid locale",
/(.)\.error\(""\.concat\((.)," is not a valid locale\."\)\)/g
],
-
['.displayName="RunningGameStore"', /.\.info\("games",{.+?}\),/],
+
['="RunningGameStore"', /.\.info\("games",{.+?}\),/],
[
'"[BUILD INFO] Release Channel: "',
/new .{1,2}\.default\(\)\.log\("\[BUILD INFO\] Release Channel: ".+?"\)\),/
+3 -3
packages/core-extensions/src/settings/index.ts
···
{
find: ".UserSettingsSections.HOTSPOT_OPTIONS",
replace: {
-
match: /\.CUSTOM,element:(.+?)}\];return (.{1,2})/,
-
replacement: (_, lastElement, sections) =>
-
`.CUSTOM,element:${lastElement}}];return require("settings_settings").Settings._mutateSections(${sections})`
+
match: /return(\[.+?\.CUSTOM,element:.+?}\])}/,
+
replacement: (_, arr) =>
+
`return require("settings_settings").Settings._mutateSections(${arr})}`
}
},
{
+19 -8
packages/core-extensions/src/spacepack/webpackModules/spacepack.ts
···
);
},
-
lazyLoad: (find: string | RegExp | (string | RegExp)[], match: RegExp) => {
-
const module = Array.isArray(find)
+
lazyLoad: (
+
find: string | RegExp | (string | RegExp)[],
+
chunk: RegExp,
+
module: RegExp
+
) => {
+
if (!chunk.flags.includes("g"))
+
return Promise.reject("Chunk ID regex must be global");
+
+
const mod = Array.isArray(find)
? spacepack.findByCode(...find)
: spacepack.findByCode(find);
-
if (module.length < 1) return Promise.reject("Find failed");
+
if (mod.length < 1) return Promise.reject("Module find failed");
-
const findId = module[0].id;
+
const findId = mod[0].id;
const findCode = webpackRequire.m[findId].toString().replace(/\n/g, "");
-
const matchResult = findCode.match(match);
-
if (!matchResult) return Promise.reject("Match failed");
+
const chunkIds = [...findCode.matchAll(chunk)].map(([, id]) => id);
+
if (chunkIds.length === 0) return Promise.reject("Chunk ID match failed");
+
+
const moduleId = findCode.match(module)?.[1];
+
if (!moduleId) return Promise.reject("Module ID match failed");
-
const matchId = matchResult[1];
-
return webpackRequire.el(matchId).then(() => webpackRequire(matchId));
+
return Promise.all(chunkIds.map((c) => webpackRequire.e(c))).then(() =>
+
webpackRequire(moduleId)
+
);
},
filterReal: (modules: WebpackModule[]) => {
+2 -1
packages/types/src/coreExtensions.ts
···
) => Function | null;
lazyLoad: (
find: string | RegExp | (string | RegExp)[],
-
match: RegExp
+
chunk: RegExp,
+
module: RegExp
) => Promise<any>;
filterReal: (modules: WebpackModule[]) => WebpackModule[];
};
+1 -1
packages/types/src/discord/webpack.ts
···
export type WebpackRequireType = typeof WebpackRequire & {
c: Record<string, WebpackModule>;
m: Record<string, WebpackModuleFunc>;
-
el: (module: number | string) => Promise<void>;
+
e: (module: number | string) => Promise<void>;
};
export type WebpackModule = {