summaryrefslogtreecommitdiff
path: root/cli/node/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/node/mod.rs')
-rw-r--r--cli/node/mod.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/cli/node/mod.rs b/cli/node/mod.rs
index 8f0f0ef6d..fc4db33ee 100644
--- a/cli/node/mod.rs
+++ b/cli/node/mod.rs
@@ -703,20 +703,25 @@ pub fn url_to_node_resolution(
npm_resolver: &dyn RequireNpmResolver,
) -> Result<NodeResolution, AnyError> {
let url_str = url.as_str().to_lowercase();
- Ok(if url_str.starts_with("http") {
- NodeResolution::Esm(url)
+ if url_str.starts_with("http") {
+ Ok(NodeResolution::Esm(url))
} else if url_str.ends_with(".js") || url_str.ends_with(".d.ts") {
let package_config = get_closest_package_json(&url, npm_resolver)?;
if package_config.typ == "module" {
- NodeResolution::Esm(url)
+ Ok(NodeResolution::Esm(url))
} else {
- NodeResolution::CommonJs(url)
+ Ok(NodeResolution::CommonJs(url))
}
} else if url_str.ends_with(".mjs") || url_str.ends_with(".d.mts") {
- NodeResolution::Esm(url)
+ Ok(NodeResolution::Esm(url))
+ } else if url_str.ends_with(".ts") {
+ Err(generic_error(format!(
+ "TypeScript files are not supported in npm packages: {}",
+ url
+ )))
} else {
- NodeResolution::CommonJs(url)
- })
+ Ok(NodeResolution::CommonJs(url))
+ }
}
fn finalize_resolution(