diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-04-01 02:07:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-01 07:07:11 +0100 |
commit | 8698492128310f713993bb115985d41d3fdca2db (patch) | |
tree | 8d278c37c815eae7e816f7dc10fc51c1d5c2ec4e /ext/node/package_json.rs | |
parent | b8af46e0075f659f4e373e249b0f19b3cb0f62a9 (diff) |
fix(node): handle empty 'main' entry in pkg json (#23155)
Diffstat (limited to 'ext/node/package_json.rs')
-rw-r--r-- | ext/node/package_json.rs | 7 |
1 files changed, 4 insertions, 3 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 { |