summaryrefslogtreecommitdiff
path: root/cli/standalone
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-07-23 20:22:24 -0400
committerGitHub <noreply@github.com>2024-07-24 00:22:24 +0000
commit52ababc4bf948904092cff54c2ab8b91f6b9b443 (patch)
tree77dc2fe4a9eb79ce893e1593822df4de1f564260 /cli/standalone
parent445e05a39d005eab6f7d2f1f67a7ae2d7c85b1b3 (diff)
fix(node): better detection for when to surface node resolution errors (#24653)
Diffstat (limited to 'cli/standalone')
-rw-r--r--cli/standalone/mod.rs25
1 files changed, 11 insertions, 14 deletions
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs
index 74586c1be..561c99c98 100644
--- a/cli/standalone/mod.rs
+++ b/cli/standalone/mod.rs
@@ -151,15 +151,14 @@ impl ModuleLoader for EmbeddedModuleLoader {
})?
};
- if let Some(result) = self.shared.node_resolver.resolve_if_in_npm_package(
- specifier,
- &referrer,
- NodeResolutionMode::Execution,
- ) {
- return match result? {
- Some(res) => Ok(res.into_url()),
- None => Err(generic_error("not found")),
- };
+ if self.shared.node_resolver.in_npm_package(&referrer) {
+ return Ok(
+ self
+ .shared
+ .node_resolver
+ .resolve(specifier, &referrer, NodeResolutionMode::Execution)?
+ .into_url(),
+ );
}
let mapped_resolution =
@@ -250,14 +249,12 @@ impl ModuleLoader for EmbeddedModuleLoader {
Err(err)
if err.is_unmapped_bare_specifier() && referrer.scheme() == "file" =>
{
- // todo(dsherret): return a better error from node resolution so that
- // we can more easily tell whether to surface it or not
- let node_result = self.shared.node_resolver.resolve(
+ let maybe_res = self.shared.node_resolver.resolve_if_for_npm_pkg(
specifier,
&referrer,
NodeResolutionMode::Execution,
- );
- if let Ok(Some(res)) = node_result {
+ )?;
+ if let Some(res) = maybe_res {
return Ok(res.into_url());
}
Err(err.into())