summaryrefslogtreecommitdiff
path: root/cli/graph_util.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-06-11 08:55:12 -0400
committerGitHub <noreply@github.com>2024-06-11 08:55:12 -0400
commit4bc96c5d2ab46ff3ca1af1524c1913c2a5f2745c (patch)
tree8452947b0267e47c795cadb02d2d1b44b3e40f81 /cli/graph_util.rs
parent6a356aff1380e79d67738c5b43aa2b5fee76600d (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.rs25
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;