refactor: unify package dependency resolution and improve PyPI version handling using registry adapter

This commit is contained in:
Sahilb315
2025-05-20 21:23:48 +05:30
parent 722ee05376
commit 0b4729f18b
9 changed files with 448 additions and 75 deletions
+3 -3
View File
@@ -13,7 +13,7 @@ import (
// Contract for a function that implements ecosystem specific version
// resolver from a version range specification.
type versionSpecResolver func(version string) string
type versionSpecResolver func(packageName, version string) string
type dependencyResolverConfig struct {
IncludeDevDependencies bool
@@ -38,7 +38,7 @@ func newDependencyResolver(client packageregistry.Client, config dependencyResol
if versionSpecResolver == nil {
// Default version spec resolver
versionSpecResolver = func(version string) string {
versionSpecResolver = func(packageName, version string) string {
return version
}
}
@@ -141,7 +141,7 @@ func (r *dependencyResolver) resolvePackageDependenciesConcurrent(
Ecosystem: packageVersion.GetPackage().GetEcosystem(),
Name: dependency.Name,
},
Version: r.versionSpecResolver(dependency.VersionSpec),
Version: r.versionSpecResolver(dependency.Name, dependency.VersionSpec),
})
}