|
|
|
|
|
by radicality
1539 days ago
|
|
* Why is ownership management a mess in a monorepo? Can just decide “this team owns this folder hierarchy” etc.
* ‘Contain blast radius of changes’ - is that actually difficult? Isn’t there tooling that figures out what changed and what dependencies need rebuilding? (eg Facebook buck) For context, I was for a very long time at FB so am definitely used to the monorepo way, and recently switched to place which uses github + many repos, and it feels so much worse. Honest question - how do you actually effectively share code between many repos? Example: How do I know that me changing my backend app’s API doesn’t break any other project in the company potentially calling it? It should be a compile/buildtime error for the other project, but how does that work if everything is in its own little repository? |
|
One way is: Each repo is a responsibility boundary and single source of truth, you use code from other repos the same as any other external dependency.
> How do I know that me changing my backend app’s API doesn’t break any other project in the company potentially calling it?
Changing an API breaks projects using it; you either do versioned APIs and/or coordinate changes with downstream consumers, the same as you would with an API with external customers.
(Another way is “downstream projects checkout their dependencies and build against them as a routine part of their process.“)