diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-10-05 16:18:29 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-05 20:18:29 +0000 |
commit | 820e93e3e742a22f010f3200312039c50ae0d63a (patch) | |
tree | cb6c69c2427d7eb88484bafcbc4a61e70522c671 /cli/tsc/mod.rs | |
parent | 7a01799f490739612be27725f1584a995f6b1491 (diff) |
refactor(npm): add referrer when resolving npm package sub path from deno module (#20800)
Adds a `referrer` parameter to this function instead of using a fake
one.
Diffstat (limited to 'cli/tsc/mod.rs')
-rw-r--r-- | cli/tsc/mod.rs | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/cli/tsc/mod.rs b/cli/tsc/mod.rs index c7371e0c5..c08d12e28 100644 --- a/cli/tsc/mod.rs +++ b/cli/tsc/mod.rs @@ -586,7 +586,7 @@ fn op_resolve( let maybe_result = match resolved_dep { Some(ResolutionResolved { specifier, .. }) => { - resolve_graph_specifier_types(specifier, state)? + resolve_graph_specifier_types(specifier, &referrer, state)? } _ => resolve_non_graph_specifier_types(&specifier, &referrer, state)?, }; @@ -629,6 +629,7 @@ fn op_resolve( fn resolve_graph_specifier_types( specifier: &ModuleSpecifier, + referrer: &ModuleSpecifier, state: &State, ) -> Result<Option<(ModuleSpecifier, MediaType)>, AnyError> { let graph = &state.graph; @@ -663,12 +664,14 @@ fn resolve_graph_specifier_types( .as_managed() .unwrap() // should never be byonm because it won't create Module::Npm .resolve_pkg_folder_from_deno_module(module.nv_reference.nv())?; - let maybe_resolution = npm.node_resolver.resolve_npm_reference( - &package_folder, - module.nv_reference.sub_path(), - NodeResolutionMode::Types, - &PermissionsContainer::allow_all(), - )?; + let maybe_resolution = + npm.node_resolver.resolve_package_subpath_from_deno_module( + &package_folder, + module.nv_reference.sub_path(), + referrer, + NodeResolutionMode::Types, + &PermissionsContainer::allow_all(), + )?; Ok(Some(NodeResolution::into_specifier_and_media_type( maybe_resolution, ))) @@ -721,12 +724,14 @@ fn resolve_non_graph_specifier_types( let package_folder = npm .npm_resolver .resolve_pkg_folder_from_deno_module_req(npm_req_ref.req(), referrer)?; - let maybe_resolution = node_resolver.resolve_npm_reference( - &package_folder, - npm_req_ref.sub_path(), - NodeResolutionMode::Types, - &PermissionsContainer::allow_all(), - )?; + let maybe_resolution = node_resolver + .resolve_package_subpath_from_deno_module( + &package_folder, + npm_req_ref.sub_path(), + referrer, + NodeResolutionMode::Types, + &PermissionsContainer::allow_all(), + )?; Ok(Some(NodeResolution::into_specifier_and_media_type( maybe_resolution, ))) |