From 88b4d00fc6db27fb8347045e96b068d33d55b52c Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Tue, 7 May 2019 00:44:08 +0200 Subject: [PATCH] lib: restore `global.module` after --eval code is run PR-URL: https://github.com/nodejs/node/pull/27587 Fixes: https://github.com/nodejs/node/issues/27575 Reviewed-By: Ruben Bridgewater Reviewed-By: Rich Trott Reviewed-By: John-David Dalton Reviewed-By: Colin Ihrig Reviewed-By: Gus Caplan Reviewed-By: Franziska Hinkelmann Reviewed-By: James M Snell Reviewed-By: Joyee Cheung --- lib/internal/process/execution.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/internal/process/execution.js b/lib/internal/process/execution.js index c95567c506237f..5eda7541c8e4e1 100644 --- a/lib/internal/process/execution.js +++ b/lib/internal/process/execution.js @@ -55,6 +55,7 @@ function evalScript(name, body, breakFirstLine, printResult) { const { kVmBreakFirstLineSymbol } = require('internal/util'); const cwd = tryGetCwd(); + const origModule = global.module; // Set e.g. when called from the REPL. const module = new CJSModule(name); module.filename = path.join(cwd, name); @@ -79,6 +80,9 @@ function evalScript(name, body, breakFirstLine, printResult) { const { kStdout, print } = require('internal/util/print'); print(kStdout, result); } + + if (origModule !== undefined) + global.module = origModule; } const exceptionHandlerState = { captureFn: null };