Documentation
¶
Overview ¶
Package packagejson extracts package.json files.
Index ¶
- Constants
- type Config
- type Extractor
- func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) ([]*extractor.Inventory, error)
- func (e Extractor) FileRequired(path string, _ fs.FileMode) bool
- func (e Extractor) Name() string
- func (e Extractor) ToCPEs(i *extractor.Inventory) ([]string, error)
- func (e Extractor) ToPURL(i *extractor.Inventory) (*purl.PackageURL, error)
- func (e Extractor) Version() int
- type JavascriptPackageJSONMetadata
- type Person
Constants ¶
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 ¶
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 *filesystem.ScanInput) ([]*extractor.Inventory, error)
Extract extracts packages from package.json files passed through the scan input.
func (Extractor) FileRequired ¶
FileRequired returns true if the specified file matches javascript Metadata file patterns.
func (Extractor) ToCPEs ¶
ToCPEs is not applicable as this extractor does not infer CPEs from the Inventory.
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 ¶
PersonString produces a string format of Person struct in the format of "name <email> (url)"
func (*Person) UnmarshalJSON ¶
UnmarshalJSON parses a JSON object or string into a Person struct.