Documentation ¶
Overview ¶
Package packagejson extracts package.json files.
Index ¶
- Constants
- type Config
- type Extractor
- func (Extractor) Ecosystem(i *extractor.Inventory) string
- func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) ([]*extractor.Inventory, error)
- func (e Extractor) FileRequired(api filesystem.FileAPI) bool
- func (e Extractor) Name() string
- func (e Extractor) Requirements() *plugin.Capabilities
- func (e Extractor) ToPURL(i *extractor.Inventory) *purl.PackageURL
- 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 { // 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 ¶
New returns a package.json extractor.
For most use cases, initialize with: ``` e := New(DefaultConfig()) ```
func (Extractor) Ecosystem ¶ added in v0.1.3
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) Requirements ¶ added in v0.1.3
func (e Extractor) Requirements() *plugin.Capabilities
Requirements 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 ¶
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.