diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-10-02 17:53:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-02 17:53:55 -0400 |
commit | 148694eb351ea3f733852b7786a3268617811e27 (patch) | |
tree | 0390f1dcf7bb9b013a5bf47b0b9b4ea9689ba1b5 /cli/lsp/analysis.rs | |
parent | d5b6c636b09823bfaa97fe8cd382b654d85d2add (diff) |
refactor(npm): make `NpmCache`, `CliNpmRegistryApi`, and `NpmResolution` internal to `npm::managed` (#20764)
Diffstat (limited to 'cli/lsp/analysis.rs')
-rw-r--r-- | cli/lsp/analysis.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs index 8b2560f16..6515e7dc0 100644 --- a/cli/lsp/analysis.rs +++ b/cli/lsp/analysis.rs @@ -161,14 +161,14 @@ fn code_as_string(code: &Option<lsp::NumberOrString>) -> String { pub struct TsResponseImportMapper<'a> { documents: &'a Documents, maybe_import_map: Option<&'a ImportMap>, - npm_resolver: &'a dyn CliNpmResolver, + npm_resolver: Option<&'a dyn CliNpmResolver>, } impl<'a> TsResponseImportMapper<'a> { pub fn new( documents: &'a Documents, maybe_import_map: Option<&'a ImportMap>, - npm_resolver: &'a dyn CliNpmResolver, + npm_resolver: Option<&'a dyn CliNpmResolver>, ) -> Self { Self { documents, @@ -194,7 +194,9 @@ impl<'a> TsResponseImportMapper<'a> { } } - if let Some(npm_resolver) = self.npm_resolver.as_managed() { + if let Some(npm_resolver) = + self.npm_resolver.as_ref().and_then(|r| r.as_managed()) + { if npm_resolver.in_npm_package(specifier) { if let Ok(Some(pkg_id)) = npm_resolver.resolve_pkg_id_from_specifier(specifier) @@ -250,8 +252,8 @@ impl<'a> TsResponseImportMapper<'a> { let specifier_path = specifier.to_file_path().ok()?; let root_folder = self .npm_resolver - .resolve_pkg_folder_from_specifier(specifier) - .ok() + .as_ref() + .and_then(|r| r.resolve_pkg_folder_from_specifier(specifier).ok()) .flatten()?; let package_json_path = root_folder.join("package.json"); let package_json_text = std::fs::read_to_string(&package_json_path).ok()?; |