DEV Community

Fagner Brack
Fagner Brack

Posted on • Originally published at fagnerbrack.com on

How The Fuck Did We Get Here?

A small rant on the "modern" front-end

(This was supposed to be a text post on /r/programming, but I can’t create a text post there, so I thought about posting here to share the link)


Part of a popular xkcd everyone already knows because I needed some cover image for the thumbnail

Ok, let's talk about a seriously big deal now. I'm writing this at 6AM AEDT without sleep; sorry for the grammar.

More than a decade ago, I authored what today has become one of the top heavily relied upon Open Source libraries in the world which is co-maintained with Klaus Hartl, the original maintainer of jquery-cookie. To put into perspective, on the day I’m writing this, js-cookie is more than 14 years old; it has more than 6.1 million downloads per week on NPM (jQuery has 5.9M/week). It has more than 22 BILLION downloads every year in jsDelivr and growing. It’s included by more than 2.2 million websites on the internet. Its Github repository receives more than 22 thousand UNIQUE visits per month, and more than 7 thousand other packages on NPM, including half a million repositories on Github, depend on it.

That’s not the big deal I’m talking about.

The big deal I’m talking about is that the library weighs 800 bytes , uses only JavaScript and hasn’t had any fundamental API change in the last 7 years.

Today, I updated one NPM package of an app I created last year. The number of broken packages that don’t adapt to newer versions of other packages or that don’t work anymore by doing nothing is absolutely unbelievable. It will take the whole day to update them all because updating one creates a cascading effect with similar issues forcing me to update everything else.

How did we unlearn how to build stable software/dependencies that can actually integrate with each other?

How the hell did we get here?

Thanks for reading. If you have feedback, contact me on Twitter, LinkedIn or Github.

Top comments (0)