@@ -19,38 +19,44 @@ prepareMainThreadExecution();
1919
2020markBootstrapComplete ( ) ;
2121
22- // --input-type flag not supported in REPL
23- if ( getOptionValue ( '--input-type' ) ) {
24- // If we can't write to stderr, we'd like to make this a noop,
25- // so use console.error.
26- console . error ( 'Cannot specify --input-type for REPL' ) ;
27- process . exit ( 1 ) ;
28- }
22+ if ( process . env . NODE_REPL_EXTERNAL_MODULE ) {
23+ require ( 'internal/modules/cjs/loader' )
24+ . Module
25+ . _load ( process . env . NODE_REPL_EXTERNAL_MODULE , undefined , true ) ;
26+ } else {
27+ // --input-type flag not supported in REPL
28+ if ( getOptionValue ( '--input-type' ) ) {
29+ // If we can't write to stderr, we'd like to make this a noop,
30+ // so use console.error.
31+ console . error ( 'Cannot specify --input-type for REPL' ) ;
32+ process . exit ( 1 ) ;
33+ }
2934
30- console . log ( `Welcome to Node.js ${ process . version } .\n` +
31- 'Type ".help" for more information.' ) ;
35+ console . log ( `Welcome to Node.js ${ process . version } .\n` +
36+ 'Type ".help" for more information.' ) ;
3237
33- const cliRepl = require ( 'internal/repl' ) ;
34- cliRepl . createInternalRepl ( process . env , ( err , repl ) => {
35- if ( err ) {
36- throw err ;
37- }
38- repl . on ( 'exit' , ( ) => {
39- if ( repl . _flushing ) {
40- repl . pause ( ) ;
41- return repl . once ( 'flushHistory' , ( ) => {
42- process . exit ( ) ;
43- } ) ;
38+ const cliRepl = require ( 'internal/repl' ) ;
39+ cliRepl . createInternalRepl ( process . env , ( err , repl ) => {
40+ if ( err ) {
41+ throw err ;
4442 }
45- process . exit ( ) ;
43+ repl . on ( 'exit' , ( ) => {
44+ if ( repl . _flushing ) {
45+ repl . pause ( ) ;
46+ return repl . once ( 'flushHistory' , ( ) => {
47+ process . exit ( ) ;
48+ } ) ;
49+ }
50+ process . exit ( ) ;
51+ } ) ;
4652 } ) ;
47- } ) ;
48-
49- // If user passed '-e' or '--eval' along with `-i` or `--interactive`,
50- // evaluate the code in the current context.
51- if ( getOptionValue ( '[has_eval_string]' ) ) {
52- evalScript ( '[ eval]' ,
53- getOptionValue ( '--eval ' ) ,
54- getOptionValue ( '--inspect-brk' ) ,
55- getOptionValue ( '--print' ) ) ;
53+
54+ // If user passed '-e' or '--eval' along with `-i` or `--interactive`,
55+ // evaluate the code in the current context.
56+ if ( getOptionValue ( '[has_eval_string]' ) ) {
57+ evalScript ( '[eval]' ,
58+ getOptionValue ( '-- eval' ) ,
59+ getOptionValue ( '--inspect-brk ' ) ,
60+ getOptionValue ( '--print' ) ) ;
61+ }
5662}
0 commit comments