aboutsummaryrefslogtreecommitdiffstats
path: root/tools/execute_js_code.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/execute_js_code.js')
-rw-r--r--tools/execute_js_code.js16
1 files changed, 11 insertions, 5 deletions
diff --git a/tools/execute_js_code.js b/tools/execute_js_code.js
index 6bad67a..3ca0401 100644
--- a/tools/execute_js_code.js
+++ b/tools/execute_js_code.js
@@ -1,5 +1,3 @@
-const vm = require('vm');
-
/**
* Execute the javascript code in node.js.
* @typedef {Object} Args
@@ -7,7 +5,15 @@ const vm = require('vm');
* @param {Args} args
*/
exports.run = function run({ code }) {
- const context = vm.createContext({});
- const script = new vm.Script(code);
- return script.runInContext(context);
+ let log = "";
+ const oldStdoutWrite = process.stdout.write.bind(process.stdout);
+ process.stdout.write = (chunk, _encoding, callback) => {
+ log += chunk;
+ if (callback) callback();
+ };
+
+ eval(code);
+
+ process.stdout.write = oldStdoutWrite;
+ return log;
}