Тема
Plugin
Плагин Runium.
Свойства
| Наименование | Тип | Обязательное |
|---|---|---|
| name | string | Да |
| options | PluginOptionsDefinition | Нет |
| project | PluginProjectDefinition | Нет |
| app | PluginAppDefinition | Нет |
| hooks | PluginHooksDefinition | Нет |
Описание свойств
name
Тип: string
Обязательное: Да
Имя плагина.
Пример:
typescript
{
name: "some-plugin"
}options
Обязательное: Нет
Опции плагина.
Пример:
typescript
{
options: {
value: {
timeout: 5000
},
validate: (options) => {
return typeof options.timeout === 'number';
}
}
}project
Обязательное: Нет
Элементы расширения проекта: макросы, задачи, действия, триггеры и схемы валидации.
Пример:
typescript
{
project: {
macros: {
someMacro: () => "some macro value"
},
tasks: {
someTask: SomeTaskClass
}
}
}app
Тип: PluginAppDefinition
Обязательное: Нет
Элементы расширения приложения.
Пример:
typescript
{
app: {
commands: [SomeCommandClass]
}
}hooks
Обязательное: Нет
Хуки жизненного цикла плагина.
Пример:
typescript
{
hooks: {
app: {
afterInit: async ({ profilePath }) => {
console.log('App initialized');
}
},
project: {
beforeStart: async ({ project, path, name }) => {
console.log('Before project start');
}
}
}
}