DEV Community

Cover image for NPM - too much of a good thing?
John Kazer
John Kazer

Posted on

NPM - too much of a good thing?

(cover pic unsplash)
A thought occurred to me today when I was considering an article by Eric Normand on the different moods or "buzz" that languages generate in the dev community. His discussion point is that JavaScript generates enormous interest, obvious activity and "buzz", whilst a language like Clojure is used extensively but not talked about.

His take was that this is just fine, as Clojure is used by many for building apps (front and backend along with enterprise tools) - but it is very stable and therefore doesn't automatically generate "buzz" about itself... There are few changes to shout about and discuss.

The thought that occurred to me was actually that maybe the JavaScript community generates too much buzz, and spends too much time developing new libraries on npm. If we just got on with the libraries we already have and spend less time gold-plating things and learning new stuff we'd have more energy to spend creating more and better quality products.

Alt Text
(pic unsplash)

There is indeed a lot to be said for an active community and the potential for an existing library out of the thousands to solve your problem very specifically.

As an example, perhaps the differences between Vue and React or Svelte (Angular and this or that) don't really warrant their on-going segregation of the resulting apps and dev communities? Is it actually, overall, less efficient and resulting in lower-quality apps over time?

(this might be a bad example, as I don't really want to discuss the merits of frameworks per se, but use their existence as an example that applies to npm in general)

I know that it can be argued that one or the other library/framework/whatever is better in certain circumstances than the others - but is that really true and do you really gain sufficient benefit compared to the effort of complicated build processes, maintenance, updates and on-boarding of new staff? Not to say the opportunity cost from barriers to knowledge sharing between teams using different libraries/frameworks regarding architectures and domain solutions.

Perhaps if there was less "buzz" and more "do" in the JavaScript community, we'd have higher quality engineering and more apps?

Top comments (1)

stephenwhitmore profile image
Stephen Whitmore

I think having a variety of similar npm packages is beneficial because of their open source nature. Too often have I come to rely on one only to discover down the road that it was abandoned however long ago and nobody picked up the torch to keep it alive. With there being so many similar packages I can find one similar enough that is actively being maintained, put in a bit of time to adjust things as needed, and then my project is back on track.