Der Fehler kommt von bcrypt.hash method.In Ihrem Fall haben Sie den folgenden Code:
bcrypt.hash(newUser.password, salt , (err, hash) => { ... }
Ich denke, dass Ihr Problem von newUser.password herrührt das muss leer sein (null oder undefined ). Der Fehler besagt, dass data and salt arguments required sind . Es sieht so aus, als ob Ihr Salt korrekt generiert wurde und Sie nicht überprüft haben, ob newUser.password === undefined , also hier ist meine Wette:irgendwie newUser.password ist undefiniert.
Außerdem können Sie überprüfen, ob die Datei genSalt Methode funktioniert gut durch Hinzufügen von if(err) throw (err); nachdem Sie es aufgerufen haben, wie Sie es für bcrypt.hash getan haben Methode.