Lerna指定运行顺序

时间:2018-06-08 23:21:53

标签: lerna

在我的monorepo中,我有3个包package1package2package3,每个包都包含一个名为build的npm脚本。

但是,这些包没有链接在一起。即在链接到兄弟包的任何包中都没有require()

从根文件夹中,我运行lerna run build。它似乎按字母顺序运行build个包。

有没有办法指定运行这些包的build命令的顺序?

--sort因为没有关联而无法工作。

2 个答案:

答案 0 :(得分:2)

您没有指定顺序,而是通过将软件包作为另一个软件包的依赖项来指定拓扑。

如果需要在package1之前构建package2,则将package1添加到package2文件中package.json的依赖项中。如果您不希望package2直接依赖package1(例如,在生产环境中),您仍然可以将其添加到devDependencies中,Lerna将理解依赖关系。

来自lerna -h

  

-sort对包进行拓扑排序(依赖项先于依赖项)。                      通过--no-sort禁用。 [boolean] [default:true]

注意:某些命令可以忽略此拓扑而运行,例如来自lerna exec's --parallel option documentation的命令:

  

完全忽略并发和拓扑排序

答案 1 :(得分:0)

lerna run build --include-dependencies --stream

Create a Custom Request Hook此标志可以提供帮助