Skip to content

Commit

Permalink
Support node: prefix for CJS dependencies (#9244)
Browse files Browse the repository at this point in the history
  • Loading branch information
mischnic authored Sep 14, 2023
1 parent d095514 commit 3d7a353
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
12 changes: 12 additions & 0 deletions packages/utils/node-resolver-rs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2297,6 +2297,18 @@ mod tests {
.0,
Resolution::Builtin("zlib".into())
);
assert_eq!(
test_resolver()
.resolve(
"node:fs/promises",
&root().join("foo.js"),
SpecifierType::Cjs
)
.result
.unwrap()
.0,
Resolution::Builtin("fs/promises".into())
);
}

#[test]
Expand Down
5 changes: 3 additions & 2 deletions packages/utils/node-resolver-rs/src/specifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,9 @@ impl<'a> Specifier<'a> {
}
}
SpecifierType::Cjs => {
if BUILTINS.contains(&specifier) {
(Specifier::Builtin(Cow::Borrowed(specifier)), None)
let builtin = specifier.strip_prefix("node:").unwrap_or(specifier);
if BUILTINS.contains(&builtin) {
(Specifier::Builtin(Cow::Borrowed(builtin)), None)
} else {
#[cfg(windows)]
if !flags.contains(Flags::ABSOLUTE_SPECIFIERS) {
Expand Down

0 comments on commit 3d7a353

Please sign in to comment.