diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-06-05 11:04:16 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-05 17:04:16 +0200 |
commit | 7ed90a20d04982ae15a52ae2378cbffd4b6839df (patch) | |
tree | 3297d6f7227fbf1cf80e17a2a376ef4dfa52e6ad /cli/lsp/resolver.rs | |
parent | 0544d60012006b1c7799d8b6eafacec9567901ad (diff) |
fix: better handling of npm resolution occurring on workers (#24094)
Closes https://github.com/denoland/deno/issues/24063
Diffstat (limited to 'cli/lsp/resolver.rs')
-rw-r--r-- | cli/lsp/resolver.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cli/lsp/resolver.rs b/cli/lsp/resolver.rs index 599db4876..2b465f695 100644 --- a/cli/lsp/resolver.rs +++ b/cli/lsp/resolver.rs @@ -20,6 +20,7 @@ use crate::resolver::CliGraphResolver; use crate::resolver::CliGraphResolverOptions; use crate::resolver::CliNodeResolver; use crate::resolver::SloppyImportsResolver; +use crate::resolver::WorkerCliNpmGraphResolver; use crate::util::progress_bar::ProgressBar; use crate::util::progress_bar::ProgressBarStyle; use dashmap::DashMap; @@ -27,7 +28,6 @@ use deno_ast::MediaType; use deno_cache_dir::HttpCache; use deno_core::error::AnyError; use deno_core::url::Url; -use deno_graph::source::NpmResolver; use deno_graph::source::Resolver; use deno_graph::GraphImport; use deno_graph::ModuleSpecifier; @@ -105,6 +105,7 @@ impl LspResolver { let redirect_resolver = Some(Arc::new(RedirectResolver::new( cache.root_vendor_or_global(), ))); + let npm_graph_resolver = graph_resolver.create_graph_npm_resolver(); let graph_imports = config_data .and_then(|d| d.config_file.as_ref()) .and_then(|cf| cf.to_maybe_imports().ok()) @@ -118,7 +119,7 @@ impl LspResolver { imports, &CliJsrUrlProvider, Some(graph_resolver.as_ref()), - Some(graph_resolver.as_ref()), + Some(&npm_graph_resolver), ); (referrer, graph_import) }) @@ -180,11 +181,11 @@ impl LspResolver { self.graph_resolver.as_ref() } - pub fn as_graph_npm_resolver( + pub fn create_graph_npm_resolver( &self, _file_referrer: Option<&ModuleSpecifier>, - ) -> &dyn NpmResolver { - self.graph_resolver.as_ref() + ) -> WorkerCliNpmGraphResolver { + self.graph_resolver.create_graph_npm_resolver() } pub fn maybe_managed_npm_resolver( |