turborepo
44bbc838 - chore: Extract some small items from `turborepo-lib` (#11350)

Commit
60 days ago
chore: Extract some small items from `turborepo-lib` (#11350) ## Summary Move self-contained types and functionality out of turborepo-lib to reduce its size and improve modularity. This is part of the ongoing effort to make turborepo-lib a thin orchestration layer. ## Changes ### Moved to turborepo-engine (~284 lines): | Type/Module | Lines | Notes | |-------------|-------|-------| | `TaskError` | ~30 | Task execution error struct | | `TaskErrorCause` | ~30 | Error cause enum (Spawn, Exit, Internal) | | `TaskWarning` | ~50 | Task warning struct for missing env vars | | `graph_visualizer.rs` | ~174 | Graph rendering (dot, mermaid, html) with trait-based process spawning | ### Moved to turborepo-types (~50 lines): | Type | Notes | |------|-------| | `APIClientOpts` | API client configuration (url, timeout, token, etc.) | | `RepoOpts` | Repository options (turbo.json path, allow flags) | | `TuiOpts` | TUI options (scrollback_length) | ## Design Decisions **graph_visualizer.rs**: Used trait-based abstraction (`ChildSpawner`/`ChildProcess`) to decouple graph visualization from turborepo-lib's process management. This allows the code to live in turborepo-engine (where `Engine` is) while still supporting graphviz binary execution.
Author
Parents
Loading