diff options
Diffstat (limited to 'cli/npm/managed')
-rw-r--r-- | cli/npm/managed/mod.rs | 12 | ||||
-rw-r--r-- | cli/npm/managed/resolvers/common.rs | 2 | ||||
-rw-r--r-- | cli/npm/managed/resolvers/global.rs | 2 | ||||
-rw-r--r-- | cli/npm/managed/resolvers/local.rs | 15 |
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> { |