summaryrefslogtreecommitdiff
path: root/cli/resolver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/resolver.rs')
-rw-r--r--cli/resolver.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/cli/resolver.rs b/cli/resolver.rs
index 301cd0666..3edc6f429 100644
--- a/cli/resolver.rs
+++ b/cli/resolver.rs
@@ -320,7 +320,12 @@ impl NpmModuleLoader {
let code = if self.cjs_resolutions.contains(specifier) {
// translate cjs to esm if it's cjs and inject node globals
- let code = String::from_utf8(code)?;
+ let code = match String::from_utf8_lossy(&code) {
+ Cow::Owned(code) => code,
+ // SAFETY: `String::from_utf8_lossy` guarantees that the result is valid
+ // UTF-8 if `Cow::Borrowed` is returned.
+ Cow::Borrowed(_) => unsafe { String::from_utf8_unchecked(code) },
+ };
ModuleSourceCode::String(
self
.node_code_translator