packageslockjson

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package packageslockjson extracts packages.lock.json files.

Index

Constants

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

Variables

This section is empty.

Functions

This section is empty.

Types

type Extractor

type Extractor struct{}

Extractor extracts packages from inside a packages.lock.json.

func (Extractor) Extract

func (e Extractor) Extract(ctx context.Context, input *extractor.ScanInput) ([]*extractor.Inventory, error)

Extract returns a list of dependencies in a packages.lock.json file.

func (Extractor) FileRequired

func (e Extractor) FileRequired(path string, mode fs.FileMode) bool

FileRequired returns true if the specified file is marked executable.

func (Extractor) Name

func (e Extractor) Name() string

Name of the extractor.

func (Extractor) ToCPEs

func (e Extractor) ToCPEs(i *extractor.Inventory) ([]string, error)

ToCPEs is not applicable as this extractor does not infer CPEs from the Inventory.

func (Extractor) ToPURL

func (e Extractor) ToPURL(i *extractor.Inventory) (*purl.PackageURL, error)

ToPURL converts an inventory created by this extractor into a PURL.

func (Extractor) Version

func (e Extractor) Version() int

Version of the extractor.

type PackageInfo

type PackageInfo struct {
	// Resolved is the resolved version for this dependency.
	Resolved     string            `json:"resolved"`
	Dependencies map[string]string `json:"dependencies"`
}

PackageInfo represents a single package's info, including its resolved version, and its dependencies

type PackagesLockJSON

type PackagesLockJSON struct {
	Dependencies map[string]map[string]PackageInfo `json:"dependencies"`
}

PackagesLockJSON represents the `packages.lock.json` file generated from running `dotnet restore --use-lock-file`. The schema path we care about is: "dependencies" -> target framework moniker -> package name -> package info

func Parse

func Parse(r io.Reader) (PackagesLockJSON, error)

Parse returns a struct representing the structure of a .NET project's packages.lock.json file.

Jump to

Keyboard shortcuts

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