I've just starting playing with koa-passport in a ES6 (Babel) based React project I am working on, and I have run into an issue when using ES6 module import syntax as follows:
import * as passport from 'koa-passport'
async function fetchUser(id) {
// Todo: This is first test code. Implement store logic...
return {
id: 1,
username: process.env.USERNAME,
password: digest(process.env.USER_PASSWORD),
admin: process.env.USER_ADMIN
}
}
passport.serializeUser((user, done) => {
done(null, user.id)
})
passport.deserializeUser(async (id, done) => {
fetchUser(id)
.then(user => done(null, user))
.catch(err => done(err))
}
)
which results in:
/Users/panoplos/Documents/Projects/Node.js/react-apollo-koa-example/koa/auth.js:59
passport.serializeUser(function (user, done) {
^
TypeError: passport.serializeUser is not a function
at Object.<anonymous> (/Users/panoplos/Documents/Projects/Node.js/react-apollo-koa-example/koa/auth.js:22:10)
at Module._compile (module.js:571:32)
at loader (/Users/panoplos/Documents/Projects/Node.js/react-apollo-koa-example/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/panoplos/Documents/Projects/Node.js/react-apollo-koa-example/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/panoplos/Documents/Projects/Node.js/react-apollo-koa-example/koa/index.js:34:1)
When I change the import to a const passport = require('koa-passport') directive, it works without issue.
I've just starting playing with koa-passport in a ES6 (Babel) based React project I am working on, and I have run into an issue when using ES6 module import syntax as follows:
which results in:
When I change the
import
to aconst passport = require('koa-passport')
directive, it works without issue.Version info: