From 7d6b2deb4727ad41ba4e7fdcf905b41eb62b5252 Mon Sep 17 00:00:00 2001 From: Devon Stewart Date: Tue, 7 Oct 2025 17:48:02 -0700 Subject: [PATCH 1/2] graph: --graph=foo.dot should not require graphviz installed --- crates/turborepo-lib/src/run/graph_visualizer.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/turborepo-lib/src/run/graph_visualizer.rs b/crates/turborepo-lib/src/run/graph_visualizer.rs index d163a69067891..9a63739ac803f 100644 --- a/crates/turborepo-lib/src/run/graph_visualizer.rs +++ b/crates/turborepo-lib/src/run/graph_visualizer.rs @@ -39,6 +39,13 @@ pub(crate) fn write_graph( render_mermaid_graph(&filename, engine, single_package)?; } else if extension == "html" { render_html(&filename, engine, single_package)?; + } else if extension == "dot" { + let mut opts = OpenOptions::new(); + opts.truncate(true).create(true).write(true); + let mut file = filename + .open_with_options(opts) + .map_err(Error::GraphOutput)?; + render_dot_graph(file, engine, single_package)?; } else if let Ok(dot_path) = which("dot") { let mut cmd = Command::new(dot_path); cmd.stdin(Stdio::piped()) From cbac4e65ff3d413b6592eefb61a7b12999f55c6d Mon Sep 17 00:00:00 2001 From: Anthony Shew Date: Wed, 8 Oct 2025 10:04:19 -0600 Subject: [PATCH 2/2] Update crates/turborepo-lib/src/run/graph_visualizer.rs --- crates/turborepo-lib/src/run/graph_visualizer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turborepo-lib/src/run/graph_visualizer.rs b/crates/turborepo-lib/src/run/graph_visualizer.rs index 9a63739ac803f..12380597a5f66 100644 --- a/crates/turborepo-lib/src/run/graph_visualizer.rs +++ b/crates/turborepo-lib/src/run/graph_visualizer.rs @@ -42,7 +42,7 @@ pub(crate) fn write_graph( } else if extension == "dot" { let mut opts = OpenOptions::new(); opts.truncate(true).create(true).write(true); - let mut file = filename + let file = filename .open_with_options(opts) .map_err(Error::GraphOutput)?; render_dot_graph(file, engine, single_package)?;