summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-02-23 17:20:23 -0500
committerGitHub <noreply@github.com>2023-02-23 23:20:23 +0100
commite57b38f8b216bc8c0c1c22c10ab5c9ce2560c58a (patch)
treea83e2dfd1c2b0af6bfbd68e3e54b0078a1915366 /cli/lsp/language_server.rs
parentda781280b8422b4116473b366fb7d207909a31da (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.rs10
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;
}