An Illustration of Javascript Dependency Hell using left-pad
In the JavaScript ecosystem, it's part of the culture to enthusiastically re-use existing packages made by others as part of one's own work, rather than reinventing the wheel. This means that, on average, an npm package has several production dependencies, as well as several build/test (dev-)dependencies. For a big application or a framework this can result in pulling a big number of direct dependencies, which in turn have their own dependencies, and so on, forming an unexpectedly deep and wide dependency tree, that someone has to manage (FOSS Compliance, security flaw management, ...)
Experience level:
Beginner