summaryrefslogtreecommitdiff
path: root/cli/npm/managed/resolvers/global.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-05-23 22:26:23 +0100
committerGitHub <noreply@github.com>2024-05-23 23:26:23 +0200
commit959739f609dddacde3bbe9ecede2f409214fb34c (patch)
tree04d1776efbd3561205829f78288d26b6e14c3429 /cli/npm/managed/resolvers/global.rs
parent5de30c53239ac74843725d981afc0bb8c45bdf16 (diff)
FUTURE: initial support for .npmrc file (#23560)
This commit adds initial support for ".npmrc" files. Currently we only discover ".npmrc" files next to "package.json" files and discovering these files in user home dir is left for a follow up. This pass supports "_authToken" and "_auth" configuration for providing authentication. LSP support has been left for a follow up PR. Towards https://github.com/denoland/deno/issues/16105
Diffstat (limited to 'cli/npm/managed/resolvers/global.rs')
-rw-r--r--cli/npm/managed/resolvers/global.rs51
1 files changed, 10 insertions, 41 deletions
diff --git a/cli/npm/managed/resolvers/global.rs b/cli/npm/managed/resolvers/global.rs
index 4b3c9d613..cfc57e591 100644
--- a/cli/npm/managed/resolvers/global.rs
+++ b/cli/npm/managed/resolvers/global.rs
@@ -32,7 +32,6 @@ use super::common::RegistryReadPermissionChecker;
pub struct GlobalNpmPackageResolver {
cache: Arc<NpmCache>,
resolution: Arc<NpmResolution>,
- registry_url: Url,
system_info: NpmSystemInfo,
registry_read_permission_checker: RegistryReadPermissionChecker,
}
@@ -41,18 +40,16 @@ impl GlobalNpmPackageResolver {
pub fn new(
fs: Arc<dyn FileSystem>,
cache: Arc<NpmCache>,
- registry_url: Url,
resolution: Arc<NpmResolution>,
system_info: NpmSystemInfo,
) -> Self {
Self {
cache: cache.clone(),
resolution,
- registry_url: registry_url.clone(),
system_info,
registry_read_permission_checker: RegistryReadPermissionChecker::new(
fs,
- cache.registry_folder(&registry_url),
+ cache.root_folder(),
),
}
}
@@ -84,11 +81,7 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
.resolution
.resolve_pkg_cache_folder_id_from_pkg_id(id)
.unwrap();
- Ok(
- self
- .cache
- .package_folder_for_id(&folder_id, &self.registry_url),
- )
+ Ok(self.cache.package_folder_for_id(&folder_id))
}
fn resolve_package_folder_from_package(
@@ -99,7 +92,7 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
) -> Result<PathBuf, AnyError> {
let Some(referrer_pkg_id) = self
.cache
- .resolve_package_folder_id_from_specifier(referrer, &self.registry_url)
+ .resolve_package_folder_id_from_specifier(referrer)
else {
bail!("could not find npm package for '{}'", referrer);
};
@@ -119,32 +112,14 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
self.package_folder(&pkg.id)
}
- fn resolve_package_folder_from_specifier(
- &self,
- specifier: &ModuleSpecifier,
- ) -> Result<Option<PathBuf>, AnyError> {
- let Some(pkg_folder_id) = self
- .cache
- .resolve_package_folder_id_from_specifier(specifier, &self.registry_url)
- else {
- return Ok(None);
- };
- Ok(Some(
- self
- .cache
- .package_folder_for_id(&pkg_folder_id, &self.registry_url),
- ))
- }
-
fn resolve_package_cache_folder_id_from_specifier(
&self,
specifier: &ModuleSpecifier,
) -> Result<Option<NpmPackageCacheFolderId>, AnyError> {
Ok(
- self.cache.resolve_package_folder_id_from_specifier(
- specifier,
- &self.registry_url,
- ),
+ self
+ .cache
+ .resolve_package_folder_id_from_specifier(specifier),
)
}
@@ -153,19 +128,13 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
.resolution
.all_system_packages_partitioned(&self.system_info);
- cache_packages(
- package_partitions.packages,
- &self.cache,
- &self.registry_url,
- )
- .await?;
+ cache_packages(package_partitions.packages, &self.cache).await?;
// create the copy package folders
for copy in package_partitions.copy_packages {
- self.cache.ensure_copy_package(
- &copy.get_package_cache_folder_id(),
- &self.registry_url,
- )?;
+ self
+ .cache
+ .ensure_copy_package(&copy.get_package_cache_folder_id())?;
}
Ok(())