From 36522cf3ea8b6776804102748c22fd75022306e3 Mon Sep 17 00:00:00 2001 From: Anakael Date: Mon, 13 Jan 2025 22:18:50 +0300 Subject: [PATCH] fix: cli pakage name search (#3561) --- packages/cli/src/dioxus_crate.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/dioxus_crate.rs b/packages/cli/src/dioxus_crate.rs index bf9d2f4f9..4b8ae80e9 100644 --- a/packages/cli/src/dioxus_crate.rs +++ b/packages/cli/src/dioxus_crate.rs @@ -45,13 +45,36 @@ impl DioxusCrate { TargetKind::Bin }; + let main_package = &krates[package]; + let target_name = target .example .clone() .or(target.bin.clone()) + .or_else(|| { + if let Some(default_run) = &main_package.default_run { + return Some(default_run.to_string()); + } + + let bin_count = main_package + .targets + .iter() + .filter(|x| x.kind.contains(&target_kind)) + .count(); + if bin_count != 1 { + return None; + } + + main_package.targets.iter().find_map(|x| { + if x.kind.contains(&target_kind) { + Some(x.name.clone()) + } else { + None + } + }) + }) .unwrap_or(package_name); - let main_package = &krates[package]; let target = main_package .targets .iter()