diff --git a/.changes/workspace-detection.md b/.changes/workspace-detection.md new file mode 100644 index 000000000..150fe88e3 --- /dev/null +++ b/.changes/workspace-detection.md @@ -0,0 +1,5 @@ +--- +"tauri-bundler": minor +--- + +Fixes the bundler workspace detection. diff --git a/cli/tauri-bundler/src/bundle/settings.rs b/cli/tauri-bundler/src/bundle/settings.rs index bc297caae..ff4d01b9a 100644 --- a/cli/tauri-bundler/src/bundle/settings.rs +++ b/cli/tauri-bundler/src/bundle/settings.rs @@ -507,19 +507,18 @@ impl Settings { /// Otherwise returns the current directory. pub fn get_workspace_dir(current_dir: &PathBuf) -> PathBuf { let mut dir = current_dir.clone(); - let project_name = CargoSettings::load(&dir).unwrap().package.unwrap().name; + let project_path = current_dir.clone(); while dir.pop() { if let Ok(cargo_settings) = CargoSettings::load(&dir) { if let Some(workspace_settings) = cargo_settings.workspace { - if workspace_settings.members.is_some() - && workspace_settings - .members - .expect("Couldn't get members") + if let Some(members) = workspace_settings.members { + if members .iter() - .any(|member| member.as_str() == project_name) - { - return dir; + .any(|member| dir.join(member) == project_path) + { + return dir; + } } } }