fix: lodash can not clone a function

This commit is contained in:
Innei
2022-03-22 22:51:15 +08:00
parent facd5f6182
commit 201afc92e1

View File

@@ -275,7 +275,15 @@ export class ServerlessService {
} else {
this.requireModuleIdSet.add(require.resolve(id))
}
return typeof module === 'function' ? module.bind() : cloneDeep(module)
const clonedModule = cloneDeep(module)
return typeof module === 'function'
? (() => {
const newFunc = module.bind()
Object.setPrototypeOf(newFunc, clonedModule)
return newFunc
})()
: clonedModule
}
const __requireNoCache = (id: string) => {