How do I avoid falling into this trap and never learning anything new?
But, that being said, there are downsides to trying to work in more than one language/platform. The main one is that you only have so much brain capacity. You simply can't be an expert in every platform out there all at the same time. So if you have a language/platform that you know really well and is suited to task you're doing then you really aren't doing it wrong.
Try embedded systems, or real time audio processing or something interesting like that.
Do something as a hobby project that's way outside your normal groove. Play with some 3D graphics with OpenGl or DirectX or Vulkan, or try building a native app.
The counter to this (for me) is the "grass is always greener" desire for _the perfect tool_ for the job. Maybe it's a personality thing, but that causes some of us to be broad generalists instead of specialists.
Do you ever find Javascript or Node work tedious? Do you (like me) find screenfulls of NPM blah blah a turn-off? If so, I'll bet you can find some alternatives that promise great increases in one of the following: speed of getting things built, elegance of your code, ease of long-forgotten return and maintenance, mental strength building, etc. etc.
Try Clojurescript. You'll still have familiar reach to your JS stuff, but your brain will expand greatly. Or check out Elm. Or go "old school" and see what Elixir/Phoenix can do for you with Erlang OTP as your back-end. Different world, but one full of interesting cool "freebies".
Now, if you want $$$$, don't change a thing. JS will probably never die. If you aren't bored off your ass or annoyed until you want to scream every time you see ({ and }), then stay with what you know. You'll be a deep expert who can walk into the right situation and burn a trail to success (and income).
Remember, there are COBOL programmers out there earning HUGE contracting rates still. Someday future generations will say the same thing about Javascript programmers.
I say all this not as a Node fanboy; I've spent most of my career in ColdFusion and Ruby. I get the same doubts when I start something in Ruby (which is certainly further along in the lifecycle than Node). I'll jump off into something new and sexy, get a little stuck in the learning, and realize I'm doing my customer/employer a disservice. I'll go back to Ruby, and find that I end up with a more elegant, well thought out solution based on my experience in that space.
For instance: I recently had a hairy problem that I was convinced a fancy microservice to manage concurrency etc would be necessary to solve. I then found out that using my existing application, and using the connection_pool gem already in Sidekiq, gave me a better solution in a fraction of the time than I was planning on building.
TS will give you a nice balance between learning new stuff (types) and sticking to what you know (most JS patterns are supported), whereas ReasonML and ScalaJS would be a bit more adventurous.
Also try playing with dotnet languages (F# maybe?) via EdgeJS: https://github.com/tjanczuk/edge (but I don't know if thats production-stable)
I think there's a point where you're experienced enough for it not to be a trap. Concepts, patterns, and structures repeat and once you've started to accumulate enough experience, learning a new language or framework is just implementing things you've seen elsewhere. Then it becomes a choice of productivity and what does the project benefit from most.
If you're not there in your career yet, focus on learning something new. I promise it'll be a level up one way or another. For your project, it might delay it a little, but it'll help your resume and round you out as a developer.
I'm not suggesting one language is superior, but Go is fun and interesting, in addition to being a hot market commodity (also I think it will overtake Node in the times to come, but that's a pretty silly claim)