diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-06-11 08:55:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-11 08:55:12 -0400 |
commit | 4bc96c5d2ab46ff3ca1af1524c1913c2a5f2745c (patch) | |
tree | 8452947b0267e47c795cadb02d2d1b44b3e40f81 /cli/graph_util.rs | |
parent | 6a356aff1380e79d67738c5b43aa2b5fee76600d (diff) |
fix(npm): resolve dynamic npm imports individually (#24170)
* https://github.com/denoland/deno_npm/pull/57
* https://github.com/denoland/deno_graph/pull/498
Closes https://github.com/denoland/deno/issues/17802
Diffstat (limited to 'cli/graph_util.rs')
-rw-r--r-- | cli/graph_util.rs | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/cli/graph_util.rs b/cli/graph_util.rs index 502702b07..67c179293 100644 --- a/cli/graph_util.rs +++ b/cli/graph_util.rs @@ -160,6 +160,10 @@ pub fn graph_valid( if let Some(error) = errors.next() { Err(error) } else { + // finally surface the npm resolution result + if let Err(err) = &graph.npm_dep_graph_result { + return Err(custom_error(get_error_class_name(err), format!("{}", err))); + } Ok(()) } } @@ -562,30 +566,9 @@ impl ModuleGraphBuilder { let initial_redirects_len = graph.redirects.len(); let initial_package_deps_len = graph.packages.package_deps_sum(); let initial_package_mappings_len = graph.packages.mappings().len(); - let initial_npm_packages = graph.npm_packages.len(); graph.build(roots, loader, options).await; - let has_npm_packages_changed = - graph.npm_packages.len() != initial_npm_packages; - // skip installing npm packages if we don't have to - if is_first_execution - && self.npm_resolver.root_node_modules_path().is_some() - || has_npm_packages_changed - { - if let Some(npm_resolver) = self.npm_resolver.as_managed() { - // ensure that the top level package.json is installed if a - // specifier was matched in the package.json - if self.resolver.found_package_json_dep() { - npm_resolver.ensure_top_level_package_json_install().await?; - } - - // resolve the dependencies of any pending dependencies - // that were inserted by building the graph - npm_resolver.resolve_pending().await?; - } - } - let has_redirects_changed = graph.redirects.len() != initial_redirects_len; let has_jsr_package_deps_changed = graph.packages.package_deps_sum() != initial_package_deps_len; |