News for hackers. Stuff that matters.
Re:Revolt: Open-source alternative to Discord by Aeolun on Monday September 06, 2021 @11:08AM (#28434401)
That’s a shame. Node is quite easy to run.

Biggest problem is that installing any app includes a free black hole.

Re:Revolt: Open-source alternative to Discord by tluyben2 on Monday September 06, 2021 @11:23AM (#28434575)
... if the application was written recently. Get something from last year on your 'now' computer and let the suffering begin. Without a docker setup, I really find node horrible vs let's say .NET Core, Java/Closure or Go. But ymmv. A project I inherited has node_modules of 780MB with 150k files with many deprecated and vulnerable ones in them pinned versions: I would not call that easy. I never had that with .net: usually you need a few nugets and if you update them, they still work. That I would call easy. I have used both (and java for over 20 years) for 10+ years, I just do not like the ecosystem (or language but that is ok with typescript and purescript and cljs): I have to anyway.
Re:Revolt: Open-source alternative to Discord by vagrantJin on Monday September 06, 2021 @11:36AM (#28434739)
> includes a free black hole.

This is gospel at this point.

Npmming and yarning are giving me anxiety these days.

Re:Revolt: Open-source alternative to Discord by vaughan on Monday September 06, 2021 @11:21AM (#28434561)
JS and Rust are best friends. Deno is written in Rust. And many Node native libs are being written in Rust.
Re:Revolt: Open-source alternative to Discord by Popegaf on Monday September 06, 2021 @12:10PM (#28435128)
It's not JS or node that's the problem, it's the JS ecosystem. Badly or too broadly defined dependencies can (and do) lead to pulling a new version of a dep that introduced a breaking API change and tada, you have to start hunting for the right version.

Most projects don't define the node version that their project runs on either, so what ran in node 8 might not run in node 14 now.

What's wonderful to run into is non-JS dependencies: node-gyp happens to be used here and there. Sometimes the native lib will be pulled, sometimes it will be built, who knows why. And node-gyp might then depend on python2 which might not even be present on newer distros anymore.

And so on and so forth. If it doesn't come in an AppImage or docker image, there's no chance I'm getting myself into a node mess.

Re:Revolt: Open-source alternative to Discord by vaughan on Monday September 06, 2021 @03:18PM (#28436982)
Yep, I know the pain all too well. ESM is also currently a disaster as many popular packages migrate without transpiling to CJS and you cannot call ESM from CJS contexts.

As you said, it's good to separate the ecosystem from the language/runtime. Things will improve over time, but everything has just been in transition for so long. I dream of the day that transpilers are no longer needed and TypeScript is baked in to all browsers. Until then it is a mess.

> node-gyp might then depend on python2

`cmake-js` is the preferred option now. And Rust native deps don't have this issue.