Documentation ¶
Index ¶
Constants ¶
const TagProperty = "npm.tag"
TagProperty is the name of the property for tag management
Variables ¶
var ( // ErrInvalidPackage indicates an invalid package ErrInvalidPackage = util.NewInvalidArgumentErrorf("package is invalid") // ErrInvalidPackageName indicates an invalid name ErrInvalidPackageName = util.NewInvalidArgumentErrorf("package name is invalid") // ErrInvalidPackageVersion indicates an invalid version ErrInvalidPackageVersion = util.NewInvalidArgumentErrorf("package version is invalid") // ErrInvalidAttachment indicates a invalid attachment ErrInvalidAttachment = util.NewInvalidArgumentErrorf("package attachment is invalid") // ErrInvalidIntegrity indicates an integrity validation error ErrInvalidIntegrity = util.NewInvalidArgumentErrorf("failed to validate integrity") )
Functions ¶
This section is empty.
Types ¶
type Metadata ¶
type Metadata struct { Scope string `json:"scope,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Author string `json:"author,omitempty"` License string `json:"license,omitempty"` ProjectURL string `json:"project_url,omitempty"` Keywords []string `json:"keywords,omitempty"` Dependencies map[string]string `json:"dependencies,omitempty"` DevelopmentDependencies map[string]string `json:"development_dependencies,omitempty"` PeerDependencies map[string]string `json:"peer_dependencies,omitempty"` OptionalDependencies map[string]string `json:"optional_dependencies,omitempty"` Bin map[string]string `json:"bin,omitempty"` Readme string `json:"readme,omitempty"` Repository Repository `json:"repository,omitempty"` }
Metadata represents the metadata of a npm package
type Package ¶
type Package struct { Name string Version string DistTags []string Metadata Metadata Filename string Data []byte }
Package represents a npm package
type PackageAttachment ¶
type PackageAttachment struct { ContentType string `json:"content_type"` Data string `json:"data"` Length int `json:"length"` }
PackageAttachment https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#package
type PackageDistribution ¶
type PackageDistribution struct { Integrity string `json:"integrity"` Shasum string `json:"shasum"` Tarball string `json:"tarball"` FileCount int `json:"fileCount,omitempty"` UnpackedSize int `json:"unpackedSize,omitempty"` NpmSignature string `json:"npm-signature,omitempty"` }
PackageDistribution https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#version
type PackageMetadata ¶
type PackageMetadata struct { ID string `json:"_id"` Name string `json:"name"` Description string `json:"description"` DistTags map[string]string `json:"dist-tags,omitempty"` Versions map[string]*PackageMetadataVersion `json:"versions"` Readme string `json:"readme,omitempty"` Maintainers []User `json:"maintainers,omitempty"` Time map[string]time.Time `json:"time,omitempty"` Homepage string `json:"homepage,omitempty"` Keywords []string `json:"keywords,omitempty"` Repository Repository `json:"repository,omitempty"` Author User `json:"author"` ReadmeFilename string `json:"readmeFilename,omitempty"` Users map[string]bool `json:"users,omitempty"` License string `json:"license,omitempty"` }
PackageMetadata https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#package
type PackageMetadataVersion ¶
type PackageMetadataVersion struct { ID string `json:"_id"` Name string `json:"name"` Version string `json:"version"` Description string `json:"description"` Author User `json:"author"` Homepage string `json:"homepage,omitempty"` License string `json:"license,omitempty"` Repository Repository `json:"repository,omitempty"` Keywords []string `json:"keywords,omitempty"` Dependencies map[string]string `json:"dependencies,omitempty"` DevDependencies map[string]string `json:"devDependencies,omitempty"` PeerDependencies map[string]string `json:"peerDependencies,omitempty"` Bin map[string]string `json:"bin,omitempty"` OptionalDependencies map[string]string `json:"optionalDependencies,omitempty"` Readme string `json:"readme,omitempty"` Dist PackageDistribution `json:"dist"` Maintainers []User `json:"maintainers,omitempty"` }
PackageMetadataVersion documentation: https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#version PackageMetadataVersion response: https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object
type PackageSearch ¶
type PackageSearch struct { Objects []*PackageSearchObject `json:"objects"` Total int64 `json:"total"` }
type PackageSearchObject ¶
type PackageSearchObject struct {
Package *PackageSearchPackage `json:"package"`
}
type PackageSearchPackage ¶
type PackageSearchPackage struct { Scope string `json:"scope"` Name string `json:"name"` Version string `json:"version"` Date time.Time `json:"date"` Description string `json:"description"` Author User `json:"author"` Publisher User `json:"publisher"` Maintainers []User `json:"maintainers"` Keywords []string `json:"keywords,omitempty"` Links *PackageSearchPackageLinks `json:"links"` }
type Repository ¶
Repository https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#version
type User ¶
type User struct { Username string `json:"username,omitempty"` Name string `json:"name"` Email string `json:"email,omitempty"` URL string `json:"url,omitempty"` }
User https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#package
func (*User) UnmarshalJSON ¶
UnmarshalJSON is needed because User objects can be strings or objects