turbo
22eacab4 - feat: port package graph (#5345)

Commit
2 years ago
feat: port package graph (#5345) ### Description Adds a rust port of the package graph contained in `context.go` This PR is primarily concerned with the building of the package graph, more getter methods and graph traversal logic will need to be added for for prune/run. Reviewer notes: - The package graph is configured by the `PackageGraphBuilder` object. The goal of this object is to allow for the creation of package graph without touching the file system - The builder gets converted to a `BuildState<T>` where `T` goes through `ResolvedPackageManager`, `ResolvedWorkspaces`, and `ResolvedLockfile`. The goal of these separate types is to avoid using methods out of order. - As of writing this doesn't yet hook up lockfile parsing to the package graph construction ### Testing Instructions Added testing for the primary parts of the graph construction where things can go wrong: - duplicate workspace names - connecting internal dependencies - traversing the lockfile There can be more tests written around lockfile construction as we already have surpassed the amount of unit tests on the Go side. --------- Co-authored-by: Chris Olszewski <Chris Olszewski> Co-authored-by: --global <Nicholas Yang>
Parents
Loading