Skip to content

Commit 9e4525e

Browse files
committed
fix
1 parent 310c585 commit 9e4525e

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

crates/node_binding/src/error.rs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ impl napi::bindgen_prelude::ToNapiValue for RspackError {
9696
if let Some(module) = module {
9797
obj.set("moduleIdentifier", module.identifier().as_str())?;
9898
obj.set("module", module)?;
99-
}
99+
} else if let Some(identifier) = module_identifier {
100+
obj.set("moduleIdentifier", identifier.as_str())?;
101+
};
100102
if let Some(loc) = loc {
101103
obj.set("loc", ToNapiValue::to_napi_value(env, loc)?)?;
102104
}
@@ -164,6 +166,14 @@ impl napi::bindgen_prelude::FromNapiValue for RspackError {
164166
)
165167
})?;
166168
let module = obj.get::<ModuleObject>("module").unwrap_or(None);
169+
let module_identifier = if let Some(module) = &module {
170+
Some(module.identifier())
171+
} else {
172+
obj
173+
.get::<String>("moduleIdentifier")
174+
.unwrap_or(None)
175+
.map(Into::into)
176+
};
167177
let file = obj.get::<String>("file").unwrap_or(None);
168178
let stack = obj.get::<String>("stack").unwrap_or(None);
169179
let hide_stack = obj.get::<bool>("hideStack").unwrap_or(None);
@@ -172,7 +182,7 @@ impl napi::bindgen_prelude::FromNapiValue for RspackError {
172182
name,
173183
message,
174184
severity: None,
175-
module_identifier: module.as_ref().map(|m| m.identifier()),
185+
module_identifier,
176186
// TODO: Currently, Rspack does not handle `loc` from JavaScript very well.
177187
loc: None,
178188
file,
@@ -268,7 +278,10 @@ impl RspackError {
268278
pub fn into_diagnostic(mut self, severity: RspackSeverity) -> Diagnostic {
269279
self.severity = Some(severity.into());
270280
let file = self.file.clone();
271-
let module_identifier = self.module.as_ref().map(|module| module.identifier());
281+
let mut module_identifier = self.module.as_ref().map(|module| module.identifier());
282+
if module_identifier.is_none() {
283+
module_identifier = self.module_identifier;
284+
}
272285
let stack = self.stack.clone();
273286
let hide_stack = self.hide_stack;
274287

0 commit comments

Comments
 (0)