From 5c7f76c570bc099c4e60b38443194c1890808a7f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Thu, 6 Apr 2023 21:41:19 -0400 Subject: fix(npm): reload an npm package's dependency's information when version not found (#18622) This reloads an npm package's dependency's information when a version/version req/tag is not found. This PR applies only to dependencies of npm packages. It does NOT yet cause npm specifiers to have their dependency information cache busted. That requires a different solution, but this should help cache bust in more scenarios. Part of #16901, but doesn't close it yet --- cli/npm/resolvers/mod.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cli/npm/resolvers/mod.rs') diff --git a/cli/npm/resolvers/mod.rs b/cli/npm/resolvers/mod.rs index c958743dc..a490dbf3f 100644 --- a/cli/npm/resolvers/mod.rs +++ b/cli/npm/resolvers/mod.rs @@ -15,6 +15,7 @@ use deno_core::parking_lot::Mutex; use deno_core::serde_json; use deno_core::url::Url; use deno_npm::resolution::NpmResolutionSnapshot; +use deno_npm::resolution::PackageReqNotFoundError; use deno_npm::NpmPackageId; use deno_runtime::deno_node::NodePermissions; use deno_runtime::deno_node::NodeResolutionMode; @@ -82,14 +83,14 @@ impl NpmPackageResolver { pub fn resolve_pkg_id_from_pkg_req( &self, req: &NpmPackageReq, - ) -> Result { + ) -> Result { self.resolution.resolve_pkg_id_from_pkg_req(req) } pub fn pkg_req_ref_to_nv_ref( &self, req_ref: NpmPackageReqReference, - ) -> Result { + ) -> Result { self.resolution.pkg_req_ref_to_nv_ref(req_ref) } @@ -225,10 +226,8 @@ impl NpmPackageResolver { &self, ) -> Result<(), AnyError> { // add and ensure this isn't added to the lockfile - self - .resolution - .add_package_reqs(vec![NpmPackageReq::from_str("@types/node").unwrap()]) - .await?; + let package_reqs = vec![NpmPackageReq::from_str("@types/node").unwrap()]; + self.resolution.add_package_reqs(package_reqs).await?; self.fs_resolver.cache_packages().await?; Ok(()) -- cgit v1.2.3