diff --git a/packages/builder/src/components/common/CodeEditor/validator/js.ts b/packages/builder/src/components/common/CodeEditor/validator/js.ts index 6e85dc41ec..6d7c3ea8bf 100644 --- a/packages/builder/src/components/common/CodeEditor/validator/js.ts +++ b/packages/builder/src/components/common/CodeEditor/validator/js.ts @@ -25,7 +25,11 @@ export function validateJsTemplate( offset += line.length + 1 // +1 for newline character } + let hasReturnStatement = false walk(ast, { + ReturnStatement(node) { + hasReturnStatement = !!node.argument + }, CallExpression(node) { const callee: any = node.callee if ( @@ -67,6 +71,15 @@ export function validateJsTemplate( } }, }) + + if (!hasReturnStatement) { + diagnostics.push({ + from: 0, + to: code.length, + severity: "error", + message: "Your code must return a value.", + }) + } } catch (e: any) { diagnostics.push({ from: 0,