mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	npm package registry support for bin (#21372)
				
					
				
			Fix #21303 npm package.json supports binary packaging: https://docs.npmjs.com/cli/v8/configuring-npm/package-json#bin the npm registry documents that the binary references will be attached to the abbreviated version object: https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object unfortunately their api documentation leaves this out: https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-objectdoc which is likely to be the reason this was left out in gitea's initial implementation this response is critical for npm to install the binary in the `.bin` folder so as to be included on the users default bin path, resulting in immediate access to any binaries provided by the package
This commit is contained in:
		@@ -66,7 +66,8 @@ type PackageMetadata struct {
 | 
			
		||||
	License        string                             `json:"license,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PackageMetadataVersion https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#version
 | 
			
		||||
// 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 PackageMetadataVersion struct {
 | 
			
		||||
	ID                   string              `json:"_id"`
 | 
			
		||||
	Name                 string              `json:"name"`
 | 
			
		||||
@@ -80,6 +81,7 @@ type PackageMetadataVersion struct {
 | 
			
		||||
	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"`
 | 
			
		||||
@@ -220,6 +222,7 @@ func ParsePackage(r io.Reader) (*Package, error) {
 | 
			
		||||
				DevelopmentDependencies: meta.DevDependencies,
 | 
			
		||||
				PeerDependencies:        meta.PeerDependencies,
 | 
			
		||||
				OptionalDependencies:    meta.OptionalDependencies,
 | 
			
		||||
				Bin:                     meta.Bin,
 | 
			
		||||
				Readme:                  meta.Readme,
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user