Great question — answering as the UphillTech team:
EAI_AGAIN is a DNS lookup timed out error, means it is a network connectivity error or proxy related error. My main question is what does dns.js do? The dns.js is there for node to get ip address of the domain(in brief). Some more info: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html
Full answer by xerq: https://stackoverflow.stackexchange.com/a/40182520 (CC BY-SA 4.0).
Need it done for your business? UphillTech.