@@ -80,6 +80,10 @@ const {
8080 CHAR_9 ,
8181} = require ( 'internal/constants' ) ;
8282
83+ // Store the global context into a local variable, so we can refrence them in
84+ // this scope even after we deleted them from global context.
85+ const localGlobal = global ;
86+
8387function stat ( filename ) {
8488 filename = path . toNamespacedPath ( filename ) ;
8589 const cache = stat . cache ;
@@ -126,8 +130,9 @@ Module.wrap = function(script) {
126130} ;
127131
128132Module . wrapper = [
129- '(function (exports, require, module, __filename, __dirname) { ' ,
130- '\n});'
133+ '(function (exports, require, module, __filename, __dirname, process, global, Buffer) { ' +
134+ 'return function (exports, require, module, __filename, __dirname) { ' ,
135+ '\n}.call(this, exports, require, module, __filename, __dirname); });'
131136] ;
132137
133138const debug = util . debuglog ( 'module' ) ;
@@ -684,10 +689,12 @@ Module.prototype._compile = function(content, filename) {
684689 var result ;
685690 if ( inspectorWrapper ) {
686691 result = inspectorWrapper ( compiledWrapper , this . exports , this . exports ,
687- require , this , filename , dirname ) ;
692+ require , this , filename , dirname , process ,
693+ localGlobal , localGlobal . Buffer ) ;
688694 } else {
689695 result = compiledWrapper . call ( this . exports , this . exports , require , this ,
690- filename , dirname ) ;
696+ filename , dirname , process , localGlobal ,
697+ localGlobal . Buffer ) ;
691698 }
692699 if ( depth === 0 ) stat . cache = null ;
693700 return result ;
0 commit comments