diff options
Diffstat (limited to 'cli/lsp/resolver.rs')
-rw-r--r-- | cli/lsp/resolver.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/cli/lsp/resolver.rs b/cli/lsp/resolver.rs index bd09f0ad1..c06bbfc8d 100644 --- a/cli/lsp/resolver.rs +++ b/cli/lsp/resolver.rs @@ -43,6 +43,8 @@ use deno_semver::package::PackageReq; use indexmap::IndexMap; use package_json::PackageJsonDepsProvider; use std::borrow::Cow; +use std::collections::BTreeMap; +use std::collections::BTreeSet; use std::collections::HashMap; use std::collections::HashSet; use std::rc::Rc; @@ -161,13 +163,20 @@ impl LspResolver { self.jsr_resolver.as_ref().inspect(|r| r.did_cache()); } - pub async fn set_npm_package_reqs( + pub async fn set_npm_reqs( &self, - reqs: &[PackageReq], + reqs: &BTreeMap<Option<ModuleSpecifier>, BTreeSet<PackageReq>>, ) -> Result<(), AnyError> { + let reqs = reqs + .values() + .flatten() + .collect::<BTreeSet<_>>() + .into_iter() + .cloned() + .collect::<Vec<_>>(); if let Some(npm_resolver) = self.npm_resolver.as_ref() { if let Some(npm_resolver) = npm_resolver.as_managed() { - return npm_resolver.set_package_reqs(reqs).await; + return npm_resolver.set_package_reqs(&reqs).await; } } Ok(()) |