Error: data and salt arguments required

hi m tryiny to make an auth in nodejs but I got this error: Error: data and salt arguments required,

server.js

  	if (process.env.NODE_ENV !== 'production'){
require('dotenv').config()
}

const express = require('express')
const app = express()
const bcrypt = require('bcrypt')
const passport = require('passport')
const flash = require('express-flash')
const session = require('express-session')

const initializePassport = require('./passport-config')
initializePassport(
passport, 
email => users.find(user => user.email === email),
id => users.find(user => user.id === id)
)

const users = []

app.set('view-engine', 'ejs')
app.use(express.urlencoded({extended: false }))
app.use(flash())
app.use(session({
secret: "test",
resave: false,
saveUninitialized: false
}))
app.use(passport.initialize())
app.use(passport.session())

app.get('/', (req, res) => {
	res.render('index.ejs', { name: 'Umar'})
})

app.get('/login', (req, res) => {
	res.render('login.ejs')	
})

app.post('/login', passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}))

app.get('/register', (req, res) => {
	res.render('register.ejs')	
})

app.post('/register', async (req, res) => {
	try{
  	const hashedPassword = await bcrypt.hash(req.body.passowrd, 10)
  	console.log(hashedPassword)
  	users.push({
  	id: Date.now().toString(),
  	name: req.body.name,
  	email: req.body.email,
  	passowrd: hashedPassword
  })
  res.redirect('/login')
} catch(err) {
	console.log(err)
    res.redirect('/register')
}

  })

   app.listen(3000)

passport-config.js:

   const LocalStrategy = require('passport-local').Strategy
  const bcrypt = require('bcrypt')

  function initialize(passport, getUserByEmail, getUserById){
const authenticateUser = async (email, password, done) => {
	const user = getUserByEmail(email)
	if (user == null) {
		return done(null, false, {message: 'No user with that email'})
	}

	try{
      if (await bcrypt.compare(password, user.password)) {
         return done(null, user)
      } else {
      	return done(null, false, {message: 'Password incorrect'})
      }
	} catch(e) {
		return done(e)

	}

      }
      passport.use(new LocalStrategy({ usernameField: 'email'  }, authenticateUser ))
      passport.serializeUser((user, done) => done(null, user.id))
  	      passport.deserializeUser((id, done) => {
	return done(null, getUserById(id))
      })
  }

  module.exports = initialize

(You might get an answer here, but because this forum is focused on npm, you might want to ask your question somewhere that targets experts with your package. I have moved your topic to #community:javascript)