From bb37dfb5b79c0e5ae18d34f01313cb1f39d7a2dd Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 22 May 2023 21:28:36 -0400 Subject: feat(lsp): support lockfile and node_modules directory (#19203) This adds support for the lockfile and node_modules directory to the lsp. In the case of the node_modules directory, it is only enabled when explicitly opted into via `"nodeModulesDir": true` in the configuration file. This is to reduce the language server automatically modifying the node_modules directory when the user doesn't want it to. Closes #16510 Closes #16373 --- cli/lsp/diagnostics.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'cli/lsp/diagnostics.rs') diff --git a/cli/lsp/diagnostics.rs b/cli/lsp/diagnostics.rs index 7b5a30a0e..1a57ad03b 100644 --- a/cli/lsp/diagnostics.rs +++ b/cli/lsp/diagnostics.rs @@ -908,10 +908,7 @@ fn diagnose_resolution( { if let Some(npm_resolver) = &snapshot.maybe_npm_resolver { // show diagnostics for npm package references that aren't cached - if npm_resolver - .resolve_pkg_id_from_pkg_req(&pkg_ref.req) - .is_err() - { + if !npm_resolver.is_pkg_req_folder_cached(&pkg_ref.req) { diagnostics .push(DenoDiagnostic::NoCacheNpm(pkg_ref, specifier.clone())); } @@ -925,10 +922,7 @@ fn diagnose_resolution( // check that a @types/node package exists in the resolver let types_node_ref = NpmPackageReqReference::from_str("npm:@types/node").unwrap(); - if npm_resolver - .resolve_pkg_id_from_pkg_req(&types_node_ref.req) - .is_err() - { + if !npm_resolver.is_pkg_req_folder_cached(&types_node_ref.req) { diagnostics.push(DenoDiagnostic::NoCacheNpm( types_node_ref, ModuleSpecifier::parse("npm:@types/node").unwrap(), -- cgit v1.2.3