diff --git a/eval.js b/eval.js index c0875a9..08ab333 100644 --- a/eval.js +++ b/eval.js @@ -36,6 +36,10 @@ module.exports = function (content, filename, scope, includeGlobals) { if (includeGlobals) { merge(sandbox, global) + // console is non-enumerable in node v10 and above + sandbox.console = global.console + // process is non-enumerable in node v12 and above + sandbox.process = global.process sandbox.require = requireLike(_filename) } diff --git a/test.js b/test.js index e8a2dfb..686e2fb 100644 --- a/test.js +++ b/test.js @@ -27,4 +27,8 @@ assert.throws(function () { _eval('require("fs")') }) +// Verify that the console is available when globals are passed +res = _eval('exports.x = console', true) +assert.deepEqual(res.x, console) + console.log('All tests passed')