summaryrefslogtreecommitdiff
path: root/cli/npm
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-04-12 18:04:45 -0400
committerGitHub <noreply@github.com>2023-04-12 18:04:45 -0400
commit17e4782140a602043c4f92e643c1908c521ae017 (patch)
treec9e3cc979bbde41aec9c2615ee5d13a7d6784aab /cli/npm
parenta3c5193a2e7d15bbfac390b220982561376e7322 (diff)
fix(npm): eagerly reload package information when version from lockfile not found locally (#18673)
Closes #18624
Diffstat (limited to 'cli/npm')
-rw-r--r--cli/npm/installer.rs1
-rw-r--r--cli/npm/registry.rs7
2 files changed, 6 insertions, 2 deletions
diff --git a/cli/npm/installer.rs b/cli/npm/installer.rs
index 5a15494ab..9e5fcc4c3 100644
--- a/cli/npm/installer.rs
+++ b/cli/npm/installer.rs
@@ -104,7 +104,6 @@ impl PackageJsonDepsInstaller {
if inner.npm_registry_api.mark_force_reload() {
log::debug!("Failed to resolve package. Retrying. Error: {err:#}");
// re-initialize
- inner.npm_registry_api.clear_memory_cache();
reqs_with_info_futures = inner.reqs_with_info_futures();
} else {
return Err(err.into());
diff --git a/cli/npm/registry.rs b/cli/npm/registry.rs
index b38cfa898..798cb17dd 100644
--- a/cli/npm/registry.rs
+++ b/cli/npm/registry.rs
@@ -112,7 +112,12 @@ impl CliNpmRegistryApi {
) {
return false;
}
- self.inner().force_reload_flag.raise()
+ if self.inner().force_reload_flag.raise() {
+ self.clear_memory_cache(); // clear the memory cache to force reloading
+ true
+ } else {
+ false
+ }
}
fn inner(&self) -> &Arc<CliNpmRegistryApiInner> {