@@ -25,13 +25,13 @@ use graph::{aggregate, AggregatedGraph, AggregatedGraphNodeContent};
2525use module_options:: { ModuleOptions , ModuleOptionsContext , ModuleRuleEffect , ModuleType } ;
2626use tracing:: { field:: Empty , Instrument } ;
2727use turbo_rcstr:: RcStr ;
28- use turbo_tasks:: { ResolvedVc , Value , ValueToString , Vc } ;
28+ use turbo_tasks:: { FxIndexMap , ResolvedVc , Value , ValueToString , Vc } ;
2929use turbo_tasks_fs:: { glob:: Glob , FileSystemPath } ;
3030pub use turbopack_core:: condition;
3131use turbopack_core:: {
3232 asset:: Asset ,
3333 chunk:: SourceMapsType ,
34- compile_time_info:: CompileTimeInfo ,
34+ compile_time_info:: { CompileTimeInfo , OptionCompileTimeDefineValue } ,
3535 context:: { AssetContext , ProcessResult } ,
3636 environment:: { Environment , ExecutionEnvironment , NodeJsEnvironment } ,
3737 issue:: { module:: ModuleIssue , IssueExt , StyledString } ,
@@ -659,7 +659,10 @@ async fn process_default_internal(
659659}
660660
661661#[ turbo_tasks:: function]
662- async fn externals_tracing_module_context ( ty : ExternalType ) -> Result < Vc < ModuleAssetContext > > {
662+ async fn externals_tracing_module_context (
663+ ty : ExternalType ,
664+ process_env_node_env : Vc < OptionCompileTimeDefineValue > ,
665+ ) -> Result < Vc < ModuleAssetContext > > {
663666 let env = Environment :: new ( Value :: new ( ExecutionEnvironment :: NodeJsLambda (
664667 NodeJsEnvironment :: default ( ) . resolved_cell ( ) ,
665668 ) ) )
@@ -677,9 +680,23 @@ async fn externals_tracing_module_context(ty: ExternalType) -> Result<Vc<ModuleA
677680 ..Default :: default ( )
678681 } ;
679682
683+ let mut compile_time_info = CompileTimeInfo :: builder ( env) ;
684+ if let Some ( env) = & * process_env_node_env. await ? {
685+ compile_time_info = compile_time_info. defines ( ResolvedVc :: cell ( FxIndexMap :: from_iter ( [
686+ (
687+ [ ( "process" . into ( ) ) , ( "env" . into ( ) ) , "NODE_ENV" . into ( ) ] . into ( ) ,
688+ env. clone ( ) ,
689+ ) ,
690+ (
691+ [ ( "process" . into ( ) ) , ( "env" . into ( ) ) , "TURBOPACK" . into ( ) ] . into ( ) ,
692+ "1" . into ( ) ,
693+ ) ,
694+ ] ) ) ) ;
695+ }
696+
680697 Ok ( ModuleAssetContext :: new_without_replace_externals (
681698 Default :: default ( ) ,
682- CompileTimeInfo :: builder ( env ) . cell ( ) . await ?,
699+ compile_time_info . cell ( ) . await ?,
683700 ModuleOptionsContext {
684701 ecmascript : EcmascriptOptionsContext {
685702 source_maps : SourceMapsType :: None ,
@@ -805,7 +822,10 @@ impl AssetContext for ModuleAssetContext {
805822 . await ?
806823 . enable_externals_tracing ,
807824 ) {
808- let externals_context = externals_tracing_module_context ( ty) ;
825+ let externals_context = externals_tracing_module_context (
826+ ty,
827+ self . compile_time_info ( ) . process_env_node_env ( ) ,
828+ ) ;
809829 let root_origin = tracing_root. join ( "_" . into ( ) ) ;
810830
811831 let external_result = externals_context
0 commit comments