revenge-bundle-next/lib/plugins/src/init.ts

31 lines
919 B
TypeScript
Raw Normal View History

import { onRunApplication } from '@revenge-mod/react/native'
2025-05-09 21:53:48 +07:00
import { _uapi } from './apis'
import * as AssetsLibrary from '@revenge-mod/assets'
import { externals } from './apis/externals'
import { react } from './apis/react'
import { _plugins, initPlugin, startPlugin } from './_internal'
import { PluginFlags } from './constants'
import type { UnscopedInitPluginApi } from './types'
// Setup init plugin APIs
const uapi = _uapi as UnscopedInitPluginApi
uapi.assets = AssetsLibrary
uapi.externals = externals
uapi.react = react
for (const plugin of _plugins.values()) if (plugin.flags & PluginFlags.Enabled) initPlugin(plugin)
const unsub = onRunApplication(() => {
unsub()
// TODO(plugins/start): init start APIs
// const UILibrary = require('@revenge-mod/ui')
// uapi.ui = UiLibrary
for (const plugin of _plugins.values()) if (plugin.flags & PluginFlags.Enabled) startPlugin(plugin)
})