package importgraph
import "golang.org/x/tools/refactor/importgraph"
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
Index ¶
Types ¶
type Graph ¶
A Graph is an import dependency graph, either forward or reverse.
The graph maps each node (a package import path) to the set of its successors in the graph. For a forward graph, this is the set of imported packages (prerequisites); for a reverse graph, it is the set of importing packages (clients).
Graph construction inspects all imports in each package's directory, including those in _test.go files, so the resulting graph may be cyclic.
func Build ¶
Build scans the specified Go workspace and builds the forward and reverse import dependency graphs for all its packages. It also returns a mapping from canonical import paths to errors for packages whose loading was not entirely successful. A package may appear in the graph and in the errors mapping. All package paths are canonical and may contain "/vendor/".
func (Graph) Search ¶
Search returns all the nodes of the graph reachable from any of the specified roots, by following edges forwards. Relationally, this is the reflexive transitive closure.
Source Files ¶
graph.go
- Version
- v0.30.0 (latest)
- Published
- Feb 10, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 5 hours ago –
Tools for package owners.