summaryrefslogtreecommitdiff
path: root/cli/tools/info.rs
diff options
context:
space:
mode:
authorAnwesh <anweshknayak@gmail.com>2024-01-23 07:12:26 +0530
committerGitHub <noreply@github.com>2024-01-23 01:42:26 +0000
commit706752753d8078288793254f3f2413b2103e6129 (patch)
tree7827c6accb85488b6ac8e4921fb674d97b16a7e9 /cli/tools/info.rs
parent605973159442440cea29fef4c634eac8b3c620f5 (diff)
fix(info): return proper exit code on error (#21952)
Diffstat (limited to 'cli/tools/info.rs')
-rw-r--r--cli/tools/info.rs28
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");
}
}
}