perf(plugin-loader): parallelize component loading
- Convert sequential plugin component loading to Promise.all - Wrap sync functions in Promise.resolve() for parallel execution - commands, skills, agents, mcpServers, hooksConfigs now load concurrently 🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
@@ -464,11 +464,13 @@ export interface PluginComponentsResult {
|
|||||||
export async function loadAllPluginComponents(options?: PluginLoaderOptions): Promise<PluginComponentsResult> {
|
export async function loadAllPluginComponents(options?: PluginLoaderOptions): Promise<PluginComponentsResult> {
|
||||||
const { plugins, errors } = discoverInstalledPlugins(options)
|
const { plugins, errors } = discoverInstalledPlugins(options)
|
||||||
|
|
||||||
const commands = loadPluginCommands(plugins)
|
const [commands, skills, agents, mcpServers, hooksConfigs] = await Promise.all([
|
||||||
const skills = loadPluginSkillsAsCommands(plugins)
|
Promise.resolve(loadPluginCommands(plugins)),
|
||||||
const agents = loadPluginAgents(plugins)
|
Promise.resolve(loadPluginSkillsAsCommands(plugins)),
|
||||||
const mcpServers = await loadPluginMcpServers(plugins)
|
Promise.resolve(loadPluginAgents(plugins)),
|
||||||
const hooksConfigs = loadPluginHooksConfigs(plugins)
|
loadPluginMcpServers(plugins),
|
||||||
|
Promise.resolve(loadPluginHooksConfigs(plugins)),
|
||||||
|
])
|
||||||
|
|
||||||
log(`Loaded ${plugins.length} plugins with ${Object.keys(commands).length} commands, ${Object.keys(skills).length} skills, ${Object.keys(agents).length} agents, ${Object.keys(mcpServers).length} MCP servers`)
|
log(`Loaded ${plugins.length} plugins with ${Object.keys(commands).length} commands, ${Object.keys(skills).length} skills, ${Object.keys(agents).length} agents, ${Object.keys(mcpServers).length} MCP servers`)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user