Skip to content

Commit e591b67

Browse files
committed
fix: handle installing packages under organizations
1 parent 1716e10 commit e591b67

File tree

2 files changed

+8
-22
lines changed

2 files changed

+8
-22
lines changed

crates/registry/src/lib.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
mod error;
22
mod http_client;
33
mod package;
4-
mod package_name;
54

65
use std::{
76
collections::HashMap,
@@ -49,7 +48,7 @@ impl RegistryManager {
4948
let dependency_store_folder_name =
5049
get_package_store_folder_name(name, &latest_version.version.to_string());
5150

52-
let save_path =
51+
let mut save_path =
5352
self.store_path.join(dependency_store_folder_name).join("node_modules").join(name);
5453
let symlink_to = self.node_modules_path.join(name);
5554

@@ -67,15 +66,17 @@ impl RegistryManager {
6766
all_dependencies.extend(deps);
6867
}
6968

70-
// TODO: Enable installing dev_dependencies as well.
71-
// if let Some(dev_dependencies) = &latest_version.dev_dependencies {
72-
// all_dependencies.extend(dev_dependencies);
73-
// }
69+
// If package is under an organization such as @fastify/error
70+
// We need to go 2 folders to find the correct node_modules folder.
71+
// For example symlink_path should be node_modules for node_modules/@fastify/error.
72+
if name.contains('/') {
73+
save_path = save_path.parent().unwrap().to_path_buf();
74+
}
7475

7576
join_all(
7677
all_dependencies
7778
.into_iter()
78-
.map(|(name, version)| self.add_package(name, version, save_path.parent().unwrap()))
79+
.map(|(name, version)| self.add_package(name, version, &save_path))
7980
.collect::<Vec<_>>(),
8081
)
8182
.await;

crates/registry/src/package_name.rs

-15
This file was deleted.

0 commit comments

Comments
 (0)