diff --git a/lib/internal/repl.js b/lib/internal/repl.js index dd14f42fa5273c..7782d6b84bb8fe 100644 --- a/lib/internal/repl.js +++ b/lib/internal/repl.js @@ -5,7 +5,8 @@ const REPL = require('repl'); const path = require('path'); const fs = require('fs'); const os = require('os'); -const debug = require('util').debuglog('repl'); +const util = require('util'); +const debug = util.debuglog('repl'); module.exports = Object.create(REPL); module.exports.createInternalRepl = createRepl; @@ -19,12 +20,12 @@ function createRepl(env, opts, cb) { cb = opts; opts = null; } - opts = opts || { + opts = util._extend({ ignoreUndefined: false, terminal: process.stdout.isTTY, useGlobal: true, breakEvalOnSigint: true - }; + }, opts); if (parseInt(env.NODE_NO_READLINE)) { opts.terminal = false; diff --git a/test/parallel/test-repl-envvars.js b/test/parallel/test-repl-envvars.js index 759b4e15a12f46..b08f6cbaf621e6 100644 --- a/test/parallel/test-repl-envvars.js +++ b/test/parallel/test-repl-envvars.js @@ -2,7 +2,7 @@ // Flags: --expose-internals -require('../common'); +const common = require('../common'); const stream = require('stream'); const REPL = require('internal/repl'); const assert = require('assert'); @@ -46,6 +46,10 @@ function run(test) { REPL.createInternalRepl(env, opts, function(err, repl) { if (err) throw err; + + // The REPL registers 'module' and 'require' globals + common.allowGlobals(repl.context.module, repl.context.require); + assert.equal(expected.terminal, repl.terminal, 'Expected ' + inspect(expected) + ' with ' + inspect(env)); assert.equal(expected.useColors, repl.useColors, diff --git a/test/parallel/test-repl-history-perm.js b/test/parallel/test-repl-history-perm.js index c7d2852539a01d..4a374cb0ab12e8 100644 --- a/test/parallel/test-repl-history-perm.js +++ b/test/parallel/test-repl-history-perm.js @@ -35,6 +35,10 @@ const replHistoryPath = path.join(common.tmpDir, '.node_repl_history'); const checkResults = common.mustCall(function(err, r) { if (err) throw err; + + // The REPL registers 'module' and 'require' globals + common.allowGlobals(r.context.module, r.context.require); + r.input.end(); const stat = fs.statSync(replHistoryPath); assert.strictEqual( diff --git a/test/parallel/test-repl-persistent-history.js b/test/parallel/test-repl-persistent-history.js index 70d6a51c81bd15..0a38cfc480c1ad 100644 --- a/test/parallel/test-repl-persistent-history.js +++ b/test/parallel/test-repl-persistent-history.js @@ -262,6 +262,9 @@ function runTest(assertCleaned) { throw err; } + // The REPL registers 'module' and 'require' globals + common.allowGlobals(repl.context.module, repl.context.require); + repl.once('close', () => { if (repl._flushing) { repl.once('flushHistory', onClose); diff --git a/test/parallel/test-repl-use-global.js b/test/parallel/test-repl-use-global.js index 86c646cc767361..79e13cd819aeb6 100644 --- a/test/parallel/test-repl-use-global.js +++ b/test/parallel/test-repl-use-global.js @@ -7,8 +7,6 @@ const stream = require('stream'); const repl = require('internal/repl'); const assert = require('assert'); -common.globalCheck = false; - // Array of [useGlobal, expectedResult] pairs const globalTestCases = [ [false, 'undefined'], @@ -20,6 +18,9 @@ const globalTest = (useGlobal, cb, output) => (err, repl) => { if (err) return cb(err); + // The REPL registers 'module' and 'require' globals + common.allowGlobals(repl.context.module, repl.context.require); + let str = ''; output.on('data', (data) => (str += data)); global.lunch = 'tacos';