From c211b41f176e6673919675718c1c809b06edcb06 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Wed, 29 Apr 2026 13:50:38 +0530 Subject: [PATCH] perf(plugins): cache bundled alias lookup --- src/plugins/config-state.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/config-state.ts b/src/plugins/config-state.ts index b109fb1484a..9893127042e 100644 --- a/src/plugins/config-state.ts +++ b/src/plugins/config-state.ts @@ -44,7 +44,12 @@ const BUILT_IN_PLUGIN_ALIAS_LOOKUP = new Map([ ...BUILT_IN_PLUGIN_ALIAS_FALLBACKS.map(([, pluginId]) => [pluginId, pluginId] as const), ]); +let bundledPluginAliasLookup: ReadonlyMap | undefined; + function getBundledPluginAliasLookup(): ReadonlyMap { + if (bundledPluginAliasLookup) { + return bundledPluginAliasLookup; + } const lookup = new Map(); for (const plugin of listBundledPluginMetadata({ includeChannelConfigs: false })) { const pluginId = normalizeOptionalLowercaseString(plugin.manifest.id); @@ -67,7 +72,8 @@ function getBundledPluginAliasLookup(): ReadonlyMap { for (const [alias, pluginId] of BUILT_IN_PLUGIN_ALIAS_FALLBACKS) { lookup.set(alias, pluginId); } - return lookup; + bundledPluginAliasLookup = lookup; + return bundledPluginAliasLookup; } export function normalizePluginId(id: string): string {