Запуск команд
polyrepo exec — запуск произвольной команды в каждом выбранном пакете.
polyrepo exec [options] -- <cmd...>Показывает чекбокс всех найденных пакетов (все отмечены по умолчанию — «запустить везде» это типичный случай), затем выполняет указанную команду в каждом выбранном пакете, один за другим, с реальным терминалом (вывод, цвета и любые запросы работают как обычно). Пакет, завершившийся с ненулевым кодом, отмечается в отчёте, и по умолчанию выполнение продолжается для остальных — --bail останавливает сразу же. В конце печатается сводка по упавшим пакетам, и процесс завершается с ненулевым кодом, если хоть один пакет упал.
Сама команда обязательно должна идти после литерального --, так же как у npm run <script> -- — всё, что до него, разбирается как собственные опции polyrepo.
Опции
--packages <a,b,c>
Список пакетов вместо интерактивного чекбокса.
--yes
Пропустить подтверждение «proceed?».
--bail
Остановиться на первом пакете, завершившемся с ненулевым кодом, вместо продолжения по остальным.
Пример:
# прогнать тесты везде
polyrepo exec -- npm test
# конкретные пакеты, без вопросов
polyrepo exec --packages vue-toast-kit,os-detect --yes -- npm outdated
# остановиться на первой же ошибке
polyrepo exec --bail -- npm run lint