diff options
Diffstat (limited to 'cli/lsp')
-rw-r--r-- | cli/lsp/documents.rs | 13 | ||||
-rw-r--r-- | cli/lsp/language_server.rs | 10 |
2 files changed, 13 insertions, 10 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs index fd40bb95f..31aa3ae8e 100644 --- a/cli/lsp/documents.rs +++ b/cli/lsp/documents.rs @@ -17,7 +17,6 @@ use crate::file_fetcher::get_source_from_bytes; use crate::file_fetcher::map_content_type; use crate::file_fetcher::SUPPORTED_SCHEMES; use crate::lsp::logging::lsp_warn; -use crate::node::CliNodeResolver; use crate::npm::CliNpmRegistryApi; use crate::npm::NpmResolution; use crate::npm::PackageJsonDepsInstaller; @@ -39,8 +38,8 @@ use deno_graph::Resolution; use deno_runtime::deno_node; use deno_runtime::deno_node::NodeResolution; use deno_runtime::deno_node::NodeResolutionMode; +use deno_runtime::deno_node::NodeResolver; use deno_runtime::deno_node::PackageJson; -use deno_runtime::deno_node::RealFs; use deno_runtime::permissions::PermissionsContainer; use deno_semver::npm::NpmPackageReq; use deno_semver::npm::NpmPackageReqReference; @@ -1057,7 +1056,7 @@ impl Documents { &self, specifiers: Vec<String>, referrer_doc: &AssetOrDocument, - maybe_node_resolver: Option<&Arc<CliNodeResolver>>, + maybe_node_resolver: Option<&Arc<NodeResolver>>, ) -> Vec<Option<(ModuleSpecifier, MediaType)>> { let referrer = referrer_doc.specifier(); let dependencies = match referrer_doc { @@ -1071,7 +1070,7 @@ impl Documents { // we're in an npm package, so use node resolution results.push(Some(NodeResolution::into_specifier_and_media_type( node_resolver - .resolve::<RealFs>( + .resolve( &specifier, referrer, NodeResolutionMode::Types, @@ -1419,7 +1418,7 @@ impl Documents { fn resolve_dependency( &self, specifier: &ModuleSpecifier, - maybe_node_resolver: Option<&Arc<CliNodeResolver>>, + maybe_node_resolver: Option<&Arc<NodeResolver>>, ) -> Option<(ModuleSpecifier, MediaType)> { if let Ok(npm_ref) = NpmPackageReqReference::from_specifier(specifier) { return node_resolve_npm_req_ref(npm_ref, maybe_node_resolver); @@ -1454,12 +1453,12 @@ impl Documents { fn node_resolve_npm_req_ref( npm_req_ref: NpmPackageReqReference, - maybe_node_resolver: Option<&Arc<CliNodeResolver>>, + maybe_node_resolver: Option<&Arc<NodeResolver>>, ) -> Option<(ModuleSpecifier, MediaType)> { maybe_node_resolver.map(|node_resolver| { NodeResolution::into_specifier_and_media_type( node_resolver - .resolve_npm_req_reference::<RealFs>( + .resolve_npm_req_reference( &npm_req_ref, NodeResolutionMode::Types, &mut PermissionsContainer::allow_all(), diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index f1b9cb434..e7968a665 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -9,6 +9,7 @@ use deno_core::serde_json; use deno_core::serde_json::json; use deno_core::serde_json::Value; use deno_core::ModuleSpecifier; +use deno_runtime::deno_node; use deno_runtime::deno_node::NodeResolver; use deno_runtime::deno_node::PackageJson; use deno_runtime::deno_web::BlobStore; @@ -79,7 +80,6 @@ use crate::file_fetcher::FileFetcher; use crate::graph_util; use crate::http_util::HttpClient; use crate::lsp::urls::LspUrlKind; -use crate::node::CliNodeResolver; use crate::npm::create_npm_fs_resolver; use crate::npm::CliNpmRegistryApi; use crate::npm::CliNpmResolver; @@ -103,7 +103,7 @@ pub struct StateSnapshot { pub cache_metadata: cache::CacheMetadata, pub documents: Documents, pub maybe_import_map: Option<Arc<ImportMap>>, - pub maybe_node_resolver: Option<Arc<CliNodeResolver>>, + pub maybe_node_resolver: Option<Arc<NodeResolver>>, pub maybe_npm_resolver: Option<Arc<CliNpmResolver>>, } @@ -449,6 +449,7 @@ fn create_lsp_structs( let resolution = Arc::new(NpmResolution::from_serialized(api.clone(), None, None)); let fs_resolver = create_npm_fs_resolver( + Arc::new(deno_node::RealFs), npm_cache.clone(), &progress_bar, registry_url.clone(), @@ -700,9 +701,11 @@ impl Inner { self.npm_resolution.snapshot(), None, )); + let node_fs = Arc::new(deno_node::RealFs); let npm_resolver = Arc::new(CliNpmResolver::new( npm_resolution.clone(), create_npm_fs_resolver( + node_fs.clone(), self.npm_cache.clone(), &ProgressBar::new(ProgressBarStyle::TextOnly), self.npm_api.base_url().clone(), @@ -711,7 +714,8 @@ impl Inner { ), None, )); - let node_resolver = Arc::new(NodeResolver::new(npm_resolver.clone())); + let node_resolver = + Arc::new(NodeResolver::new(node_fs, npm_resolver.clone())); Arc::new(StateSnapshot { assets: self.assets.snapshot(), cache_metadata: self.cache_metadata.clone(), |