diff --git a/packages/bruno-js/src/sandbox/quickjs/index.js b/packages/bruno-js/src/sandbox/quickjs/index.js index aa419b95875..cf454a24b1e 100644 --- a/packages/bruno-js/src/sandbox/quickjs/index.js +++ b/packages/bruno-js/src/sandbox/quickjs/index.js @@ -14,10 +14,9 @@ const { marshallToVm } = require('./utils'); const addCryptoUtilsShimToContext = require('./shims/lib/crypto-utils'); const { wrapScriptInClosure, SANDBOX } = require('../../utils/sandbox'); -let QuickJSSyncContext; +let QuickJSModule; const loader = memoizePromiseFactory(() => newQuickJSWASMModule()); -const getContext = (opts) => loader().then((mod) => (QuickJSSyncContext = mod.newContext(opts))); -getContext(); +loader().then((mod) => (QuickJSModule = mod)); const toNumber = (value) => { const num = Number(value); @@ -57,9 +56,8 @@ const executeQuickJsVm = ({ script: externalScript, context: externalContext, sc externalScript = removeQuotes(externalScript); } - const vm = QuickJSSyncContext; - try { + const vm = QuickJSModule.newContext(); const { bru, req, res, ...variables } = externalContext; bru && addBruShimToContext(vm, bru); @@ -97,7 +95,7 @@ const executeQuickJsVmAsync = async ({ script: externalScript, context: external externalScript = externalScript?.trim(); try { - const module = await newQuickJSWASMModule(); + const module = await loader(); const vm = module.newContext(); // add crypto utilities required by the crypto-js library in bundledCode