manifest

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Overwrite

func Overwrite(rw ReadWriter, filename string, p Patch) error

Overwrite applies the ManifestPatch to the manifest at filename. Used so as to not have the same file open for reading and writing at the same time.

func SplitNPMAlias

func SplitNPMAlias(v string) (name, version string)

extract the real package name & version from an alias-specified version e.g. "npm:pkg@^1.2.3" -> name: "pkg", version: "^1.2.3" name is empty and version is unchanged if not an alias specifier

Types

type DependencyPatch

type DependencyPatch struct {
	Pkg          resolve.PackageKey // The package this applies to
	Type         dep.Type           // The dependency type
	OrigRequire  string             // The original requirement string e.g. "1.*.*"
	NewRequire   string             // The new requirement string e.g. "2.*.*"
	OrigResolved string             // The version the original resolves to e.g. "1.2.3" (for display only)
	NewResolved  string             // The version the new resolves to e.g. "2.4.6" (for display only)
}

type DependencyWithOrigin added in v1.8.2

type DependencyWithOrigin struct {
	maven.Dependency
	Origin string // Origin indicates where the dependency comes from
}

type Manifest

type Manifest struct {
	FilePath          string                       // Path to the manifest file on disk
	Root              resolve.Version              // Version representing this package
	Requirements      []resolve.RequirementVersion // All direct requirements, including dev
	Groups            map[RequirementKey][]string  // Dependency groups that the imports belong to
	LocalManifests    []Manifest                   // manifests of local packages
	EcosystemSpecific any                          // Any ecosystem-specific information needed
}

func (Manifest) Clone

func (m Manifest) Clone() Manifest

func (Manifest) System

func (m Manifest) System() resolve.System

type MavenDependencyPatches added in v1.8.3

type MavenDependencyPatches map[string]map[MavenPatch]bool //  origin -> patch -> whether from this project

MavenDependencyPatches represent the dependencies to be updated, which is a map of dependency patches of each origin.

type MavenManifestSpecific added in v1.7.0

type MavenManifestSpecific struct {
	Parent                 maven.Parent
	Properties             []PropertyWithOrigin         // Properties from the base project
	OriginalRequirements   []DependencyWithOrigin       // Dependencies from the base project
	RequirementsForUpdates []resolve.RequirementVersion // Requirements that we only need for updates
}

type MavenPatch added in v1.8.3

type MavenPatch struct {
	maven.DependencyKey
	NewRequire string
}

type MavenPatches added in v1.8.4

type MavenPatches struct {
	DependencyPatches MavenDependencyPatches
	PropertyPatches   MavenPropertyPatches
}

type MavenPropertyPatches added in v1.7.0

type MavenPropertyPatches map[string]map[string]string // origin -> tag -> value

MavenPropertyPatches represent the properties to be updated, which is a map of properties of each origin.

type MavenReadWriter added in v1.9.0

type MavenReadWriter struct {
	*datasource.MavenRegistryAPIClient
}

func NewMavenReadWriter added in v1.9.0

func NewMavenReadWriter() MavenReadWriter

func (MavenReadWriter) Read added in v1.9.0

func (MavenReadWriter) System added in v1.9.0

func (MavenReadWriter) System() resolve.System

func (MavenReadWriter) Write added in v1.9.0

func (MavenReadWriter) Write(df lockfile.DepFile, w io.Writer, patch Patch) error

type NpmReadWriter added in v1.9.0

type NpmReadWriter struct{}

func (NpmReadWriter) Read added in v1.9.0

func (NpmReadWriter) System added in v1.9.0

func (NpmReadWriter) System() resolve.System

func (NpmReadWriter) Write added in v1.9.0

func (NpmReadWriter) Write(r lockfile.DepFile, w io.Writer, patch Patch) error

type PackageJSON

type PackageJSON struct {
	Name    string `json:"name"`
	Version string `json:"version"`
	// TODO: yarn allows workspaces to be a object OR a list:
	// https://classic.yarnpkg.com/blog/2018/02/15/nohoist/
	Workspaces           []string          `json:"workspaces"`
	Dependencies         map[string]string `json:"dependencies"`
	DevDependencies      map[string]string `json:"devDependencies"`
	OptionalDependencies map[string]string `json:"optionalDependencies"`

	// These fields are currently only used when parsing package-lock.json
	PeerDependencies map[string]string `json:"peerDependencies"`
}

type Patch added in v1.9.0

type Patch struct {
	Manifest          *Manifest         // The original manifest
	Deps              []DependencyPatch // Changed direct dependencies
	EcosystemSpecific any               // Any ecosystem-specific information
}

type PropertyWithOrigin added in v1.7.0

type PropertyWithOrigin struct {
	maven.Property
	Origin string // Origin indicates where the property comes from
}

type ReadWriter added in v1.9.0

type ReadWriter interface {
	// System returns which ecosystem this ReadWriter is for.
	System() resolve.System
	// Read parses a manifest file into a Manifest, possibly recursively following references to other local manifest files
	Read(file lockfile.DepFile) (Manifest, error)
	// Write applies the Patch to the manifest, with minimal changes to the file.
	// `original` is the original manifest file to read from. The updated manifest is written to `output`.
	Write(original lockfile.DepFile, output io.Writer, patches Patch) error
}

func GetReadWriter added in v1.9.0

func GetReadWriter(pathToManifest string) (ReadWriter, error)

type RequirementKey added in v1.8.0

type RequirementKey struct {
	resolve.PackageKey
	EcosystemSpecific any
}

A RequirementKey is a comparable type that uniquely identifies a package dependency in a manifest. It does not include the version specification.

func MakeRequirementKey added in v1.8.0

func MakeRequirementKey(requirement resolve.RequirementVersion) RequirementKey

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL