From 29434e880cc1303e83c36141060460c51df5a31a Mon Sep 17 00:00:00 2001 From: Stefanuk12 <42220813+Stefanuk12@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:33:37 +0100 Subject: [PATCH] fix: do not download dev/prod dependencies at all --- src/download_and_link.rs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/download_and_link.rs b/src/download_and_link.rs index f045aa6..baf163d 100644 --- a/src/download_and_link.rs +++ b/src/download_and_link.rs @@ -241,15 +241,21 @@ impl Project { } else { let mut tasks = graph .iter() - .map(|(id, node)| { + .filter_map(|(id, node)| { let id = id.clone(); let node = node.clone(); let container_folder = node.container_folder_from_project(&id, self, manifest.target.kind()); - async move { + match install_dependencies_mode { + InstallDependenciesMode::Prod if node.resolved_ty == DependencyType::Dev => return None, + InstallDependenciesMode::Dev if node.resolved_ty != DependencyType::Dev => return None, + _ => {}, + }; + + Some(async move { return (id, node, fs::metadata(&container_folder).await.is_ok()); - } + }) }) .collect::>(); @@ -433,17 +439,7 @@ impl Project { .map_err(errors::DownloadAndLinkError::Hook)?; } - let mut graph = Arc::into_inner(graph).unwrap(); - - match install_dependencies_mode { - InstallDependenciesMode::All => {} - InstallDependenciesMode::Prod => { - graph.retain(|_, node| node.node.resolved_ty != DependencyType::Dev); - } - InstallDependenciesMode::Dev => { - graph.retain(|_, node| node.node.resolved_ty == DependencyType::Dev); - } - } + let graph = Arc::into_inner(graph).unwrap(); if install_dependencies_mode != InstallDependenciesMode::All || !force { self.remove_unused(&graph).await?;