LINEで個別相談
プログラミング 2026-04-08

モノレポ(Monorepo)

複数のプロジェクトやパッケージを1つのGitリポジトリで管理する手法。コードの共有・一貫したCI/CD・依存関係の統一が容易になる。Turborepo・Nx・Yarnワークスペースで実装される。

モノレポ(Monorepo)とは?

モノレポ(Monorepo)は、複数のプロジェクト・アプリ・パッケージを1つのGitリポジトリで管理するアーキテクチャです。Google・Meta・Microsoftなど大規模組織が採用しています。

マルチリポ(Polyrepo)との比較

項目マルチリポ(Polyrepo)モノレポ
リポジトリ数プロジェクトごとに分割1つに集約
コード共有npmパッケージとして公開直接インポート
CI/CDプロジェクトごとに設定一元管理
変更影響範囲見えにくい一目で把握
リポジトリサイズ小さい大きくなる

主なモノレポツール

ツール特徴
TurborepoVercel製・高速・設定が簡単
Nx多機能・プラグインが豊富
Yarn Workspacesシンプルな依存関係共有のみ
pnpm Workspaces効率的なディスク使用

典型的なモノレポ構成

my-monorepo/
├── apps/
│   ├── web/          # メインWebアプリ
│   └── mobile/       # モバイルアプリ
├── packages/
│   ├── ui/           # 共通UIコンポーネント
│   ├── utils/        # 共通ユーティリティ
│   └── config/       # 共通設定(ESLint・TypeScript等)
└── package.json

まとめ

モノレポはフロントエンドとバックエンドで共通の型定義を使いたい場合や、複数アプリで同じUIコンポーネントを共有したい場合に特に有効です。

Sponsored Link

バグ・要望を報告する