From 0b84957ad0958d65167f84bfa5da8cd285a1b479 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 19 Feb 2024 19:42:28 +0100 Subject: [PATCH 1/4] Remove vm2 usage from script controllers --- packages/server/src/api/controllers/script.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/src/api/controllers/script.ts b/packages/server/src/api/controllers/script.ts index f00383615e..7b07b97ba9 100644 --- a/packages/server/src/api/controllers/script.ts +++ b/packages/server/src/api/controllers/script.ts @@ -1,9 +1,9 @@ import { Ctx } from "@budibase/types" -import { VM2 } from "../../jsRunner/vm" +import { IsolatedVM } from "../../jsRunner/vm" export async function execute(ctx: Ctx) { const { script, context } = ctx.request.body - const runner = new VM2(context) + const runner = new IsolatedVM(context) const result = runner.execute(script) ctx.body = result } From 9f5d4811ba9ad8f111f9457c09279d7c1f686e04 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 19 Feb 2024 19:53:36 +0100 Subject: [PATCH 2/4] Improve js logging error message --- packages/server/src/jsRunner/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/server/src/jsRunner/index.ts b/packages/server/src/jsRunner/index.ts index c572c112c9..21f1be3c90 100644 --- a/packages/server/src/jsRunner/index.ts +++ b/packages/server/src/jsRunner/index.ts @@ -16,7 +16,9 @@ export function init() { if (env.LOG_JS_ERRORS) { setOnErrorLog((error: Error) => { - logging.logWarn(JSON.stringify(serializeError(error))) + logging.logWarn( + `Error while executing js: ${JSON.stringify(serializeError(error))}` + ) }) } } From 282a3ee3b943c1d9e8e4a82b3ca56b69e18c67ca Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 19 Feb 2024 19:58:41 +0100 Subject: [PATCH 3/4] Fix test --- packages/server/src/api/controllers/script.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/script.ts b/packages/server/src/api/controllers/script.ts index 7b07b97ba9..9a404da9fb 100644 --- a/packages/server/src/api/controllers/script.ts +++ b/packages/server/src/api/controllers/script.ts @@ -4,7 +4,8 @@ import { IsolatedVM } from "../../jsRunner/vm" export async function execute(ctx: Ctx) { const { script, context } = ctx.request.body const runner = new IsolatedVM(context) - const result = runner.execute(script) + + const result = runner.execute(`(function(){\n${script}\n})();`) ctx.body = result } From 2042a9580575b04620ed8d6afbc3fc915d9b3a6c Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 19 Feb 2024 20:12:46 +0100 Subject: [PATCH 4/4] Fix runs --- packages/server/src/api/controllers/script.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/script.ts b/packages/server/src/api/controllers/script.ts index 9a404da9fb..bdca2d6e18 100644 --- a/packages/server/src/api/controllers/script.ts +++ b/packages/server/src/api/controllers/script.ts @@ -3,7 +3,7 @@ import { IsolatedVM } from "../../jsRunner/vm" export async function execute(ctx: Ctx) { const { script, context } = ctx.request.body - const runner = new IsolatedVM(context) + const runner = new IsolatedVM().withContext(context) const result = runner.execute(`(function(){\n${script}\n})();`) ctx.body = result