@@ -62,13 +62,6 @@ let asyncESM;
62
62
let ModuleJob ;
63
63
let createDynamicModule ;
64
64
65
- function lazyLoadESM ( ) {
66
- asyncESM = require ( 'internal/process/esm_loader' ) ;
67
- ModuleJob = require ( 'internal/modules/esm/module_job' ) ;
68
- createDynamicModule = require (
69
- 'internal/modules/esm/create_dynamic_module' ) ;
70
- }
71
-
72
65
const {
73
66
CHAR_UPPERCASE_A ,
74
67
CHAR_LOWERCASE_A ,
@@ -705,7 +698,6 @@ Module.prototype.load = function(filename) {
705
698
this . loaded = true ;
706
699
707
700
if ( experimentalModules ) {
708
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
709
701
const ESMLoader = asyncESM . ESMLoader ;
710
702
const url = `${ pathToFileURL ( filename ) } ` ;
711
703
const module = ESMLoader . moduleMap . get ( url ) ;
@@ -772,7 +764,6 @@ Module.prototype._compile = function(content, filename) {
772
764
lineOffset : 0 ,
773
765
displayErrors : true ,
774
766
importModuleDynamically : experimentalModules ? async ( specifier ) => {
775
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
776
767
const loader = await asyncESM . loaderPromise ;
777
768
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
778
769
} : undefined ,
@@ -799,7 +790,6 @@ Module.prototype._compile = function(content, filename) {
799
790
const { callbackMap } = internalBinding ( 'module_wrap' ) ;
800
791
callbackMap . set ( compiledWrapper , {
801
792
importModuleDynamically : async ( specifier ) => {
802
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
803
793
const loader = await asyncESM . loaderPromise ;
804
794
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
805
795
}
@@ -879,7 +869,6 @@ Module._extensions['.node'] = function(module, filename) {
879
869
} ;
880
870
881
871
if ( experimentalModules ) {
882
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
883
872
Module . _extensions [ '.mjs' ] = function ( module , filename ) {
884
873
throw new ERR_REQUIRE_ESM ( filename ) ;
885
874
} ;
@@ -889,7 +878,6 @@ if (experimentalModules) {
889
878
Module . runMain = function ( ) {
890
879
// Load the main module--the command line argument.
891
880
if ( experimentalModules ) {
892
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
893
881
asyncESM . loaderPromise . then ( ( loader ) => {
894
882
return loader . import ( pathToFileURL ( process . argv [ 1 ] ) . pathname ) ;
895
883
} )
@@ -974,3 +962,11 @@ Module._initPaths();
974
962
975
963
// Backwards compatibility
976
964
Module . Module = Module ;
965
+
966
+ // We have to load the esm things after module.exports!
967
+ if ( experimentalModules ) {
968
+ asyncESM = require ( 'internal/process/esm_loader' ) ;
969
+ ModuleJob = require ( 'internal/modules/esm/module_job' ) ;
970
+ createDynamicModule = require (
971
+ 'internal/modules/esm/create_dynamic_module' ) ;
972
+ }
0 commit comments