diff --git a/packages/server/src/threads/utils.ts b/packages/server/src/threads/utils.ts index a0f3bbdc47..cd547cacae 100644 --- a/packages/server/src/threads/utils.ts +++ b/packages/server/src/threads/utils.ts @@ -2,6 +2,7 @@ import { QueryVariable } from "./definitions" import env from "../environment" import * as db from "../db" import { redis, db as dbCore } from "@budibase/backend-core" +import * as jsRunner from "../jsRunner" const VARIABLE_TTL_SECONDS = 3600 let client: any @@ -29,7 +30,9 @@ export function threadSetup() { console.debug(`[${env.FORKED_PROCESS_NAME}] thread setup skipped`) return } + console.debug(`[${env.FORKED_PROCESS_NAME}] thread setup running`) + jsRunner.init() db.init() } diff --git a/packages/string-templates/src/index.js b/packages/string-templates/src/index.js index f370b67272..bcd63d2e6f 100644 --- a/packages/string-templates/src/index.js +++ b/packages/string-templates/src/index.js @@ -1,3 +1,4 @@ +const vm = require("vm") const handlebars = require("handlebars") const { registerAll, registerMinimum } = require("./helpers/index") const processors = require("./processors") @@ -402,3 +403,19 @@ const errors = require("./errors") module.exports.JsErrorTimeout = errors.JsErrorTimeout module.exports.helpersToRemoveForJs = helpersToRemoveForJs + +if (process && !process.env.NO_JS) { + /** + * Use polyfilled vm to run JS scripts in a browser Env + */ + javascript.setJSRunner((js, context) => { + context = { + ...context, + alert: undefined, + setInterval: undefined, + setTimeout: undefined, + } + vm.createContext(context) + return vm.runInNewContext(js, context, { timeout: 1000 }) + }) +} diff --git a/packages/string-templates/src/index.mjs b/packages/string-templates/src/index.mjs index 5ac7981fee..f54ca7e23e 100644 --- a/packages/string-templates/src/index.mjs +++ b/packages/string-templates/src/index.mjs @@ -1,4 +1,3 @@ -import vm from "vm" import templates from "./index.js" /** @@ -24,20 +23,4 @@ export const setOnErrorLog = templates.setOnErrorLog export const FIND_ANY_HBS_REGEX = templates.FIND_ANY_HBS_REGEX export const helpersToRemoveForJs = templates.helpersToRemoveForJs -if (process && !process.env.NO_JS) { - /** - * Use polyfilled vm to run JS scripts in a browser Env - */ - setJSRunner((js, context) => { - context = { - ...context, - alert: undefined, - setInterval: undefined, - setTimeout: undefined, - } - vm.createContext(context) - return vm.runInNewContext(js, context, { timeout: 1000 }) - }) -} - export * from "./errors.js"