diff options
author | Anwesh <anweshknayak@gmail.com> | 2024-01-23 07:12:26 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-23 01:42:26 +0000 |
commit | 706752753d8078288793254f3f2413b2103e6129 (patch) | |
tree | 7827c6accb85488b6ac8e4921fb674d97b16a7e9 /cli/tools/info.rs | |
parent | 605973159442440cea29fef4c634eac8b3c620f5 (diff) |
fix(info): return proper exit code on error (#21952)
Diffstat (limited to 'cli/tools/info.rs')
-rw-r--r-- | cli/tools/info.rs | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/cli/tools/info.rs b/cli/tools/info.rs index de867c61c..2234c783d 100644 --- a/cli/tools/info.rs +++ b/cli/tools/info.rs @@ -6,6 +6,7 @@ use std::fmt; use std::fmt::Write; use deno_ast::ModuleSpecifier; +use deno_core::anyhow::bail; use deno_core::error::AnyError; use deno_core::resolve_url_or_path; use deno_core::serde_json; @@ -405,7 +406,7 @@ impl<'a> GraphDisplayContext<'a> { graph: &'a ModuleGraph, npm_resolver: &'a dyn CliNpmResolver, writer: &mut TWrite, - ) -> fmt::Result { + ) -> Result<(), AnyError> { let npm_info = match npm_resolver.as_managed() { Some(npm_resolver) => { let npm_snapshot = npm_resolver.snapshot(); @@ -421,13 +422,12 @@ impl<'a> GraphDisplayContext<'a> { .into_writer(writer) } - fn into_writer<TWrite: Write>(mut self, writer: &mut TWrite) -> fmt::Result { + fn into_writer<TWrite: Write>( + mut self, + writer: &mut TWrite, + ) -> Result<(), AnyError> { if self.graph.roots.is_empty() || self.graph.roots.len() > 1 { - return writeln!( - writer, - "{} displaying graphs that have multiple roots is not supported.", - colors::red("error:") - ); + bail!("displaying graphs that have multiple roots is not supported."); } let root_specifier = self.graph.resolve(&self.graph.roots[0]); @@ -508,21 +508,13 @@ impl<'a> GraphDisplayContext<'a> { } Err(err) => { if let ModuleError::Missing(_, _) = *err { - writeln!( - writer, - "{} module could not be found", - colors::red("error:") - ) + bail!("module could not be found"); } else { - writeln!(writer, "{} {:#}", colors::red("error:"), err) + bail!("{:#}", err); } } Ok(None) => { - writeln!( - writer, - "{} an internal error occurred", - colors::red("error:") - ) + bail!("an internal error occurred"); } } } |