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 {