Edge.js allows you to run Node.js and .NET code in one process on Windows, MacOS, and Linux.
You can call .NET functions from Node.js and Node.js functions from .NET. Edge.js takes care of marshalling data between CLR and V8. Edge.js also reconciles threading models of single threaded V8 and multi-threaded CLR. Edge.js ensures correct lifetime of objects on V8 and CLR heaps. The CLR code can be pre-compiled or specified as C#, F#, Python, or PowerShell source: Edge.js can compile CLR scripts at runtime. Edge can be extended to support other CLR languages or DSLs.
Ted Neward. MSDN Magazine. 2016-05-01.
Fortunately, we have an edge. Or, to be more specific, Edge.js.
The Edge.js project is seriously one-of-a-kind in a lot of ways, most notably that it seeks to very directly address the “platform gap” between .NET and Node.js. Hosted at bit.ly/1W7xJmo, Edge.js deliberately seeks to make each platform available to the other in a very code-friendly way to each.
[How To Be MEAN: Getting the Edge(.js)]