diff options
Diffstat (limited to 'cli/resolver.rs')
-rw-r--r-- | cli/resolver.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/cli/resolver.rs b/cli/resolver.rs index 46ae16a67..b113fc470 100644 --- a/cli/resolver.rs +++ b/cli/resolver.rs @@ -7,6 +7,7 @@ use deno_core::futures::future; use deno_core::futures::future::LocalBoxFuture; use deno_core::futures::FutureExt; use deno_core::ModuleSpecifier; +use deno_core::TaskQueue; use deno_graph::npm::NpmPackageNv; use deno_graph::npm::NpmPackageReq; use deno_graph::source::NpmResolver; @@ -34,7 +35,7 @@ pub struct CliGraphResolver { npm_registry_api: NpmRegistryApi, npm_resolution: NpmResolution, package_json_deps_installer: PackageJsonDepsInstaller, - sync_download_semaphore: Option<Arc<tokio::sync::Semaphore>>, + sync_download_queue: Option<Arc<TaskQueue>>, } impl Default for CliGraphResolver { @@ -52,7 +53,7 @@ impl Default for CliGraphResolver { npm_registry_api, npm_resolution, package_json_deps_installer: Default::default(), - sync_download_semaphore: Self::create_sync_download_semaphore(), + sync_download_queue: Self::create_sync_download_queue(), } } } @@ -77,13 +78,13 @@ impl CliGraphResolver { npm_registry_api, npm_resolution, package_json_deps_installer, - sync_download_semaphore: Self::create_sync_download_semaphore(), + sync_download_queue: Self::create_sync_download_queue(), } } - fn create_sync_download_semaphore() -> Option<Arc<tokio::sync::Semaphore>> { + fn create_sync_download_queue() -> Option<Arc<TaskQueue>> { if crate::npm::should_sync_download() { - Some(Arc::new(tokio::sync::Semaphore::new(1))) + Some(Default::default()) } else { None } @@ -194,10 +195,10 @@ impl NpmResolver for CliGraphResolver { let package_name = package_name.to_string(); let api = self.npm_registry_api.clone(); let deps_installer = self.package_json_deps_installer.clone(); - let maybe_sync_download_semaphore = self.sync_download_semaphore.clone(); + let maybe_sync_download_queue = self.sync_download_queue.clone(); async move { - let permit = if let Some(semaphore) = &maybe_sync_download_semaphore { - Some(semaphore.acquire().await.unwrap()) + let permit = if let Some(task_queue) = &maybe_sync_download_queue { + Some(task_queue.acquire().await) } else { None }; |