summaryrefslogtreecommitdiff
path: root/cli/npm/managed
diff options
context:
space:
mode:
Diffstat (limited to 'cli/npm/managed')
-rw-r--r--cli/npm/managed/mod.rs12
-rw-r--r--cli/npm/managed/resolvers/common.rs2
-rw-r--r--cli/npm/managed/resolvers/global.rs2
-rw-r--r--cli/npm/managed/resolvers/local.rs15
4 files changed, 11 insertions, 20 deletions
diff --git a/cli/npm/managed/mod.rs b/cli/npm/managed/mod.rs
index 6cf7e6a32..ba2278045 100644
--- a/cli/npm/managed/mod.rs
+++ b/cli/npm/managed/mod.rs
@@ -288,12 +288,8 @@ impl ManagedCliNpmResolver {
pkg_id: &NpmPackageId,
) -> Result<PathBuf, AnyError> {
let path = self.fs_resolver.package_folder(pkg_id)?;
- let path = canonicalize_path_maybe_not_exists_with_fs(&path, |path| {
- self
- .fs
- .realpath_sync(path)
- .map_err(|err| err.into_io_error())
- })?;
+ let path =
+ canonicalize_path_maybe_not_exists_with_fs(&path, self.fs.as_ref())?;
log::debug!(
"Resolved package folder of {} to {}",
pkg_id.as_serialized(),
@@ -560,7 +556,7 @@ impl CliNpmResolver for ManagedCliNpmResolver {
&self.progress_bar,
self.api.base_url().clone(),
npm_resolution,
- self.root_node_modules_path(),
+ self.root_node_modules_path().map(ToOwned::to_owned),
self.npm_system_info.clone(),
),
self.global_npm_cache.clone(),
@@ -575,7 +571,7 @@ impl CliNpmResolver for ManagedCliNpmResolver {
InnerCliNpmResolverRef::Managed(self)
}
- fn root_node_modules_path(&self) -> Option<PathBuf> {
+ fn root_node_modules_path(&self) -> Option<&PathBuf> {
self.fs_resolver.node_modules_path()
}
diff --git a/cli/npm/managed/resolvers/common.rs b/cli/npm/managed/resolvers/common.rs
index 41b5d8a96..9fc5893fc 100644
--- a/cli/npm/managed/resolvers/common.rs
+++ b/cli/npm/managed/resolvers/common.rs
@@ -29,7 +29,7 @@ pub trait NpmPackageFsResolver: Send + Sync {
fn root_dir_url(&self) -> &Url;
/// The local node_modules folder if it is applicable to the implementation.
- fn node_modules_path(&self) -> Option<PathBuf>;
+ fn node_modules_path(&self) -> Option<&PathBuf>;
fn package_folder(
&self,
diff --git a/cli/npm/managed/resolvers/global.rs b/cli/npm/managed/resolvers/global.rs
index 7a51cead2..e62d9021c 100644
--- a/cli/npm/managed/resolvers/global.rs
+++ b/cli/npm/managed/resolvers/global.rs
@@ -75,7 +75,7 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
self.cache.root_dir_url()
}
- fn node_modules_path(&self) -> Option<PathBuf> {
+ fn node_modules_path(&self) -> Option<&PathBuf> {
None
}
diff --git a/cli/npm/managed/resolvers/local.rs b/cli/npm/managed/resolvers/local.rs
index a4a8550f1..4051c9c31 100644
--- a/cli/npm/managed/resolvers/local.rs
+++ b/cli/npm/managed/resolvers/local.rs
@@ -122,14 +122,9 @@ impl LocalNpmPackageResolver {
};
// Canonicalize the path so it's not pointing to the symlinked directory
// in `node_modules` directory of the referrer.
- canonicalize_path_maybe_not_exists_with_fs(&path, |path| {
- self
- .fs
- .realpath_sync(path)
- .map_err(|err| err.into_io_error())
- })
- .map(Some)
- .map_err(|err| err.into())
+ canonicalize_path_maybe_not_exists_with_fs(&path, self.fs.as_ref())
+ .map(Some)
+ .map_err(|err| err.into())
}
}
@@ -139,8 +134,8 @@ impl NpmPackageFsResolver for LocalNpmPackageResolver {
&self.root_node_modules_url
}
- fn node_modules_path(&self) -> Option<PathBuf> {
- Some(self.root_node_modules_path.clone())
+ fn node_modules_path(&self) -> Option<&PathBuf> {
+ Some(&self.root_node_modules_path)
}
fn package_folder(&self, id: &NpmPackageId) -> Result<PathBuf, AnyError> {