如何控制 pnpm 工作区构建顺序

Ste*_*e B 7 pnpm pnpm-workspace

我正在一个大型 pnpm monorepo (pnpm v7) 工作。

该存储库包含:

  • 多个应用程序
  • 多个共享依赖项
  • 工具(共享编译安装包)

每个包(应用程序或共享库)都可以引用任何共享库(尽管没有循环引用)

编译设置包是 gulp helper,它为每个应用程序和一些共享组件设置编译任务。

这意味着构建顺序应该是:

  • 工具/编译器
  • 包/共享1
  • 包/共享2
  • 应用程序/应用程序1
  • 应用程序/应用程序2

尽管在每个 package.json 文件中都正确声明了依赖项(作为 devDependency 或 dependency),但 runninpnpm -r run build似乎是随机构建项目。结果是它无法编译(抱怨它缺少一些依赖包)。

我认为 pnpm 应该处理构建顺序。有什么我想念的吗?

我应该转向更复杂的工具,如turborepo 或rush 吗?

Ste*_*e B 1

最后,我认为,菲律宾共产党无法单独拥有这样的控制权。

我通过在我的存储库上添加新工具解决了我的问题。

我首先给了Turbo的机会,然后是 nxdev。两者都能够检测依赖关系图并以正确的顺序构建