That's part of the spectrum of "knowing JavaScript" that I mean, since you're not afraid to get your hands dirty. But some "linguistically pure" programmers hold themselves above it all and refuse to learn it out of pride because it's deeply flawed and they don't want to sully themselves. Well guess what: every language (and CPU architecture) is deeply flawed and riddled with historical baggage, and programming is about getting your hands dirty and dealing with it anyway. Even if you're programming in Lisp or whatever your idea of the perfect language is, there's still a lot of tedious shit work and hacking you're never going to be able to avoid if you want to get the job done. The people who wrote the compiler that translates your favorite perfect language into x86 instruction codes had to get their hands really dirty with deeply flawed technology, and you have to respect them, because they didn't boycott the x86 because the PowerPC was more beautiful.
It's hard to outweigh the advantage of using the same language in both the client and the server, and right now, JavaScript is the only universally practical choice on the client side, so it rules both sides now, in spite of all of node's and npm's problems. WebAssembly will loosen JavaScript's monopoly as it gradually matures, but right now all other languages but JavaScript are second-class citizens on the client side, and it will be that way for a while.