bynk-project
Bynk's project model: discovery, the unit dependency graph, path resolution, cross-unit consistency checks, and the schema-registry document's read/write halves.
It holds:
discovery— walks a project's roots and finds every.bynkfile (and, in project form, every unit's own manifest).graph— the unit dependency graph and its cycle/consistency checks.paths/roots— path resolution and the include/exclude root rules a project's layout is interpreted through.consistency— cross-unit checks (directory-kind, directory-name, group- kind, path-name alignment).schema_registry— reads and writesbynk.schema.lock, the schema registry document.parse_cache/json— supporting caches and JSON helpers the above use.
What deliberately stays out of this crate: schema-registry
reconciliation (bynk-check-coupled, stays in bynk-emit), diagnostic
modes and project-analysis result types (facts about how the pipeline is
driven, not about the project itself), and test codegen — all downstream
concerns, not project modelling.
Where it sits
This crate depends on bynk-syntax
only (plus toml/serde for the manifest and lock-file formats) — it has no
dependency on the checker or the emitter.
bynk-check,
bynk-emit, and
bynk-ide each depend on it directly for
discovery and path resolution, rather than re-deriving their own.
Use
[]
= "0.290"
use Roots;
let roots = Single;
See the API docs for the full surface.
License
Licensed under either of Apache-2.0 or MIT at your option.