diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-11-14 15:24:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 15:24:25 -0500 |
commit | 617350e79c58b6e01984e3d7c7436d243d0e5cff (patch) | |
tree | dadb3c7675d1d49952a30c525bbc6ee3086a78e3 /cli/npm/byonm.rs | |
parent | de34c7ed29bcce8b46a65f5effe45090b8493ba5 (diff) |
refactor(resolver): move more resolution code into deno_resolver (#26873)
Follow-up to cjs refactor.
This moves most of the resolution code into the deno_resolver crate.
Still pending is the npm resolution code.
Diffstat (limited to 'cli/npm/byonm.rs')
-rw-r--r-- | cli/npm/byonm.rs | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/cli/npm/byonm.rs b/cli/npm/byonm.rs index 45fa4cfd1..eca399251 100644 --- a/cli/npm/byonm.rs +++ b/cli/npm/byonm.rs @@ -2,19 +2,17 @@ use std::borrow::Cow; use std::path::Path; -use std::path::PathBuf; use std::sync::Arc; use deno_core::error::AnyError; use deno_core::serde_json; -use deno_core::url::Url; use deno_resolver::npm::ByonmNpmResolver; use deno_resolver::npm::ByonmNpmResolverCreateOptions; +use deno_resolver::npm::CliNpmReqResolver; use deno_runtime::deno_node::DenoFsNodeResolverEnv; use deno_runtime::deno_node::NodePermissions; use deno_runtime::ops::process::NpmProcessStateProvider; -use deno_semver::package::PackageReq; -use node_resolver::NpmResolver; +use node_resolver::NpmPackageFolderResolver; use crate::args::NpmProcessState; use crate::args::NpmProcessStateKind; @@ -22,7 +20,6 @@ use crate::resolver::CliDenoResolverFs; use super::CliNpmResolver; use super::InnerCliNpmResolverRef; -use super::ResolvePkgFolderFromDenoReqError; pub type CliByonmNpmResolverCreateOptions = ByonmNpmResolverCreateOptions<CliDenoResolverFs, DenoFsNodeResolverEnv>; @@ -47,7 +44,13 @@ impl NpmProcessStateProvider for CliByonmWrapper { } impl CliNpmResolver for CliByonmNpmResolver { - fn into_npm_resolver(self: Arc<Self>) -> Arc<dyn NpmResolver> { + fn into_npm_pkg_folder_resolver( + self: Arc<Self>, + ) -> Arc<dyn NpmPackageFolderResolver> { + self + } + + fn into_npm_req_resolver(self: Arc<Self>) -> Arc<dyn CliNpmReqResolver> { self } @@ -57,6 +60,10 @@ impl CliNpmResolver for CliByonmNpmResolver { Arc::new(CliByonmWrapper(self)) } + fn into_maybe_byonm(self: Arc<Self>) -> Option<Arc<CliByonmNpmResolver>> { + Some(self) + } + fn clone_snapshotted(&self) -> Arc<dyn CliNpmResolver> { Arc::new(self.clone()) } @@ -69,17 +76,6 @@ impl CliNpmResolver for CliByonmNpmResolver { self.root_node_modules_dir() } - fn resolve_pkg_folder_from_deno_module_req( - &self, - req: &PackageReq, - referrer: &Url, - ) -> Result<PathBuf, ResolvePkgFolderFromDenoReqError> { - ByonmNpmResolver::resolve_pkg_folder_from_deno_module_req( - self, req, referrer, - ) - .map_err(ResolvePkgFolderFromDenoReqError::Byonm) - } - fn ensure_read_permission<'a>( &self, permissions: &mut dyn NodePermissions, |