Skip to content

Commit ec03948

Browse files
committed
Turbopack: fix duplicate module from internal ref
1 parent dc428bc commit ec03948

File tree

1 file changed

+23
-12
lines changed
  • turbopack/crates/turbopack-ecmascript/src

1 file changed

+23
-12
lines changed

turbopack/crates/turbopack-ecmascript/src/lib.rs

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -503,25 +503,36 @@ impl EcmascriptModuleAsset {
503503
}
504504

505505
#[turbo_tasks::function]
506-
pub fn new_with_inner_assets(
506+
pub async fn new_with_inner_assets(
507507
source: ResolvedVc<Box<dyn Source>>,
508508
asset_context: ResolvedVc<Box<dyn AssetContext>>,
509509
ty: Value<EcmascriptModuleAssetType>,
510510
transforms: ResolvedVc<EcmascriptInputTransforms>,
511511
options: ResolvedVc<EcmascriptOptions>,
512512
compile_time_info: ResolvedVc<CompileTimeInfo>,
513513
inner_assets: ResolvedVc<InnerAssets>,
514-
) -> Vc<Self> {
515-
Self::cell(EcmascriptModuleAsset {
516-
source,
517-
asset_context,
518-
ty: ty.into_value(),
519-
transforms,
520-
options,
521-
compile_time_info,
522-
inner_assets: Some(inner_assets),
523-
last_successful_parse: Default::default(),
524-
})
514+
) -> Result<Vc<Self>> {
515+
if inner_assets.await?.is_empty() {
516+
Ok(Self::new(
517+
*source,
518+
*asset_context,
519+
ty,
520+
*transforms,
521+
*options,
522+
*compile_time_info,
523+
))
524+
} else {
525+
Ok(Self::cell(EcmascriptModuleAsset {
526+
source,
527+
asset_context,
528+
ty: ty.into_value(),
529+
transforms,
530+
options,
531+
compile_time_info,
532+
inner_assets: Some(inner_assets),
533+
last_successful_parse: Default::default(),
534+
}))
535+
}
525536
}
526537

527538
#[turbo_tasks::function]

0 commit comments

Comments
 (0)