@@ -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 ,
@@ -673,7 +666,6 @@ Module.prototype.load = function(filename) {
673
666
this . loaded = true ;
674
667
675
668
if ( experimentalModules ) {
676
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
677
669
const ESMLoader = asyncESM . ESMLoader ;
678
670
const url = `${ pathToFileURL ( filename ) } ` ;
679
671
const module = ESMLoader . moduleMap . get ( url ) ;
@@ -740,7 +732,6 @@ Module.prototype._compile = function(content, filename) {
740
732
lineOffset : 0 ,
741
733
displayErrors : true ,
742
734
importModuleDynamically : experimentalModules ? async ( specifier ) => {
743
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
744
735
const loader = await asyncESM . loaderPromise ;
745
736
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
746
737
} : undefined ,
@@ -767,7 +758,6 @@ Module.prototype._compile = function(content, filename) {
767
758
const { callbackMap } = internalBinding ( 'module_wrap' ) ;
768
759
callbackMap . set ( compiledWrapper , {
769
760
importModuleDynamically : async ( specifier ) => {
770
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
771
761
const loader = await asyncESM . loaderPromise ;
772
762
return loader . import ( specifier , normalizeReferrerURL ( filename ) ) ;
773
763
}
@@ -847,7 +837,6 @@ Module._extensions['.node'] = function(module, filename) {
847
837
} ;
848
838
849
839
if ( experimentalModules ) {
850
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
851
840
Module . _extensions [ '.mjs' ] = function ( module , filename ) {
852
841
throw new ERR_REQUIRE_ESM ( filename ) ;
853
842
} ;
@@ -857,7 +846,6 @@ if (experimentalModules) {
857
846
Module . runMain = function ( ) {
858
847
// Load the main module--the command line argument.
859
848
if ( experimentalModules ) {
860
- if ( asyncESM === undefined ) lazyLoadESM ( ) ;
861
849
asyncESM . loaderPromise . then ( ( loader ) => {
862
850
return loader . import ( pathToFileURL ( process . argv [ 1 ] ) . pathname ) ;
863
851
} )
@@ -940,3 +928,11 @@ Module._initPaths();
940
928
941
929
// Backwards compatibility
942
930
Module . Module = Module ;
931
+
932
+ // We have to load the esm things after module.exports!
933
+ if ( experimentalModules ) {
934
+ asyncESM = require ( 'internal/process/esm_loader' ) ;
935
+ ModuleJob = require ( 'internal/modules/esm/module_job' ) ;
936
+ createDynamicModule = require (
937
+ 'internal/modules/esm/create_dynamic_module' ) ;
938
+ }
0 commit comments