Skip to content

Запуск команд

polyrepo exec — запуск произвольной команды в каждом выбранном пакете.

bash
polyrepo exec [options] -- <cmd...>

Показывает чекбокс всех найденных пакетов (все отмечены по умолчанию — «запустить везде» это типичный случай), затем выполняет указанную команду в каждом выбранном пакете, один за другим, с реальным терминалом (вывод, цвета и любые запросы работают как обычно). Пакет, завершившийся с ненулевым кодом, отмечается в отчёте, и по умолчанию выполнение продолжается для остальных — --bail останавливает сразу же. В конце печатается сводка по упавшим пакетам, и процесс завершается с ненулевым кодом, если хоть один пакет упал.

Сама команда обязательно должна идти после литерального --, так же как у npm run <script> -- — всё, что до него, разбирается как собственные опции polyrepo.

Опции

--packages <a,b,c>

Список пакетов вместо интерактивного чекбокса.

--yes

Пропустить подтверждение «proceed?».

--bail

Остановиться на первом пакете, завершившемся с ненулевым кодом, вместо продолжения по остальным.

Пример:

bash
# прогнать тесты везде
polyrepo exec -- npm test

# конкретные пакеты, без вопросов
polyrepo exec --packages vue-toast-kit,os-detect --yes -- npm outdated

# остановиться на первой же ошибке
polyrepo exec --bail -- npm run lint