Goodbye, Node.js — and Good Riddance to Dependency Hell
🎉 PARTY TIME! 🎉
I removed the Node.js component from my configuration management repository yesterday.
Not because of some grand redesign. I deleted a reusable GitHub Action, and then realized it was the only reason Node.js was still hanging around.
The repository is Ansible, YAML, shell scripts, and a bit of Python. No JavaScript. No TypeScript. Yet somehow I was still carrying a Node.js toolchain, npm dependencies, and CI jobs that no longer served a purpose.
So out they went.
As a bonus, I also retired an old ESLint workflow. No JavaScript means no need to lint JavaScript.
Simple.
I’ll admit I’ve never been a fan of dependency-heavy ecosystems. If I actually need the functionality, that’s fine. But if a dependency tree exists purely because of historical baggage, I’d rather remove it than maintain it.
The result?
- One less runtime
- One less workflow
- Fewer dependencies
- Less attack surface
- Less maintenance
The repository is now a little smaller, a little simpler, and a little more boring.
In infrastructure work, boring is usually a compliment.
Sometimes the best improvement isn’t adding something new.
It’s deleting something you no longer need.
So here’s to unnecessary dependencies:
May they rest in peace.
And to Node.js:
🎉 Thank you for your service. Please don’t let the door hit you on the way out. 🎉
