Skip to content

Commit

Permalink
fix(install): Properly handle dist tags when setting up node_modules (#…
Browse files Browse the repository at this point in the history
…24968)

Fixes #24966.
Fixes #24932.
  • Loading branch information
nathanwhit authored Aug 9, 2024
1 parent f474c4f commit 854c7ba
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 3 deletions.
15 changes: 12 additions & 3 deletions cli/npm/managed/resolvers/local.rs
Original file line number Diff line number Diff line change
Expand Up @@ -612,12 +612,21 @@ async fn sync_resolution_with_fs(
// 4. Create symlinks for package json dependencies
{
for remote in pkg_json_deps_provider.remote_pkgs() {
let Some(remote_id) = snapshot
let remote_pkg = if let Ok(remote_pkg) =
snapshot.resolve_pkg_from_pkg_req(&remote.req)
{
remote_pkg
} else if remote.req.version_req.tag().is_some() {
// couldn't find a match, and `resolve_best_package_id`
// panics if you give it a tag
continue;
} else if let Some(remote_id) = snapshot
.resolve_best_package_id(&remote.req.name, &remote.req.version_req)
else {
{
snapshot.package_from_id(&remote_id).unwrap()
} else {
continue; // skip, package not found
};
let remote_pkg = snapshot.package_from_id(&remote_id).unwrap();
let alias_clashes = remote.req.name != remote.alias
&& newest_packages_by_name.contains_key(&remote.alias);
let install_in_child = {
Expand Down
12 changes: 12 additions & 0 deletions tests/specs/install/future_install_node_modules_tag/__test__.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"tempDir": true,
"steps": [
{
"envs": {
"DENO_FUTURE": "1"
},
"args": "install",
"output": "install.out"
}
]
}
20 changes: 20 additions & 0 deletions tests/specs/install/future_install_node_modules_tag/install.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[UNORDERED_START]
Download http://localhost:4260/ajv
Download http://localhost:4260/fast-deep-equal
Download http://localhost:4260/json-schema-traverse
Download http://localhost:4260/require-from-string
Download http://localhost:4260/uri-js
Download http://localhost:4260/punycode
Download http://localhost:4260/ajv/ajv-8.11.0.tgz
Download http://localhost:4260/json-schema-traverse/json-schema-traverse-1.0.0.tgz
Download http://localhost:4260/fast-deep-equal/fast-deep-equal-3.1.3.tgz
Download http://localhost:4260/require-from-string/require-from-string-2.0.2.tgz
Download http://localhost:4260/uri-js/uri-js-4.4.1.tgz
Download http://localhost:4260/punycode/punycode-2.1.1.tgz
Initialize [email protected]
Initialize [email protected]
Initialize [email protected]
Initialize [email protected]
Initialize [email protected]
Initialize [email protected]
[UNORDERED_END]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"dependencies": {
"ajv": "latest"
}
}

0 comments on commit 854c7ba

Please sign in to comment.