@@ -346,6 +346,7 @@ struct SharedCliModuleLoaderState {
346346 sys : CliSys ,
347347 in_flight_loads_tracker : InFlightModuleLoadsTracker ,
348348 maybe_eszip_loader : Option < Arc < EszipModuleLoader > > ,
349+ require_modules : Arc < HashSet < ModuleSpecifier > > ,
349350}
350351
351352struct InFlightModuleLoadsTracker {
@@ -410,6 +411,8 @@ impl CliModuleLoaderFactory {
410411 sys : CliSys ,
411412 maybe_eszip_loader : Option < Arc < EszipModuleLoader > > ,
412413 ) -> Self {
414+ let require_modules_list = options. require_modules ( ) . unwrap_or_default ( ) ;
415+
413416 Self {
414417 shared : Arc :: new ( SharedCliModuleLoaderState {
415418 graph_kind : options. graph_kind ( ) ,
@@ -442,6 +445,9 @@ impl CliModuleLoaderFactory {
442445 cleanup_task_handle : Arc :: new ( Mutex :: new ( None ) ) ,
443446 } ,
444447 maybe_eszip_loader,
448+ require_modules : Arc :: new (
449+ require_modules_list. into_iter ( ) . collect :: < HashSet < _ > > ( ) ,
450+ ) ,
445451 } ) ,
446452 }
447453 }
@@ -578,9 +584,10 @@ impl<TGraphContainer: ModuleGraphContainer>
578584 specifier : & ModuleSpecifier ,
579585 maybe_referrer : Option < & ModuleSpecifier > ,
580586 requested_module_type : & RequestedModuleType ,
587+ is_from_require : bool ,
581588 ) -> Result < ModuleSource , ModuleLoaderError > {
582589 let code_source = self
583- . load_code_source ( specifier, maybe_referrer, requested_module_type)
590+ . load_code_source ( specifier, maybe_referrer, requested_module_type, is_from_require )
584591 . await
585592 . map_err ( JsErrorBox :: from_err) ?;
586593
@@ -632,6 +639,7 @@ impl<TGraphContainer: ModuleGraphContainer>
632639 specifier : & ModuleSpecifier ,
633640 maybe_referrer : Option < & ModuleSpecifier > ,
634641 requested_module_type : & RequestedModuleType ,
642+ is_from_require : bool ,
635643 ) -> Result < ModuleCodeStringSource , CliModuleLoaderError > {
636644 // this loader maintains npm specifiers in dynamic imports when resolving
637645 // so that they can be properly preloaded, but now we might receive them
@@ -674,6 +682,7 @@ impl<TGraphContainer: ModuleGraphContainer>
674682 & specifier,
675683 maybe_referrer,
676684 & deno_resolver_requested_module_type,
685+ is_from_require,
677686 )
678687 . await ?
679688 {
@@ -1026,13 +1035,15 @@ impl<TGraphContainer: ModuleGraphContainer> ModuleLoader
10261035
10271036 let specifier = specifier. clone ( ) ;
10281037 let maybe_referrer = maybe_referrer. cloned ( ) ;
1038+ let is_from_require = self . 0 . shared . require_modules . contains ( & specifier) ;
10291039 deno_core:: ModuleLoadResponse :: Async (
10301040 async move {
10311041 inner
10321042 . load_inner (
10331043 & specifier,
10341044 maybe_referrer. as_ref ( ) . map ( |r| & r. specifier ) ,
10351045 & options. requested_module_type ,
1046+ is_from_require,
10361047 )
10371048 . await
10381049 . map_err ( |err| {
0 commit comments