Monorepos sidestep the dependency tracking problem. When it comes to code there is no such thing as free lunch. The price of modularity is dependency management.
If you split up the codebase into pieces then you need something to reconstitute the pieces. That something is usually complication in the build scripts to pull in all the right versions to put together the final deployable artifact. I think it makes sense for codebases that are truly modular to break things up and pay the build system overhead but most of the time it's easier to put everything into one place.
I can't think of many cons other than you are forcing potentially unnecessary coordination between different teams. At large enough scale you'll also need to worry about virtual file systems so that you don't pull in parts of the repo you don't need. Fortunately microsoft has open sourced their virtual file system for git so this is a solvable problem when you get big enough.
Very nicely argued! I was beginning to lose patience with all the monorepo posts. I suppose monorepo is the next blockchain? 😬
Monorepos have some use. Blockchains are pure nonsense.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.