fix(lib)!: move modules/common to own libs
This commit is contained in:
parent
e2b0fba388
commit
7a7f470ff4
14 changed files with 93 additions and 43 deletions
11
bun.lock
11
bun.lock
|
|
@ -27,6 +27,9 @@
|
|||
"lib/assets": {
|
||||
"name": "@revenge-mod/assets",
|
||||
},
|
||||
"lib/discord": {
|
||||
"name": "@revenge-mod/discord",
|
||||
},
|
||||
"lib/init": {
|
||||
"name": "@revenge-mod/init",
|
||||
},
|
||||
|
|
@ -36,6 +39,12 @@
|
|||
"lib/patcher": {
|
||||
"name": "@revenge-mod/patcher",
|
||||
},
|
||||
"lib/plugins": {
|
||||
"name": "@revenge-mod/plugins",
|
||||
},
|
||||
"lib/react": {
|
||||
"name": "@revenge-mod/react",
|
||||
},
|
||||
"lib/types": {
|
||||
"name": "@revenge-mod/types",
|
||||
},
|
||||
|
|
@ -419,6 +428,8 @@
|
|||
|
||||
"@revenge-mod/assets": ["@revenge-mod/assets@workspace:lib/assets"],
|
||||
|
||||
"@revenge-mod/discord": ["@revenge-mod/discord@workspace:lib/discord"],
|
||||
|
||||
"@revenge-mod/init": ["@revenge-mod/init@workspace:lib/init"],
|
||||
|
||||
"@revenge-mod/modules": ["@revenge-mod/modules@workspace:lib/modules"],
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { ReactNative } from '@revenge-mod/modules/common/react'
|
||||
import { ReactNative } from '@revenge-mod/react'
|
||||
|
||||
import { _assets } from './_internal'
|
||||
import { AssetRegistry } from './patches'
|
||||
|
|
|
|||
10
lib/discord/package.json
Normal file
10
lib/discord/package.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "@revenge-mod/discord",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"default": "./src/index.ts"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { waitForModules } from '../../finders'
|
||||
import { byProps } from '../../finders/filters'
|
||||
import { waitForModules } from '@revenge-mod/modules/finders'
|
||||
import { byProps } from '@revenge-mod/modules/finders/filters'
|
||||
|
||||
import type { DiscordModules } from '../../../types'
|
||||
import type { DiscordModules } from '@revenge-mod/modules/types/discord'
|
||||
|
||||
waitForModules(byProps<DiscordModules.Flux.Store>('_dispatchToken'), (_, store) => {
|
||||
const name = store.getName()
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { lookupModule } from '../../finders'
|
||||
import { byName, byProps } from '../../finders/filters'
|
||||
import { lookupModule } from '@revenge-mod/modules/finders'
|
||||
import { byName, byProps } from '@revenge-mod/modules/finders/filters'
|
||||
|
||||
import type { DiscordModules } from '../../../types/discord'
|
||||
import type { DiscordModules } from '@revenge-mod/modules/types/discord'
|
||||
|
||||
export * as flux from './flux'
|
||||
|
||||
|
|
@ -8,31 +8,49 @@ import { getErrorStack } from '@revenge-mod/utils/errors'
|
|||
|
||||
import { logger } from './shared'
|
||||
|
||||
onModuleFirstRequired(0, function onceIndexRequired() {
|
||||
if (!__BUILD_FLAG_INIT_DISABLE_PATCH_LOG_PROMISE_REJECTIONS__) require('./patches/log-promise-rejections')
|
||||
onModuleFirstRequired(
|
||||
0,
|
||||
runCatching(function onceIndexRequired() {
|
||||
if (!__BUILD_FLAG_INIT_DISABLE_PATCH_LOG_PROMISE_REJECTIONS__) require('./patches/log-promise-rejections')
|
||||
|
||||
// Initialize preinit libraries
|
||||
require('@revenge-mod/modules/preinit')
|
||||
})
|
||||
// Initialize preinit libraries
|
||||
require('@revenge-mod/modules/preinit')
|
||||
|
||||
onModuleInitialized(0, function onceIndexInitialized() {
|
||||
try {
|
||||
// Initialize init libraries
|
||||
require('@revenge-mod/assets/init')
|
||||
onModuleInitialized(
|
||||
0,
|
||||
runCatching(function onceIndexInitialized() {
|
||||
// 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')
|
||||
logger.log('Revenge loaded!')
|
||||
|
||||
// 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),
|
||||
setImmediate(() => {
|
||||
// Call garbage collector to clean up memory
|
||||
gc()
|
||||
gc()
|
||||
})
|
||||
}),
|
||||
)
|
||||
}),
|
||||
)
|
||||
|
||||
function runCatching<F extends (...args: any[]) => any>(fn: F) {
|
||||
return (...args: Parameters<F>) => {
|
||||
try {
|
||||
fn(...args)
|
||||
} 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),
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,15 +6,6 @@
|
|||
".": {
|
||||
"default": "./src/index.ts"
|
||||
},
|
||||
"./common": {
|
||||
"default": "./src/common/index.ts"
|
||||
},
|
||||
"./common/discord": {
|
||||
"default": "./src/common/discord/index.ts"
|
||||
},
|
||||
"./common/react": {
|
||||
"default": "./src/common/react.ts"
|
||||
},
|
||||
"./finders": {
|
||||
"default": "./src/finders/index.ts"
|
||||
},
|
||||
|
|
@ -36,6 +27,9 @@
|
|||
"./preinit": {
|
||||
"default": "./src/preinit.ts"
|
||||
},
|
||||
"./types": {
|
||||
"default": "./types/index.ts"
|
||||
},
|
||||
"./types/*": {
|
||||
"default": "./types/*.ts",
|
||||
"types": "./types/*.ts"
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * as discord from './discord'
|
||||
export * as react from './react'
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
export * as common from './common'
|
||||
export * as finders from './finders'
|
||||
export * as filters from './finders/filters'
|
||||
export * as metro from './metro'
|
||||
|
|
|
|||
16
lib/react/package.json
Normal file
16
lib/react/package.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "@revenge-mod/react",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"default": "./src/index.ts"
|
||||
},
|
||||
"./jsx-runtime": {
|
||||
"default": "./src/jsx-runtime/index.ts"
|
||||
},
|
||||
"./preinit": {
|
||||
"default": "./src/preinit.ts"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
import { yielded } from '@revenge-mod/utils/generators'
|
||||
import { lookupModuleId, lookupModuleIds } from '@revenge-mod/modules/finders'
|
||||
import { byProps } from '@revenge-mod/modules/finders/filters'
|
||||
|
||||
import { lookupModuleId, lookupModuleIds } from '../finders'
|
||||
import { byProps } from '../finders/filters'
|
||||
export * as jsxRuntime from './jsx-runtime'
|
||||
|
||||
export const ReactModuleId = yielded(lookupModuleIds(byProps<typeof import('react')>('useState')), 1)!
|
||||
export const ReactNativeModuleId = lookupModuleId(byProps<typeof import('react-native')>('AppRegistry'))!
|
||||
2
lib/react/src/jsx-runtime/index.ts
Normal file
2
lib/react/src/jsx-runtime/index.ts
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
// TODO(react/jsx-runtime): add lib
|
||||
export {}
|
||||
0
lib/react/src/jsx-runtime/preinit.ts
Normal file
0
lib/react/src/jsx-runtime/preinit.ts
Normal file
1
lib/react/src/preinit.ts
Normal file
1
lib/react/src/preinit.ts
Normal file
|
|
@ -0,0 +1 @@
|
|||
import './jsx-runtime/preinit'
|
||||
Loading…
Add table
Reference in a new issue