logoalt Hacker News

otterley • today at 6:23 PM • 4 replies • view on HN

Why did we stop vendoring dependencies in the first place?


Replies

jeremyjh • today at 9:11 PM

I think its a good question. The short answer is: because tooling doesn't default to this or make it easy.

The answer to the question of why THAT is the case - is not so easy to answer. The main benefit I can see with using lock files instead of vendoring is that it saves a lot of storage and diff history from entering your repository. So clones are much faster, backups smaller etc.

I think Go used to work this way (automated vendoring) but it’s the only language I can think of that ever did in terms of standard tooling. It would be instructive to learn why that changed.

collabs • today at 7:55 PM

Because it sucks. But maybe it should suck? It would make us think twice before adding dependencies.

I use dotnet and I never liked seeing dlls and binary files in my diffs. I would argue if we are adding vendor code to our projects, we should demand the FULL source code instead of dlls. Maybe it is already possible with things like x unit. I have never given it much thought... But then that vendoree code has to come from somewhere as well, right? I mean there is something to be said about provenance or something here?

Sorry if this feels like a stream of consciousness because it is ↔

➕ show 1 reply
metaltyphoon • today at 7:52 PM

Because its not as convenient

➕ show 1 reply
stackedinserter • today at 9:16 PM

We didn't!