diff options
-rw-r--r-- | src/js_errors.rs | 35 | ||||
-rw-r--r-- | tests/error_004_missing_module.ts.out | 3 | ||||
-rw-r--r-- | tests/error_006_import_ext_failure.ts.out | 3 |
3 files changed, 23 insertions, 18 deletions
diff --git a/src/js_errors.rs b/src/js_errors.rs index fae649609..905dcefbd 100644 --- a/src/js_errors.rs +++ b/src/js_errors.rs @@ -75,28 +75,31 @@ impl ToString for StackFrame { impl ToString for JSError { fn to_string(&self) -> String { - // TODO use fewer clones. // TODO Improve the formatting of these error messages. let mut s = String::new(); if self.script_resource_name.is_some() { - s.push_str(&self.script_resource_name.clone().unwrap()); - } - if self.line_number.is_some() { - s.push_str(&format!( - ":{}:{}", - self.line_number.unwrap(), - self.start_column.unwrap() - )); - assert!(self.start_column.is_some()); - } - if self.source_line.is_some() { - s.push_str("\n"); - s.push_str(&self.source_line.clone().unwrap()); - s.push_str("\n\n"); + let script_resource_name = self.script_resource_name.as_ref().unwrap(); + // Avoid showing internal code from gen/bundle/main.js + if script_resource_name != "gen/bundle/main.js" { + s.push_str(script_resource_name); + if self.line_number.is_some() { + s.push_str(&format!( + ":{}:{}", + self.line_number.unwrap(), + self.start_column.unwrap() + )); + assert!(self.start_column.is_some()); + } + if self.source_line.is_some() { + s.push_str("\n"); + s.push_str(self.source_line.as_ref().unwrap()); + s.push_str("\n\n"); + } + } } - s.push_str(&self.message.clone()); + s.push_str(&self.message); for frame in &self.frames { s.push_str("\n"); diff --git a/tests/error_004_missing_module.ts.out b/tests/error_004_missing_module.ts.out index ab15ed8e0..2e91f012e 100644 --- a/tests/error_004_missing_module.ts.out +++ b/tests/error_004_missing_module.ts.out @@ -1,4 +1,5 @@ -[WILDCARD]NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]/tests/error_004_missing_module.ts" +Compiling [WILDCARD]tests/error_004_missing_module.ts +NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]/tests/error_004_missing_module.ts" at DenoError ([WILDCARD]/js/errors.ts:[WILDCARD]) at maybeError ([WILDCARD]/js/errors.ts:[WILDCARD]) at maybeThrowError ([WILDCARD]/js/errors.ts:[WILDCARD]) diff --git a/tests/error_006_import_ext_failure.ts.out b/tests/error_006_import_ext_failure.ts.out index 59fa463c5..316ebcfd2 100644 --- a/tests/error_006_import_ext_failure.ts.out +++ b/tests/error_006_import_ext_failure.ts.out @@ -1,4 +1,5 @@ -[WILDCARD]NotFound: Cannot resolve module "./non-existent" from "[WILDCARD]/tests/error_006_import_ext_failure.ts" +Compiling [WILDCARD]tests/error_006_import_ext_failure.ts +NotFound: Cannot resolve module "./non-existent" from "[WILDCARD]/tests/error_006_import_ext_failure.ts" at DenoError ([WILDCARD]/js/errors.ts:[WILDCARD]) at maybeError ([WILDCARD]/js/errors.ts:[WILDCARD]) at maybeThrowError ([WILDCARD]/js/errors.ts:[WILDCARD]) |