Monorepo (Turborepo)

全てのコードを1つの城(リポジトリ)で守る。GoogleやFacebookが採用する巨人たちの戦略。

Monorepo
複数のプロジェクト(Frontend, Backend, UI Library)を1つのGitリポジトリで管理する手法。Turborepoが有名。

Why Monorepo?

Polyrepo (Traditional)

  • Context Switching: リポジトリを行ったり来たり...
  • Code Sharing: 共通ロジックの共有が面倒(npm publishが必要)。
  • Inconsistent Deps: Reactのバージョンがバラバラになりがち。

Monorepo (Modern)

  • One Commit: フロントとバックの変更を1回のコミットで完結できる(Atomic)。
  • Fast: Turborepoがキャッシュを効かせ、変更分だけビルドする。