diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-05-23 22:26:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-23 23:26:23 +0200 |
commit | 959739f609dddacde3bbe9ecede2f409214fb34c (patch) | |
tree | 04d1776efbd3561205829f78288d26b6e14c3429 /cli/npm/managed/resolvers/global.rs | |
parent | 5de30c53239ac74843725d981afc0bb8c45bdf16 (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.rs | 51 |
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(®istry_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( - ©.get_package_cache_folder_id(), - &self.registry_url, - )?; + self + .cache + .ensure_copy_package(©.get_package_cache_folder_id())?; } Ok(()) |