Skip to content

Plugin

Плагин Runium.

Свойства

НаименованиеТипОбязательное
namestringДа
optionsPluginOptionsDefinitionНет
projectPluginProjectDefinitionНет
appPluginAppDefinitionНет
hooksPluginHooksDefinitionНет

Описание свойств

name

Тип: string

Обязательное: Да

Имя плагина.

Пример:

typescript
{
  name: "some-plugin"
}

options

Тип: PluginOptionsDefinition

Обязательное: Нет

Опции плагина.

Пример:

typescript
{
  options: {
    value: {
      timeout: 5000
    },
    validate: (options) => {
      return typeof options.timeout === 'number';
    }
  }
}

project

Тип: PluginProjectDefinition

Обязательное: Нет

Элементы расширения проекта: макросы, задачи, действия, триггеры и схемы валидации.

Пример:

typescript
{
  project: {
    macros: {
      someMacro: () => "some macro value"
    },
    tasks: {
      someTask: SomeTaskClass
    }
  }
}

app

Тип: PluginAppDefinition

Обязательное: Нет

Элементы расширения приложения.

Пример:

typescript
{
  app: {
    commands: [SomeCommandClass]
  }
}

hooks

Тип: PluginHooksDefinition

Обязательное: Нет

Хуки жизненного цикла плагина.

Пример:

typescript
{
  hooks: {
    app: {
      afterInit: async ({ profilePath }) => {
        console.log('App initialized');
      }
    },
    project: {
      beforeStart: async ({ project, path, name }) => {
        console.log('Before project start');
      }
    }
  }
}