@@ -274,17 +274,6 @@ Module._load = function(request, parent, isMain) {
274274 debug ( 'Module._load REQUEST %s parent: %s' , request , parent . id ) ;
275275 }
276276
277- // REPL is a special case, because it needs the real require.
278- if ( request === 'internal/repl' || request === 'repl' ) {
279- if ( Module . _cache [ request ] ) {
280- return Module . _cache [ request ] ;
281- }
282- var replModule = new Module ( request ) ;
283- replModule . _compile ( NativeModule . getSource ( request ) , `${ request } .js` ) ;
284- NativeModule . _cache [ request ] = replModule ;
285- return replModule . exports ;
286- }
287-
288277 var filename = Module . _resolveFilename ( request , parent ) ;
289278
290279 var cachedModule = Module . _cache [ filename ] ;
@@ -376,37 +365,9 @@ var resolvedArgv;
376365// the file.
377366// Returns exception, if any.
378367Module . prototype . _compile = function ( content , filename ) {
379- var self = this ;
380368 // remove shebang
381369 content = content . replace ( shebangRe , '' ) ;
382370
383- function require ( path ) {
384- return self . require ( path ) ;
385- }
386-
387- require . resolve = function ( request ) {
388- return Module . _resolveFilename ( request , self ) ;
389- } ;
390-
391- Object . defineProperty ( require , 'paths' , { get : function ( ) {
392- throw new Error ( 'require.paths is removed. Use ' +
393- 'node_modules folders, or the NODE_PATH ' +
394- 'environment variable instead.' ) ;
395- } } ) ;
396-
397- require . main = process . mainModule ;
398-
399- // Enable support to add extra extension types
400- require . extensions = Module . _extensions ;
401- require . registerExtension = function ( ) {
402- throw new Error ( 'require.registerExtension() removed. Use ' +
403- 'require.extensions instead.' ) ;
404- } ;
405-
406- require . cache = Module . _cache ;
407-
408- var dirname = path . dirname ( filename ) ;
409-
410371 // create wrapper function
411372 var wrapper = Module . wrap ( content ) ;
412373
@@ -431,8 +392,22 @@ Module.prototype._compile = function(content, filename) {
431392 global . v8debug . Debug . setBreakPoint ( compiledWrapper , 0 , 0 ) ;
432393 }
433394 }
434- var args = [ self . exports , require , self , filename , dirname ] ;
435- return compiledWrapper . apply ( self . exports , args ) ;
395+ const dirname = path . dirname ( filename ) ;
396+ const require = internalModule . makeRequireFunction . call ( this ) ;
397+
398+ Object . defineProperty ( require , 'paths' , { get : function ( ) {
399+ throw new Error ( 'require.paths is removed. Use ' +
400+ 'node_modules folders, or the NODE_PATH ' +
401+ 'environment variable instead.' ) ;
402+ } } ) ;
403+
404+ require . registerExtension = function ( ) {
405+ throw new Error ( 'require.registerExtension() removed. Use ' +
406+ 'require.extensions instead.' ) ;
407+ } ;
408+
409+ const args = [ this . exports , require , this , filename , dirname ] ;
410+ return compiledWrapper . apply ( this . exports , args ) ;
436411} ;
437412
438413
@@ -498,10 +473,10 @@ Module._initPaths = function() {
498473 Module . globalPaths = modulePaths . slice ( 0 ) ;
499474} ;
500475
501- // bootstrap repl
502- Module . requireRepl = function ( ) {
503- return Module . _load ( 'internal/repl' , '. ') ;
504- } ;
476+ // TODO(bnoordhuis) Unused, remove in the future.
477+ Module . requireRepl = internalUtil . deprecate ( function ( ) {
478+ return NativeModule . require ( 'internal/repl' ) ;
479+ } , 'Module.requireRepl is deprecated.' ) ;
505480
506481Module . _preloadModules = function ( requests ) {
507482 if ( ! Array . isArray ( requests ) )
0 commit comments