packagejson

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: 13 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 {
	// MaxJSONSize is the maximum file size an extractor will unmarshal.
	// If Extract gets a bigger file, it will return an error.
	MaxJSONSize 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) Extract

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

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

func (Extractor) FileRequired

func (e Extractor) FileRequired(path string, _ fs.FileMode) 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) 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 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