lerna run --параллель не работает для накопительных часов - PullRequest
0 голосов
/ 03 апреля 2019

Фон:

У меня есть lerna monorepo с рабочими пространствами пряжи с двумя пакетами.Я использую накопительный пакет в качестве сборщика.

packages / module1 / package.json:

{
  scripts: {
    "watch": "rollup -c rollup.config.js --watch",
    "build": "NODE_ENV=production && rollup -c rollup.config.js"
  }
}

packages / module2 / package.json:

{
  scripts: {
    "watch": "rollup -c rollup.config.js --watch",
    "build": "NODE_ENV=production && rollup -c rollup.config.js"
  }
}

Ожидаемое поведение:

  1. lerna run build запустит сценарии build для каждого пакета.
  2. lerna run watch запустит сценарии watch для каждого пакета в режиме наблюдения.

Текущее поведение:

  1. lerna run build работает как положено.Сценарий build работает правильно для обоих пакетов.
  2. lerna run watch просто висит там:
lerna notice cli v3.13.1
lerna info Executing command in 2 packages: "yarn run watch"
[[just hangs here]]

Я пробовал lerna run --parallel watch, а это только работаетодин раз .Он завершается после завершения свертки.Другими словами, кажется, что он никогда не смотрит.

1 Ответ

1 голос
/ 12 апреля 2019

Я считаю, что вы ищете команду lerna exec.Это будет запускать любую команду, переданную ему для каждого пакета в вашем Monorepo.

lerna exec --parallel -- yarn build

Если у каждого пакета есть такой же шаг сборки , вы можете абстрагировать его до верхнего уровня package.json примерно так:

lerna exec --parallel -- rollup -c=rollup.config.js

, который войдет в каждый пакет и запустит эту команду свертки.


Источники:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...