diff --git a/lib/internal/main/eval_string.js b/lib/internal/main/eval_string.js index 998c3fb4ada5..b76f0390067e 100644 --- a/lib/internal/main/eval_string.js +++ b/lib/internal/main/eval_string.js @@ -70,7 +70,7 @@ if (inputType === 'module') { evalFunction('[eval]', shouldDefineCrypto ? ( - print ? `let crypto=require("node:crypto");{${code}}` : `(crypto=>{{${code}}})(require('node:crypto'))` + print ? `let crypto=require("node:crypto");{${code}\n}` : `(crypto=>{{${code}\n}})(require('node:crypto'))` ) : code, getOptionValue('--inspect-brk'), print, diff --git a/test/parallel/test-cli-eval.js b/test/parallel/test-cli-eval.js index 5b090279621f..660d308a8fb2 100644 --- a/test/parallel/test-cli-eval.js +++ b/test/parallel/test-cli-eval.js @@ -329,6 +329,14 @@ if (common.hasCrypto) { common.mustSucceed((stdout) => { assert.match(stdout, /[0-9a-f]{32}/i); })); + child.execFile(process.execPath, ['-e', 'console.log(typeof crypto.randomBytes) // comment'], + common.mustSucceed((stdout) => { + assert.strictEqual(stdout, 'function\n'); + })); + child.execFile(process.execPath, ['-p', 'typeof crypto.randomBytes // comment'], + common.mustSucceed((stdout) => { + assert.strictEqual(stdout, 'function\n'); + })); } // Assert that overriding crypto works. child.exec(