Merge pull request #12597 from Budibase/js-timeout-error
Tell a user if their JS failed due to a timeout.
This commit is contained in:
commit
159a8c0e96
|
@ -56,6 +56,10 @@ module.exports.processJS = (handlebars, context) => {
|
||||||
const res = { data: runJS(js, sandboxContext) }
|
const res = { data: runJS(js, sandboxContext) }
|
||||||
return `{{${LITERAL_MARKER} js_result-${JSON.stringify(res)}}}`
|
return `{{${LITERAL_MARKER} js_result-${JSON.stringify(res)}}}`
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.log(`JS error: ${typeof error} ${JSON.stringify(error)}`)
|
||||||
|
if (error.code === "ERR_SCRIPT_EXECUTION_TIMEOUT") {
|
||||||
|
return "Timed out while executing JS"
|
||||||
|
}
|
||||||
return "Error while executing JS"
|
return "Error while executing JS"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ describe("Test the JavaScript helper", () => {
|
||||||
|
|
||||||
it("should timeout after one second", () => {
|
it("should timeout after one second", () => {
|
||||||
const output = processJS(`while (true) {}`)
|
const output = processJS(`while (true) {}`)
|
||||||
expect(output).toBe("Error while executing JS")
|
expect(output).toBe("Timed out while executing JS")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should prevent access to the process global", () => {
|
it("should prevent access to the process global", () => {
|
||||||
|
|
Loading…
Reference in New Issue