Description
Hello, dear maintainers!
Thank you very much for the effort regarding this project. It seems to be very promising for a lot of scenarios. In my case, I aim the support for JS "extension points", that currently I am trying to do using ClearScript. The gap from it, that I am thinking that this project could solve, is the support for a "popular runtime" (currently, NodeJS), which in my point of view is something that would support better more dynamic scenarios (giving a better customization experience in the "scripting engine" for my platform), as ClearScript is just a basic JavaScript wrapper around V8 (without support for a lot of libraries that Node and others already have from NPM and so on).
Other JS runtimes may be supported in the future.
Can we expect some efforts to deliver compatibility with runtimes like Deno too, then?
NodeJS is a great runtime, that has a lot of good stuff related to it, but Deno makes me more comfortable because "it just fits" the scenario without making me concerned about certain things like security (perhaps some kind of sandboxing), module loading, runtime installing, not being too standard-driven (EcmaScript, Web, W3C, ...), etc.
Deno is secure "by default" (and by "extension points"/"scripting", it is nice to think that "untrusted code" may be allowed by the solution), while NodeJS have a lot of gaps in its security model even in the last version (permission model is not too secure yet). Module loading does not depend on customizations (loaders or other strategies) like in Node. The runtime is simpler, distributed as a single executable or embedded (maybe this is even the way to support it in this project, btw). And every feature tries to be thought having the web standards in mind, and being "compatible with a browser as possible" for a server-side runtime.
So, for all of this points, in the "scripting engine" context, Deno seems to be (by far) the option here. The only problem is that there is no project in .NET that support it (yet) to make this "bindings"/"interop" possible, as this project does with NodeJS (and Hermes, it seems).
Anyway, hope to have some point of view from the team regarding this subject, if possible.
Thank you in advance for the attention!