@@ -61,13 +61,6 @@ let asyncESM;
61
61
let ModuleJob ;
62
62
let createDynamicModule ;
63
63
64
- function lazyLoadESM ( ) {
65
- asyncESM = require ( 'internal/process/esm_loader' ) ;
66
- ModuleJob = require ( 'internal/modules/esm/module_job' ) ;
67
- createDynamicModule = require (
68
- 'internal/modules/esm/create_dynamic_module' ) ;
69
- }
70
-
71
64
const {
72
65
CHAR_UPPERCASE_A ,
73
66
CHAR_LOWERCASE_A ,
@@ -681,7 +674,6 @@ Module.prototype.load = function(filename) {
681
674
this . loaded = true ;
682
675
683
676
if ( experimentalModules ) {
684
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
685
677
const ESMLoader = asyncESM . ESMLoader ;
686
678
const url = `${ pathToFileURL ( filename ) } ` ;
687
679
const module = ESMLoader . moduleMap . get ( url ) ;
@@ -748,7 +740,6 @@ Module.prototype._compile = function(content, filename) {
748
740
lineOffset : 0 ,
749
741
displayErrors : true ,
750
742
importModuleDynamically : experimentalModules ? async ( specifier ) => {
751
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
752
743
const loader = await asyncESM . loaderPromise ;
753
744
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
754
745
} : undefined ,
@@ -775,7 +766,6 @@ Module.prototype._compile = function(content, filename) {
775
766
const { callbackMap } = internalBinding ( 'module_wrap' ) ;
776
767
callbackMap . set ( compiledWrapper , {
777
768
importModuleDynamically : async ( specifier ) => {
778
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
779
769
const loader = await asyncESM . loaderPromise ;
780
770
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
781
771
}
@@ -855,7 +845,6 @@ Module._extensions['.node'] = function(module, filename) {
855
845
} ;
856
846
857
847
if ( experimentalModules ) {
858
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
859
848
Module . _extensions [ '.mjs' ] = function ( module , filename ) {
860
849
throw new ERR_REQUIRE_ESM ( filename ) ;
861
850
} ;
@@ -865,7 +854,6 @@ if (experimentalModules) {
865
854
Module . runMain = function ( ) {
866
855
// Load the main module--the command line argument.
867
856
if ( experimentalModules ) {
868
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
869
857
asyncESM . loaderPromise . then ( ( loader ) => {
870
858
return loader . import ( pathToFileURL ( process . argv [ 1 ] ) . pathname ) ;
871
859
} )
@@ -950,3 +938,11 @@ Module._initPaths();
950
938
951
939
// Backwards compatibility
952
940
Module . Module = Module ;
941
+
942
+ // We have to load the esm things after module.exports!
943
+ if ( experimentalModules ) {
944
+ asyncESM = require ( 'internal/process/esm_loader' ) ;
945
+ ModuleJob = require ( 'internal/modules/esm/module_job' ) ;
946
+ createDynamicModule = require (
947
+ 'internal/modules/esm/create_dynamic_module' ) ;
948
+ }
0 commit comments