From 7651b5b3436a13c0ed450c7f4b858cf7bddc3235 Mon Sep 17 00:00:00 2001 From: edoardottt Date: Sat, 28 Feb 2026 08:49:42 +0100 Subject: [PATCH] v0.2.1 --- cmd/reqs.go | 2 +- pkg/depsdev/definitions/requirements.go | 44 +++++++++++++++++++++++++ pkg/output/banner.go | 2 +- snapcraft.yaml | 2 +- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/cmd/reqs.go b/cmd/reqs.go index 17dbeeb..7dd81c2 100644 --- a/cmd/reqs.go +++ b/cmd/reqs.go @@ -32,7 +32,7 @@ var reqsCmd = &cobra.Command{ if len(args) < minArgsThree { return fmt.Errorf("%s %w", "three", input.ErrArgumentsLeast) } - if !input.Contains(args[0], []string{"npm", "maven", "nuget", "rubygems"}) { + if !input.Contains(args[0], []string{"npm", "maven", "nuget", "rubygems", "pypi", "cargo", "go"}) { return input.ErrInvalidPackageManagerForRequirements } return nil diff --git a/pkg/depsdev/definitions/requirements.go b/pkg/depsdev/definitions/requirements.go index 1e028df..fa115fe 100644 --- a/pkg/depsdev/definitions/requirements.go +++ b/pkg/depsdev/definitions/requirements.go @@ -19,12 +19,54 @@ type Requirements struct { Npm *Npm `json:"npm,omitempty"` Maven *Maven `json:"maven,omitempty"` RubyGems *DependencyList `json:"rubygems,omitempty"` + Go *DependencyList `json:"go,omitempty"` + Pypi *Pypi `json:"pypi,omitempty"` + Cargo *Cargo `json:"cargo,omitempty"` } type Nuget struct { DependependencyGroups []DependependencyGroup `json:"dependencyGroups,omitempty"` } +type Cargo struct { + Dependencies []CargoDependepency `json:"dependencies,omitempty"` + Features []CargoFeatures `json:"features,omitempty"` +} + +type CargoDependepency struct { + Name string `json:"name,omitempty"` + Requirement string `json:"requirement,omitempty"` + Kind string `json:"kind,omitempty"` + Optional bool `json:"optional,omitempty"` + PackageAlias string `json:"packageAlias,omitempty"` + UsesDefaultFeatures bool `json:"usesDefaultFeatures,omitempty"` + Features []string `json:"features,omitempty"` + Target string `json:"target,omitempty"` +} + +type CargoFeatures struct { + Name string `json:"name,omitempty"` + Implies []string `json:"implies,omitempty"` +} + +type Pypi struct { + Dependencies []PypiDependepency `json:"dependencies,omitempty"` + ProvidedExtras []ProvidedExtras `json:"providedExtras,omitempty"` + ExternalDependencies []PypiDependepency `json:"externalDependencies,omitempty"` + RequiredPythonVersion string `json:"requiredPythonVersion,omitempty"` +} + +type PypiDependepency struct { + ProjectName string `json:"projectName,omitempty"` + Extras string `json:"extras,omitempty"` + VersionSpecifier string `json:"versionSpecifier,omitempty"` + EnvironmentMarker string `json:"environmentMarker,omitempty"` +} + +type ProvidedExtras struct { + ProvidedExtras string `json:"providedExtras,omitempty"` +} + type DependependencyGroup struct { TargetFramework string `json:"targetFramework,omitempty"` Dependencies []Dependency `json:"dependencies,omitempty"` @@ -60,6 +102,8 @@ type DependencyList struct { OptionalDependencies []Dependency `json:"optionalDependencies,omitempty"` PeerDependencies []Dependency `json:"peerDependencies,omitempty"` RuntimeDependencies []Dependency `json:"runtimeDependencies,omitempty"` + DirectDependencies []Dependency `json:"directDependencies,omitempty"` + IndirectDependencies []Dependency `json:"indirectDependencies,omitempty"` BundleDependencies []string `json:"bundleDependencies,omitempty"` } diff --git a/pkg/output/banner.go b/pkg/output/banner.go index a5c3607..51eb569 100644 --- a/pkg/output/banner.go +++ b/pkg/output/banner.go @@ -17,7 +17,7 @@ package output import "fmt" const ( - Version = `0.2.0` + Version = `0.2.1` Banner = `depsdev v` + Version + ` > https://github.com/edoardottt/depsdev > @edoardottt, https://edoardottt.com/` diff --git a/snapcraft.yaml b/snapcraft.yaml index e35e691..257a954 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -3,7 +3,7 @@ summary: CLI client for deps.dev API description: | CLI client for deps.dev API. Free access to dependencies, licenses, advisories, and other critical health and security signals for open source package versions. -version: 0.2.0 +version: 0.2.1 grade: stable base: core20