Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Analyzer ¶
type Analyzer struct {
// contains filtered or unexported fields
}
Analyzer analyzes package dependencies
func NewAnalyzer ¶
NewAnalyzer creates a new dependency analyzer
func (*Analyzer) Analyze ¶
func (a *Analyzer) Analyze(files []*parser.FileMetrics) ([]*PackageDependencies, error)
Analyze analyzes dependencies across all files
func (*Analyzer) DetectCircularDependencies ¶
func (a *Analyzer) DetectCircularDependencies(files []*parser.FileMetrics) ([]*CircularDependency, error)
DetectCircularDependencies finds circular dependencies using DFS
type CircularDependency ¶
type CircularDependency struct {
Cycle []string `json:"cycle"` // The circular dependency chain
}
CircularDependency represents a circular dependency between packages
func (*CircularDependency) FormatCycle ¶
func (cd *CircularDependency) FormatCycle() string
FormatCycle returns a human-readable representation of a circular dependency
type PackageDependencies ¶
type PackageDependencies struct {
PackageName string `json:"package_name"`
StdlibImports []string `json:"stdlib_imports"`
InternalImports []string `json:"internal_imports"`
ExternalImports []string `json:"external_imports"`
TotalImports int `json:"total_imports"`
ExternalImportCount int `json:"external_import_count"`
}
PackageDependencies represents dependency information for a single package
Click to show internal directories.
Click to hide internal directories.