Documentation
¶
Overview ¶
Package enrichment provides package metadata enrichment using external data sources. It fetches license information, vulnerability data, and version information from package registries and vulnerability databases.
Index ¶
- type EnrichmentResult
- type LicenseCategory
- type PackageInfo
- type Service
- func (s *Service) BulkCheckVulnerabilities(ctx context.Context, packages []struct{ ... }) (map[string][]VulnInfo, error)
- func (s *Service) BulkEnrichPackages(ctx context.Context, packages []struct{ ... }) map[string]*PackageInfo
- func (s *Service) CategorizeLicense(license string) LicenseCategory
- func (s *Service) CheckVulnerabilities(ctx context.Context, ecosystem, name, version string) ([]VulnInfo, error)
- func (s *Service) EnrichFull(ctx context.Context, ecosystem, name, version string) (*EnrichmentResult, error)
- func (s *Service) EnrichPackage(ctx context.Context, ecosystem, name string) (*PackageInfo, error)
- func (s *Service) EnrichVersion(ctx context.Context, ecosystem, name, version string) (*VersionInfo, error)
- func (s *Service) GetLatestVersion(ctx context.Context, ecosystem, name string) (string, error)
- func (s *Service) IsOutdated(currentVersion, latestVersion string) bool
- func (s *Service) NormalizeLicense(license string) string
- type VersionInfo
- type VulnInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EnrichmentResult ¶
type EnrichmentResult struct {
Package *PackageInfo
Version *VersionInfo
Vulnerabilities []VulnInfo
IsOutdated bool
LicenseCategory LicenseCategory
}
EnrichmentResult contains all enrichment data for a package version.
type LicenseCategory ¶
type LicenseCategory string
LicenseCategory represents the category of a license.
const ( LicensePermissive LicenseCategory = "permissive" LicenseCopyleft LicenseCategory = "copyleft" LicenseUnknown LicenseCategory = "unknown" )
type PackageInfo ¶
type PackageInfo struct {
Ecosystem string
Name string
LatestVersion string
License string
Description string
Homepage string
Repository string
RegistryURL string
}
PackageInfo contains enriched package metadata.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service provides package enrichment capabilities.
func (*Service) BulkCheckVulnerabilities ¶
func (s *Service) BulkCheckVulnerabilities(ctx context.Context, packages []struct{ Ecosystem, Name, Version string }) (map[string][]VulnInfo, error)
BulkCheckVulnerabilities queries vulnerabilities for multiple package versions.
func (*Service) BulkEnrichPackages ¶
func (s *Service) BulkEnrichPackages(ctx context.Context, packages []struct{ Ecosystem, Name string }) map[string]*PackageInfo
BulkEnrichPackages fetches metadata for multiple packages in parallel.
func (*Service) CategorizeLicense ¶
func (s *Service) CategorizeLicense(license string) LicenseCategory
CategorizeLicense returns the category of a license.
func (*Service) CheckVulnerabilities ¶
func (s *Service) CheckVulnerabilities(ctx context.Context, ecosystem, name, version string) ([]VulnInfo, error)
CheckVulnerabilities queries for vulnerabilities affecting a package version.
func (*Service) EnrichFull ¶
func (s *Service) EnrichFull(ctx context.Context, ecosystem, name, version string) (*EnrichmentResult, error)
EnrichFull performs full enrichment for a package version.
func (*Service) EnrichPackage ¶
EnrichPackage fetches metadata for a package from registry APIs.
func (*Service) EnrichVersion ¶
func (s *Service) EnrichVersion(ctx context.Context, ecosystem, name, version string) (*VersionInfo, error)
EnrichVersion fetches metadata for a specific package version.
func (*Service) GetLatestVersion ¶
GetLatestVersion fetches the latest version for a package.
func (*Service) IsOutdated ¶
IsOutdated checks if a version is older than the latest version.
func (*Service) NormalizeLicense ¶
NormalizeLicense normalizes a license string to SPDX format.