diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-02-21 12:03:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-21 12:03:48 -0500 |
commit | 3479bc76613761cf31f7557d482e691274c365f1 (patch) | |
tree | cd608c4206d61cde4141ea3ecfe5f4ef285b1d80 /cli/worker.rs | |
parent | 608c855f1166e0ed76762fd9afd00bb52cc65032 (diff) |
fix(npm): improve peer dependency resolution (#17835)
This PR fixes peer dependency resolution to only resolve peers based on
the current graph traversal path. Previously, it would resolve a peers
by looking at a graph node's ancestors, which is not correct because
graph nodes are shared by different resolutions.
It also stores more information about peer dependency resolution in the
lockfile.
Diffstat (limited to 'cli/worker.rs')
-rw-r--r-- | cli/worker.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index 7293183bf..9a89c8060 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -14,7 +14,7 @@ use deno_core::serde_v8; use deno_core::v8; use deno_core::Extension; use deno_core::ModuleId; -use deno_graph::npm::NpmPackageReference; +use deno_graph::npm::NpmPackageReqReference; use deno_runtime::colors; use deno_runtime::deno_node; use deno_runtime::fmt_errors::format_js_error; @@ -308,7 +308,7 @@ impl CliMainWorker { ) .await?; if let DenoSubcommand::Run(flags) = self.ps.options.sub_command() { - if let Ok(pkg_ref) = NpmPackageReference::from_str(&flags.script) { + if let Ok(pkg_ref) = NpmPackageReqReference::from_str(&flags.script) { // if the user ran a binary command, we'll need to set process.argv[0] // to be the name of the binary command instead of deno let binary_name = pkg_ref @@ -443,7 +443,7 @@ async fn create_main_worker_internal( bench_or_test: bool, ) -> Result<CliMainWorker, AnyError> { let (main_module, is_main_cjs) = if let Ok(package_ref) = - NpmPackageReference::from_specifier(&main_module) + NpmPackageReqReference::from_specifier(&main_module) { ps.npm_resolver .add_package_reqs(vec![package_ref.req.clone()]) |