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!
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://firstname.lastname@example.org/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! :)))