From d251b401c9b5930a6184e5e387d6c8e8c546087c Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Sun, 27 Apr 2025 20:56:18 +0700 Subject: [PATCH] chore(lib): refactor libs for preinits and inits --- lib/assets/package.json | 3 +++ lib/assets/src/index.ts | 2 -- lib/assets/src/init.ts | 1 + lib/init/src/index.ts | 48 +++++++++++++++++---------------- lib/modules/package.json | 6 +++++ lib/modules/src/index.ts | 5 ++++ lib/modules/src/metro/index.ts | 2 -- lib/modules/src/native/index.ts | 1 + lib/modules/src/preinit.ts | 1 + 9 files changed, 42 insertions(+), 27 deletions(-) create mode 100644 lib/assets/src/init.ts create mode 100644 lib/modules/src/index.ts create mode 100644 lib/modules/src/preinit.ts diff --git a/lib/assets/package.json b/lib/assets/package.json index d1e283b..f8aef14 100644 --- a/lib/assets/package.json +++ b/lib/assets/package.json @@ -5,6 +5,9 @@ "exports": { ".": { "default": "./src/index.ts" + }, + "./init": { + "default": "./src/init.ts" } } } diff --git a/lib/assets/src/index.ts b/lib/assets/src/index.ts index 013cdf4..40ae472 100644 --- a/lib/assets/src/index.ts +++ b/lib/assets/src/index.ts @@ -1,5 +1,3 @@ -import './patches' - import { ReactNative } from '@revenge-mod/modules/common' import { _assets } from './_internal' diff --git a/lib/assets/src/init.ts b/lib/assets/src/init.ts new file mode 100644 index 0000000..cf254d0 --- /dev/null +++ b/lib/assets/src/init.ts @@ -0,0 +1 @@ +import './patches' diff --git a/lib/init/src/index.ts b/lib/init/src/index.ts index 5cd9dea..c71e3b9 100644 --- a/lib/init/src/index.ts +++ b/lib/init/src/index.ts @@ -8,29 +8,31 @@ import { getErrorStack } from '@revenge-mod/utils/errors' import { logger } from './shared' -onModuleFirstRequired(0, function onceIndexModuleRequired() { +onModuleFirstRequired(0, function onceIndexRequired() { if (!__BUILD_FLAG_INIT_DISABLE_PATCH_LOG_PROMISE_REJECTIONS__) require('./patches/log-promise-rejections') - require('@revenge-mod/modules') - - onModuleInitialized(0, () => { - require('@revenge-mod/assets') - - try { - logger.log('Revenge loaded!') - } catch (e) { - const { ClientInfoModule, DeviceModule } = require('@revenge-mod/modules/native/discord') as - // biome-ignore format: Don't format this please - typeof import('@revenge-mod/modules/native/discord') - - // TODO(init): Move to use native module - alert( - // biome-ignore lint/style/useTemplate: I want this to be readable, thank you - 'Failed to load Revenge!\n' + - `Discord: ${ClientInfoModule.Version} (${ClientInfoModule.Build})\n` + - `Device: ${DeviceModule.deviceManufacturer} ${DeviceModule.deviceModel}\n\n` + - getErrorStack(e), - ) - } - }) + // Initialize preinit libraries + require('@revenge-mod/modules/preinit') +}) + +onModuleInitialized(0, function onceIndexInitialized() { + try { + // Initialize init libraries + require('@revenge-mod/assets/init') + + logger.log('Revenge loaded!') + } catch (e) { + const { ClientInfoModule, DeviceModule } = require('@revenge-mod/modules/native/discord') as + // biome-ignore format: Don't format this please + typeof import('@revenge-mod/modules/native/discord') + + // TODO(init): Move to use native module + alert( + // biome-ignore lint/style/useTemplate: I want this to be readable, thank you + 'Failed to load Revenge!\n' + + `Discord: ${ClientInfoModule.Version} (${ClientInfoModule.Build})\n` + + `Device: ${DeviceModule.deviceManufacturer} ${DeviceModule.deviceModel}\n\n` + + getErrorStack(e), + ) + } }) diff --git a/lib/modules/package.json b/lib/modules/package.json index 498d248..e508301 100644 --- a/lib/modules/package.json +++ b/lib/modules/package.json @@ -3,6 +3,9 @@ "private": true, "type": "module", "exports": { + ".": { + "default": "./src/index.ts" + }, "./common": { "default": "./src/common.ts" }, @@ -24,6 +27,9 @@ "./native/discord": { "default": "./src/native/discord.ts" }, + "./preinit": { + "default": "./src/preinit.ts" + }, "./types/*": { "default": "./types/*.ts", "types": "./types/*.ts" diff --git a/lib/modules/src/index.ts b/lib/modules/src/index.ts new file mode 100644 index 0000000..52d936e --- /dev/null +++ b/lib/modules/src/index.ts @@ -0,0 +1,5 @@ +export * as common from './common' +export * as finders from './finders' +export * as filters from './finders/filters' +export * as metro from './metro' +export * as native from './native' diff --git a/lib/modules/src/metro/index.ts b/lib/modules/src/metro/index.ts index 446c366..7f39d7a 100644 --- a/lib/modules/src/metro/index.ts +++ b/lib/modules/src/metro/index.ts @@ -1,5 +1,3 @@ -import './patches' - export * from './subscriptions' export * from './utils' diff --git a/lib/modules/src/native/index.ts b/lib/modules/src/native/index.ts index e69de29..767b4cb 100644 --- a/lib/modules/src/native/index.ts +++ b/lib/modules/src/native/index.ts @@ -0,0 +1 @@ +export * as discord from './discord' diff --git a/lib/modules/src/preinit.ts b/lib/modules/src/preinit.ts new file mode 100644 index 0000000..c6df868 --- /dev/null +++ b/lib/modules/src/preinit.ts @@ -0,0 +1 @@ +import './metro/patches'