Лерна уточняйте порядок выполнения - PullRequest
0 голосов
/ 09 июня 2018

В моем monorepo у меня есть 3 пакета package1, package2, package3, каждый пакет содержит скрипт npm с именем build.

Однако эти пакеты не связаны друг с другом.Т.е. в этих пакетах нет ссылок require(), ссылающихся на одноуровневый пакет.

В корневой папке я запускаю lerna run build.Кажется, что запускаются build пакетов в алфавитном порядке.

Есть ли способ указать порядок запуска команд build этих пакетов?

--sort wonне работают, потому что они не связаны.

1 Ответ

0 голосов
/ 13 января 2019

Вы не указываете порядок, вы указываете топологию путем включения пакета в качестве зависимости другого.

Если необходимо построить package1 до package2, добавьте package1 кзависимости package2 в последнем файле package.json.Если вы не хотите, чтобы package2 напрямую зависело от package1 (например, от производства), вы все равно можете добавить его в devDependencies, и Лерна поймет зависимость.

С lerna -h:

- сортировка сортировки пакетов топологически (зависимости перед зависимостями).Передайте --no-sort, чтобы отключить.[логическое значение] [по умолчанию: истина]

Примечание Некоторые команды можно запускать без учета этой топологии, например, из документации по параметру --parallel lerna exec :

полностью игнорирует параллелизм и топологическую сортировку

...