Skip to content

craft-hub / HostExtensionManager

Class: HostExtensionManager ​

Defined in: packages/craft-hub/src/host-extensions.ts:57

Manage trusted host extensions independently of declarative Marketplace plugins. Only a trusted host installation flow may register modules. Registration never imports code; startup imports only the saved module list, never a changed manifest.

Constructors ​

Constructor ​

new HostExtensionManager(dataDir): HostExtensionManager

Defined in: packages/craft-hub/src/host-extensions.ts:63

Parameters ​

dataDir ​

string

Returns ​

HostExtensionManager

Properties ​

path ​

readonly path: string

Defined in: packages/craft-hub/src/host-extensions.ts:58

Methods ​

bundledChoice() ​

bundledChoice(id): Promise<boolean | undefined>

Defined in: packages/craft-hub/src/host-extensions.ts:78

The saved choice for an optional bundled extension, or undefined when the user has not chosen yet.

Parameters ​

id ​

string

Returns ​

Promise<boolean | undefined>


install() ​

install(extension, expected?): Promise<void>

Defined in: packages/craft-hub/src/host-extensions.ts:101

Persist an installation after the host has obtained explicit trust for its exact modules. When supplied, expected is compared inside the serialized write; null requires no previous registration.

Parameters ​

extension ​
enabled ​

boolean = ...

id ​

string = ...

manifestPath ​

string = ...

modules ​

string[] = ...

name ​

string = ...

expected? ​

{ enabled: boolean; id: string; manifestPath: string; modules: string[]; name: string; } | null

Returns ​

Promise<void>


load() ​

load(builtinPlugins?, preloadedModules?): Promise<LoadCraftHubPluginsResult>

Defined in: packages/craft-hub/src/host-extensions.ts:130

Load saved extensions on startup, isolating failures and preserving host-owned providers.

Parameters ​

builtinPlugins? ​

CraftHubPlugin[] = []

preloadedModules? ​

string[] = []

Returns ​

Promise<LoadCraftHubPluginsResult>


prepare() ​

prepare(input): object

Defined in: packages/craft-hub/src/host-extensions.ts:88

Prepare a reviewable installation from a host-supplied module list, without importing it.

Parameters ​

input ​
id ​

string

manifestPath ​

string

modules ​

string[]

name ​

string

Returns ​

object

enabled ​

enabled: boolean

id ​

id: string

manifestPath ​

manifestPath: string

modules ​

modules: string[]

name ​

name: string


remove() ​

remove(id, expected?): Promise<void>

Defined in: packages/craft-hub/src/host-extensions.ts:122

Remove only the matching registration; local source files and Marketplace plugins are retained.

Parameters ​

id ​

string

expected? ​
enabled ​

boolean = ...

id ​

string = ...

manifestPath ​

string = ...

modules ​

string[] = ...

name ​

string = ...

Returns ​

Promise<void>


setBundledEnabled() ​

setBundledEnabled(id, enabled): Promise<void>

Defined in: packages/craft-hub/src/host-extensions.ts:83

Save whether an optional bundled extension loads on the next startup.

Parameters ​

id ​

string

enabled ​

boolean

Returns ​

Promise<void>


setEnabled() ​

setEnabled(id, enabled, expected?): Promise<void>

Defined in: packages/craft-hub/src/host-extensions.ts:110

Save the next-startup choice, optionally requiring the displayed registration to still match at write time.

Parameters ​

id ​

string

enabled ​

boolean

expected? ​
enabled ​

boolean = ...

id ​

string = ...

manifestPath ​

string = ...

modules ​

string[] = ...

name ​

string = ...

Returns ​

Promise<void>


status() ​

status(): Promise<HostExtensionStatus>

Defined in: packages/craft-hub/src/host-extensions.ts:68

Inspect saved extensions without executing their code.

Returns ​

Promise<HostExtensionStatus>

Released under the MIT License.