Hive
feat: Add dependency sync entries
GitHub issue · Closed
Source
tuist/once #40
Updated
Jun 24, 2026
Domains
Once
Summary
- Add
fabrik deps sync [name]backed by declarative[[deps]]entries infabrik.toml. - Add dependency graph sync support for Rust, Swift, Go, and Elixir.
- Add inline external dependency edges in target
deps, where strings stay local target deps and inline tables like{ cargo = "serde" }point at a named dependency graph. - Lower Rust external dependency edges to generated
vendor/<deps-name>/<crate>targets and write Rust generated declarations undervendor/<deps-name>/fabrik.toml. - Rebase on the new granular Elixir target work and document dependency sync in each target guide.
- Add docs sidebar icons for Rust, Swift, Go, Elixir, and Tasks.
- Add shellspec coverage for
deps syncacross the supported ecosystems. - Run non-Windows cargo CI steps through
mise exec --, move stable Cargo/Rust env defaults intomise.toml, and expose the pinned Rust bin dir to shellspec temp workspaces.
Impact
This moves dependency sync configuration into fabrik.toml and gives build targets one dependency list. Local target dependencies stay as strings, while external ecosystem dependencies use inline tables keyed by the named [[deps]] graph. fabrik vendor remains as a hidden alias for compatibility.
Validation
mise exec -- cargo fmt --all -- --checkmise exec -- cargo test --workspacemise exec -- cargo clippy --workspace --all-targets -- -D warningsmise exec -- cargo build --releasemise exec -- shellspecnpm run buildindocs/mise exec -- env | rg '^(CARGO_TERM_COLOR|CARGO_INCREMENTAL|CARGO_PROFILE_DEV_DEBUG|CARGO_PROFILE_TEST_DEBUG|RUST_BACKTRACE)='
The full shellspec run passed with 100 examples, 0 failures, and 2 skips. The skipped examples are the iOS simulator launch case because no simulator is booted locally, and the Go deps sync e2e case because this local environment does not have a go binary.
No GitHub comments yet.