Software Development- Repository Structure

Quick Chat

最近筆者在開發公司的共用套件時,踩了不少坑,尤其是在儲存庫結構方面。

最初選擇了 polyrepo 的結構,但隨著開發的進展,碰到了一些問題:

  • 要確保這些獨立的 repo 配置能夠同步。
  • 每次發佈都需要逐一更新每個套件,尤其是那些有兩三層依賴的,讓發佈變得非常繁瑣。
  • 進行 code review 時,還要不停地在不同 repo 之間切換。

為了改善這些問題,開始研究 monorepo 的結構:

  • 使用 pnpm workspace 來構建。
  • 雖然 monorepo 有一些權限控管的隱憂,但因為共用套件的開發人數不多,所以目前還不用太擔心協作上的衝突。

Guide

monorepo