summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/lsp/documents.rs7
-rw-r--r--cli/lsp/resolver.rs3
-rw-r--r--cli/resolver.rs12
3 files changed, 14 insertions, 8 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index 8a6e8b65b..df15bff2a 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -29,7 +29,6 @@ use deno_core::ModuleSpecifier;
use deno_graph::source::ResolutionMode;
use deno_graph::Resolution;
use deno_runtime::deno_node;
-use deno_runtime::deno_node::NodeResolutionMode;
use deno_semver::jsr::JsrPackageReqReference;
use deno_semver::npm::NpmPackageReqReference;
use deno_semver::package::PackageReq;
@@ -1295,11 +1294,7 @@ impl Documents {
}
if let Ok(npm_ref) = NpmPackageReqReference::from_specifier(specifier) {
- return self.resolver.npm_to_file_url(
- &npm_ref,
- referrer,
- NodeResolutionMode::Types,
- );
+ return self.resolver.npm_to_file_url(&npm_ref, referrer);
}
let Some(doc) = self.get(specifier) else {
return Some((specifier.clone(), MediaType::from_specifier(specifier)));
diff --git a/cli/lsp/resolver.rs b/cli/lsp/resolver.rs
index 0f515060a..27c4f6acf 100644
--- a/cli/lsp/resolver.rs
+++ b/cli/lsp/resolver.rs
@@ -229,7 +229,6 @@ impl LspResolver {
&self,
req_ref: &NpmPackageReqReference,
referrer: &ModuleSpecifier,
- mode: NodeResolutionMode,
) -> Option<(ModuleSpecifier, MediaType)> {
let node_resolver = self.node_resolver.as_ref()?;
Some(NodeResolution::into_specifier_and_media_type(
@@ -238,7 +237,7 @@ impl LspResolver {
req_ref,
&PermissionsContainer::allow_all(),
referrer,
- mode,
+ NodeResolutionMode::Types,
)
.ok(),
))
diff --git a/cli/resolver.rs b/cli/resolver.rs
index 7e68a62e9..8fbacd8f1 100644
--- a/cli/resolver.rs
+++ b/cli/resolver.rs
@@ -677,6 +677,18 @@ impl Resolver for CliGraphResolver {
}
}
}
+ } else if referrer.scheme() == "file" {
+ if let Some(node_resolver) = &self.node_resolver {
+ let node_result = node_resolver.resolve_if_in_npm_package(
+ specifier,
+ referrer,
+ to_node_mode(mode),
+ &PermissionsContainer::allow_all(),
+ );
+ if let Some(Ok(Some(res))) = node_result {
+ return Ok(res.into_url());
+ }
+ }
}
let specifier = result?;