chore(lib/plugins): move utils assignments to own lib
This commit is contained in:
parent
b3d9f0c9ec
commit
0746db3648
7 changed files with 30 additions and 11 deletions
|
|
@ -2,13 +2,13 @@ import * as patcher from '@revenge-mod/patcher'
|
|||
import * as storage from '@revenge-mod/storage'
|
||||
import { modules } from './modules'
|
||||
import { plugins } from './plugins'
|
||||
import { utils } from './utils'
|
||||
import type {
|
||||
UnscopedInitPluginApi,
|
||||
UnscopedPluginApi,
|
||||
UnscopedPreInitPluginApi,
|
||||
} from '../types'
|
||||
|
||||
// @ts-expect-error: This will be modified by libraries later
|
||||
export const pUnscopedApi:
|
||||
| UnscopedPreInitPluginApi
|
||||
| UnscopedInitPluginApi
|
||||
|
|
@ -17,5 +17,4 @@ export const pUnscopedApi:
|
|||
patcher,
|
||||
plugins,
|
||||
storage,
|
||||
utils,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@ import type { UnscopedInitPluginApi } from './types'
|
|||
const uapi = pUnscopedApi as UnscopedInitPluginApi
|
||||
uapi.assets = AssetsLibrary
|
||||
uapi.react = react
|
||||
uapi.utils.discord = require('@revenge-mod/utils/discord')
|
||||
uapi.utils.react = require('@revenge-mod/utils/react')
|
||||
|
||||
for (const plugin of pList.values())
|
||||
if (plugin.flags & PluginFlags.Enabled) initPlugin(plugin)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import type { FunctionComponent } from 'react'
|
|||
import type { PluginApiModules } from './apis/modules'
|
||||
import type { PluginApiPlugins } from './apis/plugins'
|
||||
import type { PluginApiReact } from './apis/react'
|
||||
import type { PluginApiUtils, PreInitPluginApiUtils } from './apis/utils'
|
||||
import type { PluginFlags, PluginStatus } from './constants'
|
||||
|
||||
// biome-ignore lint/suspicious/noEmptyInterface: To be extended by actual extensions
|
||||
|
|
@ -20,7 +19,6 @@ export interface UnscopedPreInitPluginApi<
|
|||
patcher: typeof import('@revenge-mod/patcher')
|
||||
plugins: PluginApiPlugins
|
||||
storage: typeof import('@revenge-mod/storage')
|
||||
utils: PreInitPluginApiUtils
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -32,7 +30,6 @@ export interface UnscopedInitPluginApi<
|
|||
> extends UnscopedPreInitPluginApi<O> {
|
||||
assets: typeof import('@revenge-mod/assets')
|
||||
react: PluginApiReact
|
||||
utils: PluginApiUtils
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -41,9 +38,7 @@ export interface UnscopedInitPluginApi<
|
|||
*/
|
||||
export interface UnscopedPluginApi<
|
||||
O extends PluginApiExtensionsOptions = PluginApiExtensionsOptions,
|
||||
> extends UnscopedInitPluginApi<O> {
|
||||
components: typeof import('@revenge-mod/components')
|
||||
}
|
||||
> extends UnscopedInitPluginApi<O> {}
|
||||
|
||||
export type PluginCleanup = () => any
|
||||
export type PluginCleanupApi = (...fns: PluginCleanup[]) => void
|
||||
|
|
|
|||
|
|
@ -35,6 +35,12 @@
|
|||
},
|
||||
"./types": {
|
||||
"types": "./src/types.ts"
|
||||
},
|
||||
"./preinit": {
|
||||
"default": "./src/preinit.ts"
|
||||
},
|
||||
"./init": {
|
||||
"default": "./src/init.ts"
|
||||
}
|
||||
}
|
||||
}
|
||||
7
lib/utils/src/init.ts
Normal file
7
lib/utils/src/init.ts
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import { pUnscopedApi } from '@revenge-mod/plugins/_'
|
||||
import type { PluginApiUtils } from './preinit'
|
||||
|
||||
const utils = pUnscopedApi.utils as PluginApiUtils
|
||||
|
||||
utils.discord = require('@revenge-mod/utils/discord')
|
||||
utils.react = require('@revenge-mod/utils/react')
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
export const utils: PreInitPluginApiUtils = {
|
||||
import { pUnscopedApi } from '@revenge-mod/plugins/_'
|
||||
|
||||
pUnscopedApi.utils = {
|
||||
callback: require('@revenge-mod/utils/callback'),
|
||||
error: require('@revenge-mod/utils/error'),
|
||||
object: require('@revenge-mod/utils/object'),
|
||||
|
|
@ -20,3 +22,13 @@ export interface PluginApiUtils extends PreInitPluginApiUtils {
|
|||
react: typeof import('@revenge-mod/utils/react')
|
||||
discord: typeof import('@revenge-mod/utils/discord')
|
||||
}
|
||||
|
||||
declare module '@revenge-mod/plugins/types' {
|
||||
export interface UnscopedPreInitPluginApi {
|
||||
utils: PreInitPluginApiUtils
|
||||
}
|
||||
|
||||
export interface UnscopedInitPluginApi {
|
||||
utils: PluginApiUtils
|
||||
}
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@ onModuleFirstRequired(IndexModuleId, function onIndexRequired() {
|
|||
nativeLoggingHook(`\u001b[31m--- PREINIT STAGE ---\u001b[0m`, 1)
|
||||
|
||||
// Initialize preinit libraries
|
||||
require('@revenge-mod/utils/preinit')
|
||||
require('@revenge-mod/react/preinit')
|
||||
require('@revenge-mod/assets/preinit')
|
||||
require('@revenge-mod/storage/preinit')
|
||||
|
|
@ -37,6 +38,7 @@ onModuleFirstRequired(IndexModuleId, function onIndexRequired() {
|
|||
)
|
||||
|
||||
// Initialize init libraries
|
||||
require('@revenge-mod/utils/init')
|
||||
require('@revenge-mod/storage/init')
|
||||
require('@revenge-mod/discord/init')
|
||||
require('@revenge-mod/components/init')
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue