Documentation ¶
Overview ¶
Package packagejson extracts package.json files.
Index ¶
- Constants
- type Config
- type Extractor
- func (e Extractor) Extract(ctx context.Context, input *extractor.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 *extractor.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.