summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/node/package_json.rs7
-rw-r--r--ext/node/resolution.rs2
2 files changed, 5 insertions, 4 deletions
diff --git a/ext/node/package_json.rs b/ext/node/package_json.rs
index 9d6a491b5..9ac3a0969 100644
--- a/ext/node/package_json.rs
+++ b/ext/node/package_json.rs
@@ -213,12 +213,13 @@ impl PackageJson {
Ok(package_json)
}
- pub fn main(&self, referrer_kind: NodeModuleKind) -> Option<&String> {
- if referrer_kind == NodeModuleKind::Esm && self.typ == "module" {
+ pub fn main(&self, referrer_kind: NodeModuleKind) -> Option<&str> {
+ let main = if referrer_kind == NodeModuleKind::Esm && self.typ == "module" {
self.module.as_ref().or(self.main.as_ref())
} else {
self.main.as_ref()
- }
+ };
+ main.map(|m| m.trim()).filter(|m| !m.is_empty())
}
pub fn specifier(&self) -> ModuleSpecifier {
diff --git a/ext/node/resolution.rs b/ext/node/resolution.rs
index d878a5059..50c4e2bb5 100644
--- a/ext/node/resolution.rs
+++ b/ext/node/resolution.rs
@@ -1232,7 +1232,7 @@ impl NodeResolver {
) -> Result<Option<ModuleSpecifier>, AnyError> {
let maybe_main = if mode.is_types() {
match package_json.types.as_ref() {
- Some(types) => Some(types),
+ Some(types) => Some(types.as_str()),
None => {
// fallback to checking the main entrypoint for
// a corresponding declaration file