depsjson

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package depsjson extracts packages from .NET deps.json files.

Index

Constants

View Source
const (
	// Name is the unique name of this extractor.
	Name = "dotnet/depsjson"
)

Variables

This section is empty.

Functions

func NewDefault added in v0.1.7

func NewDefault() filesystem.Extractor

NewDefault returns an extractor with the default config settings.

Types

type Config

type Config struct {
	// Stats is a stats collector for reporting metrics.
	Stats stats.Collector
	// MaxFileSizeBytes is the maximum file size this extractor will unmarshal. If
	// `FileRequired` gets a bigger file, it will return false.
	MaxFileSizeBytes int64
}

Config is the configuration for the deps.json extractor.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns the default configuration for the deps.json extractor.

type DepsJSON

type DepsJSON struct {
	// Note: Libraries does not include transitive dependencies.
	// Targets is not currently extracted because it introduces significant
	// complexity and is not always necessary for basic dependency analysis.
	Libraries map[string]struct {
		Version string `json:"version"`
		// Type represents the package type, if present. Examples of types include:
		// - "package": Indicates a standard NuGet package dependency.
		// - "project": Represents a project-level dependency, such as the main application or a locally developed library.
		Type string `json:"type"`
	} `json:"libraries"`
}

DepsJSON represents the structure of the deps.json file.

type Extractor

type Extractor struct {
	// contains filtered or unexported fields
}

Extractor structure for deps.json files.

func New

func New(cfg Config) *Extractor

New returns a deps.json extractor.

func (Extractor) Config

func (e Extractor) Config() Config

Config returns the configuration of the extractor.

func (Extractor) Ecosystem

func (Extractor) Ecosystem(p *extractor.Package) string

Ecosystem returns the OSV Ecosystem of the software extracted by this extractor.

func (Extractor) Extract

Extract parses the deps.json file to extract .NET package dependencies.

func (Extractor) FileRequired

func (e Extractor) FileRequired(api filesystem.FileAPI) bool

FileRequired returns true if the specified file matches the deps.json pattern.

func (Extractor) Name

func (e Extractor) Name() string

Name of the extractor.

func (Extractor) Requirements

func (e Extractor) Requirements() *plugin.Capabilities

Requirements of the extractor.

func (Extractor) ToPURL

func (e Extractor) ToPURL(p *extractor.Package) *purl.PackageURL

ToPURL converts a package created by this extractor into a PURL.

func (Extractor) Version

func (e Extractor) Version() int

Version of the extractor.

type Metadata

type Metadata struct {
	PackageName    string // The name of the package.
	PackageVersion string // The version of the package.
	// Type indicates the type of the package. Examples include:
	// - "package": Represents an external dependency, such as a NuGet package.
	// - "project": Represents an internal dependency, such as the main application
	Type string
}

Metadata holds parsing information for a deps.json package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL