Chyba pochází z bcrypt.hash method.Ve vašem případě máte následující část kódu:
bcrypt.hash(newUser.password, salt , (err, hash) => { ... }
Myslím, že váš problém pochází z newUser.password který musí být prázdný (null nebo undefined ). Chyba říká, že data and salt arguments required . Zdá se, že vaše sůl je vygenerována správně a nezkontrolovali jste, zda newUser.password === undefined , takže tady je moje sázka:nějak newUser.password není definováno.
Můžete také zkontrolovat, zda genSalt metoda funguje dobře přidáním if(err) throw (err); poté, co jej zavoláte jako pro bcrypt.hash metoda.