From 20cdafbf1653fe193ea389d8cd36ce548457e4f3 Mon Sep 17 00:00:00 2001 From: BleemIs42 Date: Thu, 9 Jan 2025 00:56:51 +0800 Subject: [PATCH] Fix dx bundle fails when no assets are copied (#3519) --- packages/cli/src/cli/bundle.rs | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/cli/src/cli/bundle.rs b/packages/cli/src/cli/bundle.rs index 9bcdc3846..bdeadc2f6 100644 --- a/packages/cli/src/cli/bundle.rs +++ b/packages/cli/src/cli/bundle.rs @@ -179,21 +179,23 @@ impl Bundle { } let asset_dir = bundle.build.asset_dir(); - let asset_dir_entries = std::fs::read_dir(&asset_dir) - .with_context(|| format!("failed to read asset directory {:?}", asset_dir))?; - for entry in asset_dir_entries.flatten() { - let old = entry - .path() - .canonicalize() - .with_context(|| format!("Failed to canonicalize {entry:?}"))?; - let new = PathBuf::from("assets").join(old.file_name().expect("Filename to exist")); - tracing::debug!("Bundled asset: {old:?} -> {new:?}"); + if asset_dir.exists() { + let asset_dir_entries = std::fs::read_dir(&asset_dir) + .with_context(|| format!("failed to read asset directory {:?}", asset_dir))?; + for entry in asset_dir_entries.flatten() { + let old = entry + .path() + .canonicalize() + .with_context(|| format!("Failed to canonicalize {entry:?}"))?; + let new = PathBuf::from("assets").join(old.file_name().expect("Filename to exist")); + tracing::debug!("Bundled asset: {old:?} -> {new:?}"); - bundle_settings - .resources_map - .as_mut() - .expect("to be set") - .insert(old.display().to_string(), new.display().to_string()); + bundle_settings + .resources_map + .as_mut() + .expect("to be set") + .insert(old.display().to_string(), new.display().to_string()); + } } for resource_path in bundle_settings.resources.take().into_iter().flatten() {