diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-02-23 17:20:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 23:20:23 +0100 |
commit | e57b38f8b216bc8c0c1c22c10ab5c9ce2560c58a (patch) | |
tree | a83e2dfd1c2b0af6bfbd68e3e54b0078a1915366 /cli/lsp/language_server.rs | |
parent | da781280b8422b4116473b366fb7d207909a31da (diff) |
fix(npm): allow resolving from package.json when an import map exists (#17905)
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index dfbb9c2e1..ee91e045b 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -811,7 +811,6 @@ impl Inner { fn update_config_file(&mut self) -> Result<(), AnyError> { self.maybe_config_file = None; - self.maybe_package_json = None; self.fmt_options = Default::default(); self.lint_options = Default::default(); @@ -1205,7 +1204,7 @@ impl Inner { .map(|f| self.url_map.normalize_url(&f.uri)) .collect(); - // if the current tsconfig has changed, we need to reload it + // if the current deno.json has changed, we need to reload it if let Some(config_file) = &self.maybe_config_file { if changes.contains(&config_file.specifier) { if let Err(err) = self.update_config_file() { @@ -1218,17 +1217,18 @@ impl Inner { } } if let Some(package_json) = &self.maybe_package_json { - if changes.contains(&package_json.specifier()) { + // always update the package json if the deno config changes + if touched || changes.contains(&package_json.specifier()) { if let Err(err) = self.update_package_json() { self.client.show_message(MessageType::WARNING, err).await; } touched = true; } } - // if the current import map, or config file has changed, we need to reload + // if the current import map, or config file has changed, we need to // reload the import map if let Some(import_map_uri) = &self.maybe_import_map_uri { - if changes.contains(import_map_uri) || touched { + if touched || changes.contains(import_map_uri) { if let Err(err) = self.update_import_map().await { self.client.show_message(MessageType::WARNING, err).await; } |