much needed #reset to #node #nodejs world is getting more #stable ! It can run #JavaScript and #TypeScript code; uses Google’s V8 engine and is built using #Rust ! Go #Deno !

https://deno.land/

I am going to try on a small project. I know that I have to write “most” of the code! :)))

+ I like the way they work with Golang mindset (aiming to have similar std modules as much as possible https://golang.org/pkg/ ). Raw source code of dependencies can be downloaded via URLs, into one “global” cache (i.e. one instance of node_modules I think). no need for transpiled versions but you can still create “bundles” and serve.

+ security is there by default. e.g. you cannot read disk unless you request that permission.

– dependency management is not great yet, I think, even though they can use import-maps. I don’t like depending on specific versions “1.2.3”, I prefer relying on “1.x” of a module, I only care about backward-compatible major version. Otherwise, it will be a mess to maintain. Again!
https://deno.land/manual/linking_to_external_code/import_maps
if I depend on 5 modules which depend on http module, I could end up running 5 different versions of http module.
“The basic format of code URLs is https://deno.land/x/IDENTIFIER@VERSION/FILE_PATH. If you leave out the version it will be defaulted to the most recent version released for the module.”
most recent version may break my code if there is a jump like from 1.x to 2.x
if @ version can be any string like a release tag “v1.x-stable” then I am happy 🙂

– compatibility module for Node is not complete yet: https://deno.land/std@0.78.0/node

– many module developers are still porting their code: https://deno.land/x
long long way to go. give it a year, it will be much better!

Ryan was behind Node: https://github.com/ry
so, they have been rewriting it! :)))