marketplace repositories used for search and as install sources.
repository used to load installed plugins.
OptionalpluginManager: PluginManageroptional PluginManager to delegate registerExtensions,
getRegisteredExtensions and instantiate to. Defaults to a
DefaultPluginManager backed by local. Provide this to supply a custom
PluginManager implementation.
Protected Readonlylocalrepository used to load installed plugins.
Protected Readonlyremotesmarketplace repositories used for search and as install sources.
Compare the local repository against a remote repository and yield entries where a newer version is available remotely.
Optionalremote: VersionedPluginRepositorythe remote VersionedPluginRepository to compare against. Defaults to the first configured remote.
an async iterable of objects pairing the remote VersionedPluginDescriptor with the available version string.
Return ExtensionInfo instances for all registered Extensions implementing the specified Extension Point.
the Extension Point for which to return ExtensionInfo instances
array of ExtensionInfo
Install a plugin (and optionally its dependencies) from the remote marketplace into the local repository.
the VersionedPluginDescriptor identifying the plugin to install.
Optionaloptions: { includeDependencies?: boolean }Instantiate a specific Extension.
the opaque handle for the Extension provided by this Extension Manager instance via ExtensionInfo.extensionHandle.
OptionalhostData: Map<string, string>optional data to be passed in to the Extension when instantiating it.
an Extension instance implementing an Extension Point.
List all plugins currently installed in the local repository.
an async iterable of VersionedPluginDescriptor instances for all locally installed plugins.
Scan for Plugins and register their Extensions which implement the specified Extension Point.
the Extension Point for which to register Extensions
Search for plugins across all configured remote marketplace repositories.
the search criteria, passed to each remote repository in order.
an async iterable of matching VersionedPluginDescriptor instances from all remotes.
Remove a plugin from the local repository.
Throws if another installed plugin declares a dependency on the plugin being removed.
the ID of the plugin to remove.
BaseMarketplacePluginManager for HTTP manifest-backed marketplaces.
Combines one or more HttpManifestPluginRepository remotes with a local LocalFolderPluginRepository. Plugins are installed by fetching their bundle via HTTP and persisting a manifest entry.