diff --git a/package.json b/package.json index 540d66ed9..072a41e43 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,6 @@ "os": "0.1.1", "qs": "^6.7.0", "request": "2.81.0", - "safeify": "^5.0.5", "sha.js": "2.4.9", "sha1": "1.1.1", "swagger-client": "3.5.1", diff --git a/server/utils/sandbox.js b/server/utils/sandbox.js index db65c0428..d1d6f8655 100644 --- a/server/utils/sandbox.js +++ b/server/utils/sandbox.js @@ -1,16 +1,15 @@ -const Safeify = require('safeify').default; +const {VM, VMScript} = require('vm2') module.exports = async function sandboxFn(context, script) { - // 创建 safeify 实例 - const safeVm = new Safeify({ + + let vm = new VM({ timeout: 3000, - asyncTimeout: 60000 + sandbox: context }) - // 执行动态代码 - const result = await safeVm.run(script, context) - - // 释放资源 - safeVm.destroy() - return result + script = new VMScript(script); + const result = vm.run(script) + context.mockJson = result + vm = null + return context }