Then you have a Leftpad incident and Supply Chain attack.
So you start caching external repos and their dependencies. Then you start building them and running their tests and trying to keep them up to date...
And then, 🪄, you've basically reverse built a package manager. It's the only way to get the contracts you need from the code you use.
And that notion of contracts is with underpins all of this... /6