packagejson

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package packagejson extracts package.json files.

Index

Constants

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

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Stats is a stats collector for reporting metrics.
	Stats stats.Collector
	// MaxFileSizeBytes is the maximum size of a file that can be extracted.
	// If this limit is greater than zero and a file is encountered that is larger
	// than this limit, the file is ignored by returning false for `FileRequired`.
	MaxFileSizeBytes int64
}

Config is the configuration for the Extractor.

func DefaultConfig

func DefaultConfig() Config

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

type Extractor

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

Extractor extracts javascript packages from package.json files.

func New

func New(cfg Config) *Extractor

New returns a package.json extractor.

For most use cases, initialize with: ``` e := New(DefaultConfig()) ```

func (Extractor) Ecosystem added in v0.1.3

func (Extractor) Ecosystem(i *extractor.Inventory) string

Ecosystem returns the OSV Ecosystem of the software extracted by this extractor. OSV requires the name field to be a npm package. This is a javascript extractor, there is no guarantee that the package is an npm package.

func (Extractor) Extract

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

Extract extracts packages from package.json files passed through the scan input.

func (Extractor) FileRequired

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

FileRequired returns true if the specified file matches javascript Metadata file patterns.

func (Extractor) Name

func (e Extractor) Name() string

Name of the extractor.

func (Extractor) Requirements added in v0.1.3

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

Requirements of the extractor.

func (Extractor) ToPURL

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

func (Extractor) Version

func (e Extractor) Version() int

Version of the extractor.

type JavascriptPackageJSONMetadata

type JavascriptPackageJSONMetadata struct {
	Author       *Person   `json:"author"`
	Maintainers  []*Person `json:"maintainers"`
	Contributors []*Person `json:"contributors"`
}

JavascriptPackageJSONMetadata holds parsing information for a javascript package.json file.

type Person

type Person struct {
	Name  string `json:"name"`
	Email string `json:"email"`
	URL   string `json:"url"`
}

Person represents a person field in a javascript package.json file.

func (*Person) PersonString

func (p *Person) PersonString() string

PersonString produces a string format of Person struct in the format of "name <email> (url)"

func (*Person) UnmarshalJSON

func (p *Person) UnmarshalJSON(b []byte) error

UnmarshalJSON parses a JSON object or string into a Person struct.

Jump to

Keyboard shortcuts

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