Just say no to node.js
It is an abomination. I get that you have no choice but use Js in the browser, but you can use anything you want server side. Yet, people willingly choose to use one of the most horrific ecosystems out there.
This is why I’m kinda excited about WASM. With a WASM backend for GHC, you can now write almost the entire frontend logic in Haskell, with only some minor bindings on the JS side. I really wish that this happens at some point to eliminate the need for JS almost entirely, but I’m not that hopeful anymore.
Yeah, WASM definitely looks promising. It’s also worth noting that you can treat Js as a compile target using something like Elm or ClojureScript. These languages have decent semantics that insulate you from a lot of the underlying insanity. For example, stuff like equality works the way you’d expect it to. I’ve worked on a few large frontend apps with ClojureScript and it was pretty nice as long as you didn’t need to interop with the Js ecosystem.