Adds node.js and npm support. Closes #792