n1ro°
RU

Документы · Инструкция

yarn workspaces foreach --topological: порядок сборки

Флаг --topological нужен, когда скрипт workspace зависит от результата сборки внутренних зависимостей.

Редакция N1RO · Проверено

Короткий ответ

Как запускать команды workspaces в топологическом порядке: dry-run, --topological, параллелизм независимых веток и проверка exit code в CI.

Что важно знать про yarn workspaces foreach --topological

Флаг -t/--topological заставляет Yarn соблюдать топологический порядок зависимостей между workspaces. Флаг -p включает parallel, а -j ограничивает число параллельных задач; порядок зависимостей при этом всё ещё можно сохранять через -t. --from, --since, --include и --exclude позволяют сузить набор workspaces, а --dry-run помогает проверить выбор до реального запуска.

Совет: Практический совет: Добавить -t, если build каждого package требует готовые внутренние зависимости.

Как выполнить задачу: запускать команды в workspaces по порядку зависимостей

  1. 1. Сначала выполнить yarn workspaces foreach -A --dry-run run build и проверить набор пакетов.
  2. 2. Добавить -t, если build каждого package требует готовые внутренние зависимости.
  3. 3. При необходимости добавить -p и разумный -j для параллельного выполнения независимых веток.
  4. 4. Использовать --from или --since, если полный монорепозиторий запускать не требуется.
  5. 5. Проверить exit code и порядок логов на CI после первой настройки.

Предупреждение: Осторожно: Не запускать зависимые build-скрипты просто с -p без топологического порядка, если артефакты нужны downstream-пакетам.

Ошибки при задаче «запускать команды в workspaces по порядку зависимостей»

Не запускать зависимые build-скрипты просто с -p без топологического порядка, если артефакты нужны downstream-пакетам. Не забывать экранировать glob-паттерны shell для --from/include/exclude. Не принимать --dry-run за выполнение команд — он только показывает план.

Важно: Важно: Не забывать экранировать glob-паттерны shell для --from/include/exclude.

Чек-лист: запускать команды в workspaces по порядку зависимостей

  • Исходная точка зафиксирована: сначала выполнить yarn workspaces foreach -a --dry-run run build и проверить набор пакетов.
  • Ключевое действие выполнено отдельно: добавить -t, если build каждого package требует готовые внутренние зависимости.
  • Финальная проверка пройдена: проверить exit code и порядок логов на ci после первой настройки.
  • Для «запускать команды в workspaces по порядку зависимостей» путь и ограничения сверены с «yarn workspaces foreach» (Yarn).

Практическая проверка: запускать команды в workspaces по порядку зависимостей

В терминале сначала сначала выполнить yarn workspaces foreach -a --dry-run run build и проверить набор пакетов и сохраните вывод команды. Затем добавить -t, если build каждого package требует готовые внутренние зависимости; после этого не меняйте package.json, lockfile или CI-конфигурацию несколькими способами сразу. Шаг «при необходимости добавить -p и разумный -j для параллельного выполнения независимых веток» должен дать проверяемый вывод: путь зависимости, список workspaces, audit report, checksum или расшифровку кода — в зависимости от команды. Если действует ограничение «не запускать зависимые build-скрипты просто с -p без топологического порядка, если артефакты нужны downstream-пакетам», остановите автоматическую правку и разберите причину.

Контрольные точки: запускать команды в workspaces по порядку зависимостей

  • Старт. Сначала выполнить yarn workspaces foreach -A --dry-run run build и проверить набор пакетов. Получить корректную базу сравнения
  • Изменение. Добавить -t, если build каждого package требует готовые внутренние зависимости. Проверить шаг для задачи «запускать команды в workspaces по порядку зависимостей»
  • Контроль. Проверить exit code и порядок логов на CI после первой настройки. Подтвердить результат задачи «запускать команды в workspaces по порядку зависимостей»

Что учитывать

Флаг -t/--topological заставляет Yarn соблюдать топологический порядок зависимостей между workspaces. Флаг -p включает parallel, а -j ограничивает число параллельных задач; порядок зависимостей при этом всё ещё можно сохранять через -t. --from, --since, --include и --exclude позволяют сузить набор workspaces, а --dry-run помогает проверить выбор до реального запуска.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. yarn workspaces foreach). Пример и формулировки — редакция N1RO на 2026-09-22.