Skip to content

gunshi / default / plugin

Function: plugin() ​

Define a plugin

Param ​

plugin options

Since ​

v0.27.0

Call Signature ​

ts
function plugin<I, P>(options): PluginWithExtension<ReturnType<P>>;

Define a plugin with extension capabilities

Type Parameters ​

Type Parameter
I extends string
P extends PluginExtension<any, DefaultGunshiParams>

Parameters ​

ParameterTypeDescription
options{ dependencies?: (string | PluginDependency)[]; extension: P; id: I; name?: string; onExtension?: OnPluginExtension<{ args: Args; extensions: { [K in string]: ReturnType<P> }; }>; setup?: (ctx) => Awaitable<void>; }plugin options
options.dependencies?(string | PluginDependency)[]-
options.extensionP-
options.idI-
options.name?string-
options.onExtension?OnPluginExtension<{ args: Args; extensions: { [K in string]: ReturnType<P> }; }>-
options.setup?(ctx) => Awaitable<void>-

Returns ​

PluginWithExtension<ReturnType<P>>

A defined plugin with extension capabilities.

Since ​

v0.27.0

Call Signature ​

ts
function plugin(options): PluginWithoutExtension<{
}>;

Define a plugin without extension capabilities

Parameters ​

ParameterTypeDescription
options{ dependencies?: (string | PluginDependency)[]; id: string; name?: string; onExtension?: OnPluginExtension<DefaultGunshiParams>; setup?: (ctx) => Awaitable<void>; }plugin options without extension
options.dependencies?(string | PluginDependency)[]-
options.idstring-
options.name?string-
options.onExtension?OnPluginExtension<DefaultGunshiParams>-
options.setup?(ctx) => Awaitable<void>-

Returns ​

PluginWithoutExtension<{ }>

A defined plugin without extension capabilities.

Since ​

v0.27.0

Released under the MIT License.