Tags Plugin
Плагин для выбора запускаемых задач с помощью тегов.
Установка
npm install @runium/plugin-tagsyarn add @runium/plugin-tagspnpm add @runium/plugin-tagsВозможности
Плагин позволяет объединять задачи в группы с помощью тегов и запускать только задачи из выбранных групп.
Для одной задачи можно указать несколько тегов. Задача будет запущена, если совпадает хотя бы один из них.
Задачи без тегов запускаются независимо от выбранных тегов.
Свойство конфигурации
Плагин добавляет новое свойство в конфигурацию задачи:
tags- непустой массив строк с тегами задачи
{
"id": "some-task",
"options": {
"command": "some-command"
},
"tags": ["development", "frontend"]
}Опция команды
Плагин добавляет опцию -t, --tag <tag...> к команде runium project start.
Опция принимает один или несколько тегов:
runium project start some-project --tag development frontendПри запуске без опции --tag задачи с тегами игнорируются. Задачи без тегов продолжают запускаться.
Принцип работы
При запуске проекта плагин обрабатывает задачи по следующим правилам:
- задачи без свойства
tagsзапускаются как обычно - задачи, у которых хотя бы один тег совпадает с переданным через
--tag, запускаются как обычно - задачи без совпадающих тегов игнорируются
- зависимости запускаемых задач учитываются независимо от их тегов
TIP
Сравнение тегов чувствительно к регистру: теги development и Development считаются разными.
Пример
Представим проект с задачами для разработки и тестирования:
{
"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"]
}
]
}Запустить задачи для разработки
runium project start some-project --tag developmentБудут запущены задачи database и frontend.
Запустить задачи для тестирования и CI
runium project start some-project --tag test ciБудут запущены задачи database, unit-tests и integration-tests.
Запустить проект без тегов
runium project start some-projectБудет запущена только задача database, поскольку у нее не указано свойство tags.
