packagelockjson

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2025 License: Apache-2.0, BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Overview

Package packagelockjson provides the structures for npm's package-lock.json lockfile format.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dependency

type Dependency struct {
	// For an aliased package, Version is like "npm:[name]@[version]"
	Version  string `json:"version"`
	Resolved string `json:"resolved"`

	Dev      bool `json:"dev,omitempty"`
	Optional bool `json:"optional,omitempty"`

	Requires     map[string]string     `json:"requires,omitempty"`
	Dependencies map[string]Dependency `json:"dependencies,omitempty"`
}

Dependency is the representation of an installed dependency in lockfileVersion 1

func (Dependency) DepGroups

func (dep Dependency) DepGroups() []string

DepGroups returns the list of groups this dependency belongs to. May be empty, or one or both of "dev", "optional".

type LockFile

type LockFile struct {
	Version int `json:"lockfileVersion"`
	// npm v1- lockfiles use "dependencies"
	Dependencies map[string]Dependency `json:"dependencies,omitempty"`
	// npm v2+ lockfiles use "packages"
	Packages map[string]Package `json:"packages,omitempty"`
}

LockFile is the npm package-lock.json lockfile.

type Package

type Package struct {
	// For an aliased package, Name is the real package name
	Name     string `json:"name,omitempty"`
	Version  string `json:"version"`
	Resolved string `json:"resolved"`
	Link     bool   `json:"link,omitempty"`

	Dev         bool `json:"dev,omitempty"`
	DevOptional bool `json:"devOptional,omitempty"`
	Optional    bool `json:"optional,omitempty"`
	InBundle    bool `json:"inBundle,omitempty"`

	Dependencies         map[string]string `json:"dependencies,omitempty"`
	DevDependencies      map[string]string `json:"devDependencies,omitempty"`
	OptionalDependencies map[string]string `json:"optionalDependencies,omitempty"`
	PeerDependencies     map[string]string `json:"peerDependencies,omitempty"`
	PeerDependenciesMeta map[string]struct {
		Optional bool `json:"optional,omitempty"`
	} `json:"peerDependenciesMeta,omitempty"`
}

Package is the representation of an installed dependency in lockfileVersion 2+

func (Package) DepGroups

func (pkg Package) DepGroups() []string

DepGroups returns the list of groups this package belongs to. Supported groups are "bundled", "dev", and "optional", with an empty group implying a production dependency.

Jump to

Keyboard shortcuts

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