Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit d535d6b

Browse files
committedMar 19, 2025·
export references from css where static assets are embedded into
1 parent 16c1c8c commit d535d6b

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed
 

‎turbopack/crates/turbopack-css/src/asset.rs

+20-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use turbopack_core::{
99
ident::AssetIdent,
1010
module::Module,
1111
module_graph::ModuleGraph,
12+
output::OutputAssets,
1213
reference::{ModuleReference, ModuleReferences},
1314
reference_type::ImportContext,
1415
resolve::origin::ResolveOrigin,
@@ -22,7 +23,9 @@ use crate::{
2223
finalize_css, parse_css, process_css_with_placeholder, CssWithPlaceholderResult,
2324
FinalCssResult, ParseCss, ParseCssResult, ProcessCss,
2425
},
25-
references::{compose::CssModuleComposeReference, import::ImportAssetReference},
26+
references::{
27+
compose::CssModuleComposeReference, import::ImportAssetReference, url::ReferencedAsset,
28+
},
2629
CssModuleAssetType,
2730
};
2831

@@ -200,6 +203,22 @@ impl ChunkItem for CssModuleChunkItem {
200203
fn module(&self) -> Vc<Box<dyn Module>> {
201204
Vc::upcast(*self.module)
202205
}
206+
207+
#[turbo_tasks::function]
208+
async fn references(&self) -> Result<Vc<OutputAssets>> {
209+
let mut references = Vec::new();
210+
if let ParseCssResult::Ok { url_references, .. } = &*self.module.parse_css().await? {
211+
for (_, reference) in url_references.await? {
212+
if let ReferencedAsset::Some(asset) = *reference
213+
.get_referenced_asset(*self.chunking_context)
214+
.await?
215+
{
216+
references.push(asset);
217+
}
218+
}
219+
}
220+
Ok(Vc::cell(references))
221+
}
203222
}
204223

205224
#[turbo_tasks::value_impl]

‎turbopack/crates/turbopack-css/src/references/url.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl UrlAssetReference {
5151
}
5252

5353
#[turbo_tasks::function]
54-
async fn get_referenced_asset(
54+
pub async fn get_referenced_asset(
5555
self: Vc<Self>,
5656
chunking_context: Vc<Box<dyn ChunkingContext>>,
5757
) -> Result<Vc<ReferencedAsset>> {

0 commit comments

Comments
 (0)
Please sign in to comment.