@flowscripter/dynamic-plugin-framework
    Preparing search index...

    Class BaseMarketplacePluginManager<TRemote, TLocal>Abstract

    Abstract MarketplacePluginManager implementation.

    Combines one or more TRemote repositories (for search and install source) with a TLocal repository (for loading installed plugins). The standard PluginManager methods delegate to an internal DefaultPluginManager backed by the local repository only.

    Provides a concrete checkForUpdates implementation. Subclasses must implement install and uninstall with ecosystem-specific logic (e.g. HttpPluginManager, NpmPluginManager).

    Type Parameters

    Hierarchy (View Summary)

    Implements

    Index
    fetchInterface: FetchInterface | undefined
    local: TLocal

    repository used to load installed plugins.

    remotes: TRemote[]

    marketplace repositories used for search and as install sources.

    • Check whether a plugin (and, optionally, a specific version of it) is available from any of the configured remote marketplace repositories, via a direct targeted lookup - not the fuzzy/ranked search.

      Each remote is checked in order via its MarketplacePluginRepository.getPlugin, which performs a targeted lookup rather than scanning all plugins. Returns true as soon as any remote has a match.

      Note: a MarketplacePluginRepository exposes a single "current" VersionedPluginDescriptor per plugin ID (typically the latest published version), not a full version history. When version is given, this checks whether that current version matches - it does not confirm whether an older version was ever published.

      Parameters

      • pluginId: string

        the plugin ID to check for (as returned by VersionedPluginDescriptor.pluginId).

      • Optionalversion: string

        optional exact version to additionally check for.

      Returns Promise<boolean>

      true if the plugin (and version, if given) is found in at least one configured remote, false otherwise.

    • Instantiate a specific Extension.

      Parameters

      • extensionHandle: string

        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.

      Returns Promise<unknown>

      an Extension instance implementing an Extension Point.