Turborepo という モノレポ環境のためのビルドツールを知ったので調べた
フロントエンド周りをモノレポ構成にしたことないけど、Mavenでいうマルチモジュールと同意と考えていて、メリデメもだいたい同じ感じかなと思っている
昨今のフロントエンドはBFFといったバックエンドも同じJavaScriptやTypeScriptで書くようになっているので、コンテキストが多数ある場合はモノレポ構成にするとよいのかもしれない
Turborepo に関してはこちらの記事が参考になった
上の記事にあるように最もお手軽な Yarn Workspace だけで行う場合は以下のような問題があるみたい
- プロジェクトの依存関係に応じたbuild が大変
- 開発サーバーを立てるのが大変
Turborepoはこれらを解決するとのこと
また、Turborepo にはローカル キャッシング (またはリモート キャッシング) の機能があり、ビルドとログの出力をキャッシュして既に完了した作業を再計算せずにすみ高速にビルドできるのが特徴
リモートキャッシングはVercelサーバーを使うのがもっともお手軽だがコストがかかる
これをセルフホスティングすることもできるらしい興味深い記事をみつけた
モノレポ構成にする場合は導入を検討したい