yarn workspaces foreach
Плагин
Чтобы использовать эту команду, сначала установите плагин
workspace-tools:yarn plugin import workspace-tools
Выполнить команду во всех рабочих пространствах.
Использование
$> yarn workspaces foreach <commandName> ...Примеры
Опубликовать текущие и все дочерние пакеты:
yarn workspaces foreach npm publish --tolerate-republishВыполнить скрипт сборки для текущих и всех дочерних пакетов:
yarn workspaces foreach run buildВыполнить скрипт сборки для текущих и всех дочерних пакетов параллельно, сначала выполнив сборку зависимостей пакета:
yarn workspaces foreach -pt run buildВыполнить скрипт сборки для нескольких пакетов и всех их зависимостей, сначала выполнив сборку зависимостей:
yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run buildПараметры
Определение |
Описание |
|---|---|
-R,--recursive |
Найти пакеты через зависимости/devDependencies вместо использования поля workspaces |
--from #0 |
Массив идентификаторов шаблонов glob, от которых будет начинаться рекурсия |
-A,--all |
Выполнить команду во всех рабочих пространствах проекта |
-v,--verbose |
Добавлять имя исходного рабочего пространства в каждую строку вывода |
-p,--parallel |
Выполнять команды параллельно |
-i,--interlaced |
Выводить вывод команд в реальном времени вместо буферизации |
-j,--jobs #0 |
Максимальное число параллельных задач, к которому будет ограничена обработка; или unlimited
|
-t,--topological |
Выполнить команду после завершения всех рабочих пространств, от которых она зависит (обычные) |
--topological-dev |
Выполнить команду после завершения всех рабочих пространств, от которых она зависит (обычные + dev) |
--include #0 |
Массив идентификаторов шаблонов glob; будут обрабатываться только соответствующие рабочие пространства |
--exclude #0 |
Массив идентификаторов шаблонов glob; соответствующие рабочие пространства не будут обрабатываться |
--no-private |
Избегать выполнения команды в частных рабочих пространствах |
--since |
Включать только рабочие пространства, изменённые после указанной метки. |
Подробности
Эта команда выполнит заданную подкоманду в текущем и всех его дочерних рабочих пространствах. Различные флаги могут изменить точное поведение команды:
Если
-p,--parallelустановлен, команды будут выполняться параллельно; по умолчанию они будут ограничены примерно половиной количества ядер процессора, но это можно переопределить с помощью-j,--jobs, или отключить, установив-j unlimited.Если
-p,--parallelи-i,--interlacedустановлены одновременно, Yarn будет выводить строки из вывода по мере их получения. Если-i,--interlacedне установлен, он будет вместо этого буферизовать вывод каждого процесса и выводить результирующие буферы только после завершения процессов-источников.Если
-t,--topologicalустановлен, Yarn выполнит команду только после того, как все рабочие пространства, от которых она зависит через полеdependencies, успешно завершат выполнение. Если--topological-devустановлен, при определении точек ожидания будут учитываться как поляdependencies, так иdevDependencies.Если
-A,--allустановлен, Yarn выполнит команду во всех рабочих пространствах проекта. По умолчанию yarn выполняет команду только в текущем и всех его дочерних рабочих пространствах.Если
-R,--recursiveустановлен, Yarn будет находить рабочие пространства для выполнения команды, рекурсивно оценивая поляdependenciesиdevDependencies, вместо поиска в поляхworkspaces.Если
--fromустановлен, Yarn будет использовать пакеты, соответствующие шаблону 'from', в качестве отправной точки для любого рекурсивного поиска.Если
--sinceустановлен, Yarn будет выполнять команду только для рабочих пространств, изменённых с момента указанной метки. По умолчанию Yarn будет использовать метки, указанные параметром конфигурацииchangesetBaseRefs.Команда может применяться только к некоторым рабочим пространствам с помощью
--include, который действует как белый список. Флаг--excludeсделает обратное и будет списком пакетов, которые не должны выполнять скрипт. Оба флага принимают шаблоны glob (если они являются допустимыми идентификаторами и поддерживаются micromatch). Убедитесь, что вы экранируете шаблоны, чтобы ваша оболочка не пыталась их расширить.
Добавление флага -v,--verbose заставит Yarn выводить больше информации; в частности, имя рабочего пространства, которое сгенерировало вывод, будет напечатано в начале каждой строки.
Если команда является run, а выполняемый скрипт не существует, дочернее рабочее пространство будет пропущено без ошибки.
© 2016–present Yarn Contributors
Licensed under the BSD License.
https://v3.yarnpkg.com/cli/workspaces/foreach