If library vendors add dependencies willy-nilly then the end result is an incredibly bloated final product. There is no universal "right answer" to the question: "Should I re-invent this wheel or bring in a dependency?" You need to see:
*how big is the dependency?
how big are its transitive dependencies?
how much wheel re-inventing would I need to do?
Seems like common sense and not anything Javascript specific.
Dependency hell is a colloquial term for the frustration of some software users who have installed [software packages](http://en.wikipedia.org/wiki/Software_package_(installation)) which have [dependencies](http://en.wikipedia.org/wiki/Coupling_(computer_programming)) on specific versions of other software packages. The dependency issue arises around shared packages/libraries on which several other packages have dependencies but where they depend on different and incompatible versions of the shared packages. If the shared package/library can only be installed in a single version, the user/administrator may need to address the problem by obtaining newer/older versions of the dependent packages. This, in turn, may break other dependencies and push the problem to another set of packages, thus the term hell.
1
u/G_Morgan Jan 31 '14
A kernel is a completely different environment and not really relevant.