summaryrefslogtreecommitdiff
path: root/cli/lsp/diagnostics.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-09-28 16:43:45 -0400
committerGitHub <noreply@github.com>2023-09-28 22:43:45 +0200
commitd43e48c4e96b02289d505cd2558ba85d7d6cb57b (patch)
treed69a40b3e948a5c4ea166700610e24e35ecc61c4 /cli/lsp/diagnostics.rs
parent0bd53fd52d8937afed401fe1c61bb2ba0b23501c (diff)
refactor(ext/node): remove dependency on deno_npm and deno_semver (#20718)
This is required from BYONM (bring your own node_modules). Part of #18967
Diffstat (limited to 'cli/lsp/diagnostics.rs')
-rw-r--r--cli/lsp/diagnostics.rs19
1 files changed, 9 insertions, 10 deletions
diff --git a/cli/lsp/diagnostics.rs b/cli/lsp/diagnostics.rs
index 43ae35f54..183901fb0 100644
--- a/cli/lsp/diagnostics.rs
+++ b/cli/lsp/diagnostics.rs
@@ -800,8 +800,8 @@ fn generate_lint_diagnostics(
}
// ignore any npm package files
- if let Some(node_resolver) = &snapshot.maybe_node_resolver {
- if node_resolver.in_npm_package(document.specifier()) {
+ if let Some(npm) = &snapshot.npm {
+ if npm.node_resolver.in_npm_package(document.specifier()) {
continue;
}
}
@@ -1237,10 +1237,10 @@ fn diagnose_resolution(
} else if let Ok(pkg_ref) =
NpmPackageReqReference::from_specifier(specifier)
{
- if let Some(npm_resolver) = &snapshot.maybe_npm_resolver {
+ if let Some(npm) = &snapshot.npm {
// show diagnostics for npm package references that aren't cached
let req = pkg_ref.into_inner().req;
- if !npm_resolver.is_pkg_req_folder_cached(&req) {
+ if !npm.npm_resolver.is_pkg_req_folder_cached(&req) {
diagnostics
.push(DenoDiagnostic::NoCacheNpm(req, specifier.clone()));
}
@@ -1250,10 +1250,10 @@ fn diagnose_resolution(
if !deno_node::is_builtin_node_module(module_name) {
diagnostics
.push(DenoDiagnostic::InvalidNodeSpecifier(specifier.clone()));
- } else if let Some(npm_resolver) = &snapshot.maybe_npm_resolver {
+ } else if let Some(npm) = &snapshot.npm {
// check that a @types/node package exists in the resolver
let types_node_req = PackageReq::from_str("@types/node").unwrap();
- if !npm_resolver.is_pkg_req_folder_cached(&types_node_req) {
+ if !npm.npm_resolver.is_pkg_req_folder_cached(&types_node_req) {
diagnostics.push(DenoDiagnostic::NoCacheNpm(
types_node_req,
ModuleSpecifier::parse("npm:@types/node").unwrap(),
@@ -1291,8 +1291,8 @@ fn diagnose_dependency(
dependency_key: &str,
dependency: &deno_graph::Dependency,
) {
- if let Some(npm_resolver) = &snapshot.maybe_npm_resolver {
- if npm_resolver.in_npm_package(referrer) {
+ if let Some(npm) = &snapshot.npm {
+ if npm.npm_resolver.in_npm_package(referrer) {
return; // ignore, surface typescript errors instead
}
}
@@ -1461,8 +1461,7 @@ mod tests {
GlobalHttpCache::new(location.to_path_buf(), RealDenoCacheEnv),
)),
config: Default::default(),
- maybe_node_resolver: None,
- maybe_npm_resolver: None,
+ npm: None,
}
}