I'm so sick of 'designers' thinking they're programmers and smashing out some NodeJS or JavaScript heavy crap with no regards to performance or security. Elixir seems to attract some smart minds that think 'big picture' - obviously I'm generalising here and I'm not stating that this particular project is brilliant or anything but it is a trend I've observed.
This project is using Phoenix. Nodejs is an optional dependency to compile static assets like CSS etc. It's not actually required to write applications using Phoenix.
The creators of Phoenix didn't want to write their own code to manage Javascript and CSS (e.g. rewriting the Rails "asset pipeline" in Elixir), so they just integrated Brunch [1], which is built on Node.js and NPM. I think this was an excellent decision. (Node.js is only needed during development and deployment of your assets. It is not used in production.)
That is still pretty awful imo - think quite a few of the people considering Elixir and Phoenix are doing so explicitly to get away from having to Node.js close to their computers in the first place.
I don't see the problem. Why not use Javascript toolkits to package, and develop in Javascript?
I can understand languages not self-hosting their compilers, but I'd at least like it to self-host its toolkits---bundlers, packers, preprocessors, etc.