|
|
|
|
|
by dragonwriter
1539 days ago
|
|
> Honest question - how do you actually effectively share code between many repos? 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.“) |
|
This is a ton of work relative to building/running the tests for all your reverse dependencies and fixing the call sites for them (up to a certain level of scale, of course).
> (Another way is “downstream projects checkout their dependencies and build against them as a routine part of their process.“)
This happens automatically in a monorepo. Any breakages are revealed as soon as upstream makes the change.