Skip to content

craft-hub / PluginManager

Class: PluginManager ​

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

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:508

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:498


dataDir ​

readonly dataDir: string

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

Methods ​

addSource() ​

addSource(input): Promise<MarketplaceSource>

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

Parameters ​

input ​
catalogUrl ​

string

name ​

string

registry? ​

string

Returns ​

Promise<MarketplaceSource>


catalog() ​

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

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

Returns ​

Promise<object & object[]>


commandContributions() ​

commandContributions(): Promise<PluginCommandContributions[]>

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

Return active declarative command contributions without executing plugin code.

Returns ​

Promise<PluginCommandContributions[]>


initialize() ​

initialize(): Promise<void>

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

Returns ​

Promise<void>


install() ​

install(request): Promise<InstalledPlugin>

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

Parameters ​

request ​

InstallPluginRequest

Returns ​

Promise<InstalledPlugin>


integrationContributions() ​

integrationContributions(): Promise<InstalledIntegrationContribution[]>

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

Return active declarative integrations without executing plugin code.

Returns ​

Promise<InstalledIntegrationContribution[]>


linkLocal() ​

linkLocal(packagePath): Promise<LocalPlugin>

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

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:600

Returns ​

Promise<ManagedPlugin[]>


listSources() ​

listSources(): Promise<MarketplaceSource[]>

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

Returns ​

Promise<MarketplaceSource[]>


navigationPanels(locale): Promise<InstalledNavigationPanel[]>

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

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:640

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:817

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:872

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:662

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:675

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:681

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:711

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:623

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:738

Parameters ​

id ​

string

Returns ​

Promise<MarketplaceSource>


remove() ​

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

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

Parameters ​

packageName ​

string

deleteData? ​

boolean = false

Returns ​

Promise<void>


removeSource() ​

removeSource(id): Promise<void>

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

Parameters ​

id ​

string

Returns ​

Promise<void>


rollback() ​

rollback(packageName): Promise<InstalledPlugin>

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

Parameters ​

packageName ​

string

Returns ​

Promise<InstalledPlugin>


setEnabled() ​

setEnabled(packageName, enabled): Promise<ManagedPlugin>

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

Parameters ​

packageName ​

string

enabled ​

boolean

Returns ​

Promise<ManagedPlugin>


skillContributions() ​

skillContributions(): Promise<InstalledSkillContribution[]>

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

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:631

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:916

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:1056

Return localized product workbenches contributed by active declarative plugins.

Parameters ​

locale ​

string

Returns ​

Promise<InstalledPluginWorkbench[]>

Released under the MIT License.