Skip to content

craft-hub / PluginManager

Class: PluginManager ​

Defined in: packages/craft-hub/src/marketplace.ts:506

User-level marketplace and declarative plugin lifecycle manager.

Constructors ​

Constructor ​

new PluginManager(dataDir, builtinSources?, installer?, fetcher?, applicationVersion?, trustPolicies?): PluginManager

Defined in: packages/craft-hub/src/marketplace.ts:517

Parameters ​

dataDir ​

string

builtinSources? ​

MarketplaceSource[] = []

installer? ​

PluginPackageInstaller = ...

fetcher? ​

{(input, init?): Promise<Response>; (input, init?): Promise<Response>; }

applicationVersion? ​

string = craftHubVersion

trustPolicies? ​

MarketplaceTrustPolicy[] = []

Returns ​

PluginManager

Properties ​

capabilityProvider ​

readonly capabilityProvider: CapabilityProvider

Defined in: packages/craft-hub/src/marketplace.ts:507


dataDir ​

readonly dataDir: string

Defined in: packages/craft-hub/src/marketplace.ts:518

Methods ​

addSource() ​

addSource(input): Promise<MarketplaceSource>

Defined in: packages/craft-hub/src/marketplace.ts:696

Parameters ​

input ​
catalogUrl ​

string

name ​

string

registry? ​

string

Returns ​

Promise<MarketplaceSource>


catalog() ​

catalog(): Promise<(object & object)[]>

Defined in: packages/craft-hub/src/marketplace.ts:654

Returns ​

Promise<(object & object)[]>


commandContributions() ​

commandContributions(): Promise<PluginCommandContributions[]>

Defined in: packages/craft-hub/src/marketplace.ts:1007

Return active declarative command contributions without executing plugin code.

Returns ​

Promise<PluginCommandContributions[]>


initialize() ​

initialize(): Promise<void>

Defined in: packages/craft-hub/src/marketplace.ts:538

Returns ​

Promise<void>


install() ​

install(request, reviewedPlan?): Promise<InstalledPlugin>

Defined in: packages/craft-hub/src/marketplace.ts:765

Install a resolved plan; clients may bind approval to the exact dependency and permission preview.

Parameters ​

request ​

InstallPluginRequest

reviewedPlan? ​

unknown

Returns ​

Promise<InstalledPlugin>


integrationContributions() ​

integrationContributions(): Promise<InstalledIntegrationContribution[]>

Defined in: packages/craft-hub/src/marketplace.ts:1041

Return active declarative integrations without executing plugin code.

Returns ​

Promise<InstalledIntegrationContribution[]>


linkLocal() ​

linkLocal(packagePath): Promise<LocalPlugin>

Defined in: packages/craft-hub/src/marketplace.ts:616

Load a declarative plugin directly from a local package directory.

Parameters ​

packagePath ​

string

Returns ​

Promise<LocalPlugin>


listInstalled() ​

listInstalled(): Promise<ManagedPlugin[]>

Defined in: packages/craft-hub/src/marketplace.ts:609

Returns ​

Promise<ManagedPlugin[]>


listSources() ​

listSources(): Promise<MarketplaceSource[]>

Defined in: packages/craft-hub/src/marketplace.ts:604

Returns ​

Promise<MarketplaceSource[]>


navigationPanels(locale): Promise<InstalledNavigationPanel[]>

Defined in: packages/craft-hub/src/marketplace.ts:1059

Return localized, project-independent navigation panels from active declarative plugins.

Parameters ​

locale ​

string

Returns ​

Promise<InstalledNavigationPanel[]>


onChanged() ​

onChanged(listener): () => void

Defined in: packages/craft-hub/src/marketplace.ts:649

Subscribe to installed-plugin or marketplace-source changes.

Parameters ​

listener ​

() => void

Returns ​

() => void


planInstall() ​

planInstall(request): Promise<PluginInstallPlan>

Defined in: packages/craft-hub/src/marketplace.ts:834

Resolve a root plugin and all same-source plugin dependencies without changing state.

Parameters ​

request ​

InstallPluginRequest

Returns ​

Promise<PluginInstallPlan>


planUpdates() ​

planUpdates(): Promise<PluginUpdatePlanItem[]>

Defined in: packages/craft-hub/src/marketplace.ts:889

Find the newest compatible Catalog version for every enabled installed plugin.

Returns ​

Promise<PluginUpdatePlanItem[]>


pluginDocument() ​

pluginDocument(request): Promise<PluginDocumentPreview>

Defined in: packages/craft-hub/src/marketplace.ts:671

Read a bounded Markdown document from one exact marketplace or local plugin package.

Parameters ​

request ​
package ​

string

path? ​

string

sourceId ​

string

version? ​

string

Returns ​

Promise<PluginDocumentPreview>


pluginDocumentAsset() ​

pluginDocumentAsset(request): Promise<{ content: Buffer; contentType: string; } | undefined>

Defined in: packages/craft-hub/src/marketplace.ts:684

Read a bounded raster asset from one exact marketplace or local plugin package.

Parameters ​

request ​
package ​

string

path ​

string

sourceId ​

string

version? ​

string

Returns ​

Promise<{ content: Buffer; contentType: string; } | undefined>


pluginIcon() ​

pluginIcon(request): Promise<{ content: Buffer; contentType: string; } | undefined>

Defined in: packages/craft-hub/src/marketplace.ts:690

Read only the declared package icon; callers must isolate SVG as image content.

Parameters ​

request ​
package ​

string

sourceId ​

string

version? ​

string

Returns ​

Promise<{ content: Buffer; contentType: string; } | undefined>


previewSource() ​

previewSource(input): Promise<MarketplaceSourcePreview>

Defined in: packages/craft-hub/src/marketplace.ts:720

Fetch and validate a marketplace source without changing persisted state.

Parameters ​

input ​
catalogUrl ​

string

name? ​

string

registry? ​

string

Returns ​

Promise<MarketplaceSourcePreview>


refreshLocal() ​

refreshLocal(packageName): Promise<LocalPlugin>

Defined in: packages/craft-hub/src/marketplace.ts:632

Re-read one linked plugin from disk so manifest edits take effect immediately.

Parameters ​

packageName ​

string

Returns ​

Promise<LocalPlugin>


refreshSource() ​

refreshSource(id): Promise<MarketplaceSource>

Defined in: packages/craft-hub/src/marketplace.ts:747

Parameters ​

id ​

string

Returns ​

Promise<MarketplaceSource>


remove() ​

remove(packageName, deleteData?): Promise<void>

Defined in: packages/craft-hub/src/marketplace.ts:994

Parameters ​

packageName ​

string

deleteData? ​

boolean = false

Returns ​

Promise<void>


removeSource() ​

removeSource(id): Promise<void>

Defined in: packages/craft-hub/src/marketplace.ts:734

Parameters ​

id ​

string

Returns ​

Promise<void>


rollback() ​

rollback(packageName): Promise<InstalledPlugin>

Defined in: packages/craft-hub/src/marketplace.ts:973

Parameters ​

packageName ​

string

Returns ​

Promise<InstalledPlugin>


setEnabled() ​

setEnabled(packageName, enabled): Promise<ManagedPlugin>

Defined in: packages/craft-hub/src/marketplace.ts:964

Parameters ​

packageName ​

string

enabled ​

boolean

Returns ​

Promise<ManagedPlugin>


skillContributions() ​

skillContributions(): Promise<InstalledSkillContribution[]>

Defined in: packages/craft-hub/src/marketplace.ts:1025

Return active data-only Skill declarations for project-level activation.

Returns ​

Promise<InstalledSkillContribution[]>


unlinkLocal() ​

unlinkLocal(packageName): Promise<void>

Defined in: packages/craft-hub/src/marketplace.ts:640

Stop loading a local plugin. A same-name marketplace installation becomes active again.

Parameters ​

packageName ​

string

Returns ​

Promise<void>


updateAll() ​

updateAll(options?): Promise<PluginUpdateResult>

Defined in: packages/craft-hub/src/marketplace.ts:933

Refresh installed plugins' sources and apply updates that need no new permission approval.

Parameters ​

options? ​
refreshSources? ​

boolean

Returns ​

Promise<PluginUpdateResult>


workbenches() ​

workbenches(locale): Promise<InstalledPluginWorkbench[]>

Defined in: packages/craft-hub/src/marketplace.ts:1073

Return localized product workbenches contributed by active declarative plugins.

Parameters ​

locale ​

string

Returns ​

Promise<InstalledPluginWorkbench[]>

Released under the MIT License.