Monorepos have been around for a while. Googled, Facebook, Microsoft, and so on are commonly mentioned when it comes to discussing monorepos. All three are known for having gigantic monorepos where they scale development across their large teams. Now, not many reach those levels and thus disregard monorepos for only being about scaling to the masses. Wrongly so!
And in fact, while monorepos have been around and quite heavily adopted in the enterprise space, they recently gained some increased interest in the JS community:
- Best of JS recently added a monorepo listing
- State of JS included an entire section about monorepos
"But what is a monorepo really?" "Why would I want to use one over - say - a polyrepo?" "We are using a microfrontend architecture, so monorepos are not for us!". These are just some questions and misconceptions that frequently come up.
Today I'm happy to announce that we launched https://monorepo.tools to address those questions!
I've been using monorepos for years, and most recently as part of my job at Nrwl, I help build Nx, a smart, fast, and extensible build system that helps with monorepos. At Nrwl we work with big enterprises helping them scale their software development efforts, which often also involves supporting them in setting up and structuring a monorepo. We've done that for years! Given the recent interest, we wanted to help newcomers enter the space and give them a starting point to explore more.
The goal is to address common questions and misconceptions around monorepos, why you'd want to use one, available tooling and features those tools should have, as well as links to resources for learning more. We reached out to monorepo tool authors to review the site and we'll keep it updated to add more valuable links and resources. If you have something ping me on Twitter, or directly use the provided GitHub link on the monorepo.tools site to suggest something 🙂
Check it out!