Run NodeJS server without exposing its source code
Do you know how easy it is to decompile java class files?
Seriously, you pop the jar into IntelliJ IDEA (or almost any other IDE) and it spits out decompiled code that's readable enough to reverse engineer. Compiled code offers no security advantages versus interpreted code.
Rather than trying to "encrypt" or "hide" your NodeJS code, why not secure the server better? You will never outpace people reverse engineering your code, you are much better off defending the box that the chocolates are in than poisoning the chocolates.
For an usual NodeJS instance, we can start it by node server.js. The problem with this is that, in a production server, when a hacker compromises my machine they will be able to view and copy all of my server-side source code. This is a big risk, since the source code contains intellectual property. Is there a way to prevent it from happening? 
For example, in Java, code is usually built into jar package or .class files and we only deploy the built file. When a hacker compromises the machine, they can only see the jar or .class file which is only byte code and not understandable.
I have a similar concern on my Python Flask server.