Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/reqs.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
44 changes: 44 additions & 0 deletions pkg/depsdev/definitions/requirements.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"`
Expand Down Expand Up @@ -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"`
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/output/banner.go
Original file line number Diff line number Diff line change
Expand Up @@ -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/`
Expand Down
2 changes: 1 addition & 1 deletion snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading