summaryrefslogtreecommitdiff
path: root/cli/graph_util.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-09-30 15:46:43 -0400
committerGitHub <noreply@github.com>2024-09-30 19:46:43 +0000
commitd7b787792c09569bd718d9acf2d2b73ae406828c (patch)
treeb09fa58618fcd1ee9849437e9a43059a5daa0acd /cli/graph_util.rs
parentc5c18699921cd45021f8c130eecdc09099c26878 (diff)
fix(info): error instead of panic for npm specifiers when using byonm (#25947)
Diffstat (limited to 'cli/graph_util.rs')
-rw-r--r--cli/graph_util.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/cli/graph_util.rs b/cli/graph_util.rs
index f7194ac11..e2f6246e7 100644
--- a/cli/graph_util.rs
+++ b/cli/graph_util.rs
@@ -21,6 +21,7 @@ use crate::tools::check::TypeChecker;
use crate::util::file_watcher::WatcherCommunicator;
use crate::util::fs::canonicalize_path;
use deno_config::workspace::JsrPackageConfig;
+use deno_core::anyhow::bail;
use deno_graph::source::LoaderChecksum;
use deno_graph::FillFromLockfileOptions;
use deno_graph::JsrLoadError;
@@ -593,6 +594,12 @@ impl ModuleGraphBuilder {
let initial_package_deps_len = graph.packages.package_deps_sum();
let initial_package_mappings_len = graph.packages.mappings().len();
+ if roots.iter().any(|r| r.scheme() == "npm")
+ && self.npm_resolver.as_byonm().is_some()
+ {
+ bail!("Resolving npm specifier entrypoints this way is currently not supported with \"nodeModules\": \"manual\". In the meantime, try with --node-modules-dir=auto instead");
+ }
+
graph.build(roots, loader, options).await;
let has_redirects_changed = graph.redirects.len() != initial_redirects_len;