Skip to content

Tags Plugin ​

Плагин для выбора запускаемых задач с помощью тегов.

Установка ​

sh
npm install @runium/plugin-tags
sh
yarn add @runium/plugin-tags
sh
pnpm add @runium/plugin-tags

Возможности ​

Плагин позволяет объединять задачи в группы с помощью тегов и запускать только задачи из выбранных групп.

Для одной задачи можно указать несколько тегов. Задача будет запущена, если совпадает хотя бы один из них.

Задачи без тегов запускаются независимо от выбранных тегов.

Свойство конфигурации ​

Плагин добавляет новое свойство в конфигурацию задачи:

  • tags - непустой массив строк с тегами задачи
json
{
  "id": "some-task",
  "options": {
    "command": "some-command"
  },
  "tags": ["development", "frontend"]
}

Опция команды ​

Плагин добавляет опцию -t, --tag <tag...> к команде runium project start.

Опция принимает один или несколько тегов:

sh
runium project start some-project --tag development frontend

При запуске без опции --tag задачи с тегами игнорируются. Задачи без тегов продолжают запускаться.

Принцип работы ​

При запуске проекта плагин обрабатывает задачи по следующим правилам:

  • задачи без свойства tags запускаются как обычно
  • задачи, у которых хотя бы один тег совпадает с переданным через --tag, запускаются как обычно
  • задачи без совпадающих тегов игнорируются
  • зависимости запускаемых задач учитываются независимо от их тегов

TIP

Сравнение тегов чувствительно к регистру: теги development и Development считаются разными.

Пример ​

Представим проект с задачами для разработки и тестирования:

json
{
  "id": "some-project",
  "tasks": [
    {
      "id": "database",
      "options": {
        "command": "start-database"
      }
    },
    {
      "id": "frontend",
      "options": {
        "command": "start-frontend"
      },
      "tags": ["development"]
    },
    {
      "id": "unit-tests",
      "options": {
        "command": "run-unit-tests"
      },
      "tags": ["test"]
    },
    {
      "id": "integration-tests",
      "options": {
        "command": "run-integration-tests"
      },
      "tags": ["test", "ci"]
    }
  ]
}
Запустить задачи для разработки ​
sh
runium project start some-project --tag development

Будут запущены задачи database и frontend.

Запустить задачи для тестирования и CI ​
sh
runium project start some-project --tag test ci

Будут запущены задачи database, unit-tests и integration-tests.

Запустить проект без тегов ​
sh
runium project start some-project

Будет запущена только задача database, поскольку у нее не указано свойство tags.