Versions in this module Expand all Collapse all v0 v0.2.0 Apr 25, 2026 Changes in this version + func ExtractOrg(lang Language, name string) string + func NewModuleID(lang Language, name string) string + func StreamToCache(cache *Cache, key string, r io.Reader) ([]byte, error) + func WithCache[T any](cache *Cache, key string, fetch func() (T, error)) (T, error) + type Builder struct + func NewBuilder(token string) *Builder + func NewBuilderWithConfig(cfg BuilderConfig) *Builder + func (b *Builder) Build(ctx context.Context, portfolio Portfolio) (*DependencyGraph, error) + type BuilderConfig struct + Cache *Cache + InitialBackoff time.Duration + MaxRetries int + Token string + type Cache struct + func NewCache(cfg CacheConfig) (*Cache, error) + func (c *Cache) Clear(ctx context.Context) error + func (c *Cache) Delete(ctx context.Context, key string) error + func (c *Cache) Get(ctx context.Context, key string) ([]byte, bool) + func (c *Cache) Prune(ctx context.Context) (int, error) + func (c *Cache) Set(ctx context.Context, key string, data []byte) error + func (c *Cache) Stats(ctx context.Context) CacheStats + type CacheConfig struct + Dir string + MemoryOnly bool + TTL time.Duration + type CacheStats struct + FileEntries int + MemoryEntries int + TotalSizeKB int64 + type CachedBuilder struct + func NewCachedBuilder(token string, cache *Cache) *CachedBuilder + func (cb *CachedBuilder) Build(ctx context.Context, portfolio Portfolio) (*DependencyGraph, error) + func (cb *CachedBuilder) InvalidateGraph(ctx context.Context, portfolio Portfolio) error + type CallbackProgress struct + func NewCallbackProgress(callback ProgressCallback) *CallbackProgress + func (cp *CallbackProgress) Complete() + func (cp *CallbackProgress) Error(repo string, err error) + func (cp *CallbackProgress) FoundModule(module string) + func (cp *CallbackProgress) ProcessRepo(repo string) + func (cp *CallbackProgress) Start(totalOrgs int) + func (cp *CallbackProgress) StartOrg(org string, repoCount int) + type Cycle struct + Modules []string + type DOTConfig struct + ClusterByOrg bool + ColorExternal string + ColorManaged string + RankDir string + ShowExternal bool + ShowVersions bool + Title string + func DefaultDOTConfig() DOTConfig + type DependencyGraph struct + func BuildFromSnapshot(snapshot *GraphSnapshot) *DependencyGraph + func NewGraph() *DependencyGraph + func (g *DependencyGraph) AddModule(module Module) + func (g *DependencyGraph) AllModules() []Module + func (g *DependencyGraph) Build(ctx context.Context, portfolio Portfolio) error + func (g *DependencyGraph) Dependencies(moduleID string) []Module + func (g *DependencyGraph) Dependents(moduleID string) []Module + func (g *DependencyGraph) FilterByLanguage(lang Language) Graph + func (g *DependencyGraph) FilterByOrg(org string) Graph + func (g *DependencyGraph) GetModule(id string) (*Module, bool) + func (g *DependencyGraph) ManagedModules() []Module + func (g *DependencyGraph) Snapshot() *GraphSnapshot + func (g *DependencyGraph) StaleModules(dependency string, minVersion string) []StaleModule + func (g *DependencyGraph) Stats() GraphStats + func (g *DependencyGraph) ToDOT(cfg DOTConfig) string + func (g *DependencyGraph) ToMermaid(cfg MermaidConfig) string + func (g *DependencyGraph) UpgradeOrder() (*UpgradeOrder, error) + func (g *DependencyGraph) Validate() []ValidationIssue + func (g *DependencyGraph) WriteDOT(w io.Writer, cfg DOTConfig) error + func (g *DependencyGraph) WriteMermaid(w io.Writer, cfg MermaidConfig) error + type GoModCache struct + func NewGoModCache(cache *Cache) *GoModCache + func (gmc *GoModCache) Get(ctx context.Context, owner, repo, ref string) ([]byte, bool) + func (gmc *GoModCache) Set(ctx context.Context, owner, repo, ref string, content []byte) error + type GoModInfo struct + Exclude []ModuleVersion + Go string + Module string + Replace []ModuleReplace + Require []ModuleVersion + func ParseGoMod(content []byte) (*GoModInfo, error) + func (g *GoModInfo) AllDependencies() []ModuleVersion + func (g *GoModInfo) DirectDependencies() []ModuleVersion + func (g *GoModInfo) GetReplacement(path string) (ModuleVersion, bool) + func (g *GoModInfo) HasLocalReplaces() bool + func (g *GoModInfo) IsLocalReplace(r ModuleReplace) bool + func (g *GoModInfo) IsReplaced(path string) bool + type Graph interface + AddModule func(module Module) + AllModules func() []Module + Build func(ctx context.Context, portfolio Portfolio) error + Dependencies func(moduleID string) []Module + Dependents func(moduleID string) []Module + FilterByLanguage func(lang Language) Graph + FilterByOrg func(org string) Graph + GetModule func(id string) (*Module, bool) + ManagedModules func() []Module + Snapshot func() *GraphSnapshot + StaleModules func(dependency string, minVersion string) []StaleModule + UpgradeOrder func() (*UpgradeOrder, error) + type GraphSnapshot struct + Modules map[string]Module + Portfolio Portfolio + Timestamp string + type GraphStats struct + ByLanguage map[Language]int + ByOrg map[string]int + ExternalModules int + ManagedModules int + TotalEdges int + TotalModules int + type Language string + const LanguageGo + const LanguagePython + const LanguageRust + const LanguageSwift + const LanguageTypeScript + func ParseModuleID(id string) (Language, string) + func (l Language) ManifestFile() string + type MermaidConfig struct + Direction string + ShowExternal bool + func DefaultMermaidConfig() MermaidConfig + type Module struct + Dependencies []ModuleRef + Dependents []ModuleRef + ID string + IsManaged bool + Language Language + Name string + Org string + Repo *model.Repo + Version string + type ModuleRef struct + ID string + IsManaged bool + Version string + type ModuleReplace struct + New ModuleVersion + Old ModuleVersion + type ModuleVersion struct + Indirect bool + Path string + Version string + type Portfolio struct + GraphRepo string + Languages []string + Name string + Orgs []string + type Progress struct + func NewProgress(cfg ProgressConfig) *Progress + func (p *Progress) Complete() + func (p *Progress) Error(repo string, err error) + func (p *Progress) FoundModule(module string) + func (p *Progress) ProcessRepo(repo string) + func (p *Progress) Start(totalOrgs int) + func (p *Progress) StartOrg(org string, repoCount int) + type ProgressCallback func(event ProgressEvent) + type ProgressConfig struct + Enabled bool + MinInterval time.Duration + Writer io.Writer + type ProgressEvent struct + Current int + Error error + Module string + Org string + Repo string + Total int + Type ProgressEventType + type ProgressEventType string + const ProgressEventComplete + const ProgressEventError + const ProgressEventModule + const ProgressEventOrg + const ProgressEventRepo + const ProgressEventStart + type RepoListCache struct + func NewRepoListCache(cache *Cache) *RepoListCache + func (rlc *RepoListCache) Get(ctx context.Context, owner string) ([]string, bool) + func (rlc *RepoListCache) Set(ctx context.Context, owner string, repos []string) error + type StaleModule struct + Current string + Dependency string + Latest string + Module Module + type UpgradeOrder struct + Cycles []Cycle + Modules []Module + type ValidationIssue struct + Message string + Module string + Type string