Monorepo: please do!
Adam Jacob
1.6K7

For the best of both worlds I use (and contribute to) meta.

Then I don’t need to choose!

They both have advantages. Though I think pure monorepos lead to reliance on the repo and that makes CI more painful. People start making dockerfiles that suck in context from multiple places instead of every service having an independent lifecycle. People use shared folders in place of publishing packages and then jump through the resulting hoops.

Much like meta can be used to group repositories so they can be cloned and worked on together for development, regardless of whether you choose a monorepo or not, your monorepos grouping falls apart as soon as you deploy.

I generally use Helm to create groupings of services in prod.

Meta for dev, helm for prod.

Going deeper I usually have multiple meta repos. One per bounded context.

Another great thing with meta is you can slice and dice anyway you want. You can have one repo appear in many meta repos. You can even have meta repos within meta repos!

Metarepos ftw!