Tencent / wujie

极致的微前端框架
https://wujie-micro.github.io/doc/
Other
4.11k stars 585 forks source link

是否考虑使用Pnpm + Turborepo 来管理项目 #83

Closed ErKeLost closed 2 years ago

ErKeLost commented 2 years ago

对比目前 lerna单独管理monorepo,pnpm + turborepo 具有以下几点优势

  1. lerna 目前无法进行任务缓存
  2. lerna 一次只能执行一个任务, turbo类似折叠瀑布的模式,有效安排任务调度模式
  3. 利用pipeline,清晰查看任务之间依赖关系
  4. 目前我们项目依赖过多,pnpm磁盘管理是否好一些
yiludege commented 2 years ago

看了一下 turborepo的主要能力在于 build缓存+并行执行

目前的项目的痛点在于所有应用依赖安装时间过长、包体积过大,我认为这个问题应该是需要 pmpm 解决,这个地方不确定turborepo Remote Caching 这个功能是否可以解决这个问题

而 wujie-core、wujie-vue、wujie-react 这些依赖的 build 几乎是秒级别

采用 turborepo 在缓存这块的收益太低而丢失了 lerna 版本管理的能力感觉有点得不偿失呢

ErKeLost commented 2 years ago

嗯 确实是这样,肉眼可见的优势目前来说其实并不多,我们也可以考虑一下 nx + lerna5,各有各的好处吧,可能未来 turbo 会做的更好 如果有需要 我也可以提一版 pnpm + lerna5 + nx

yiludege commented 2 years ago

@ErKeLost pr welcome,似乎 lerna 不支持 pnpm,有一个lerna lite可以试试

ErKeLost commented 2 years ago

似乎 lerna 不支持 pnpm,有一个lerna lite可以试试

好的 那我重新开一个issues

ErKeLost commented 2 years ago

似乎 lerna 不支持 pnpm,有一个lerna lite可以试试

好的 那我重新开一个issues

我想都试试 然后对比一下