はじめに
Cloud Functionsを複数作成し運用していると、各Cloud Functionsごとにリポジトリを作成する必要があり、管理が大変になります。
そして、それぞれのCloud Functionsで共通して使うlinter, formatter, ビルドツールなどの周辺ツールの設定はリポジトリが別れているがために共通化することができません。また、CI/CDの設定も各リポジトリごとに作成する必要があります。
そこで今回は、複数のCloud Functionsをモノレポ化し、1つのリポジトリにまとめて、linter, formatter, CI/CDなどの設定を共通化してみます。
ちなみに、Cloud Functions for Firebaseを使っている場合は、モノレポ化する方法が公式ドキュメントに記載されているためこれに従い実装するのが良いと思います。
モノレポ(Monorepo)とは
複数プロジェクトのコードベースを同一レポジトリで管理すること。またはその管理下における開発手法のこと。プロジェクトは相互依存可能で、プロジェクト間のコード共有もでき