Documentation
¶
Overview ¶
Package javascript provides dependency resolution for npm packages.
Overview ¶
This package implements deps.Language for JavaScript/Node.js, supporting:
- npm registry resolution via npm client
- package.json manifest parsing
Registry Resolution ¶
Use [Language.Resolver] to fetch dependencies from npm:
resolver, _ := javascript.Language.Resolver()
g, _ := resolver.Resolve(ctx, "express", deps.Options{MaxDepth: 10})
The resolver fetches the "dependencies" field from each package, excluding devDependencies, peerDependencies, and optionalDependencies.
Manifest Parsing ¶
Parse package.json files:
parser, _ := javascript.Language.Manifest("npm", nil)
result, _ := parser.Parse("package.json", deps.Options{})
Note: package.json contains direct dependencies only. The resolver fetches transitive dependencies from npm.
npm: github.com/matzehuels/stacktower/pkg/integrations/npm deps.Language: github.com/matzehuels/stacktower/pkg/deps.Language
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Language = &deps.Language{ Name: "javascript", DefaultRegistry: "npm", ManifestTypes: []string{"package"}, ManifestAliases: map[string]string{"package.json": "package"}, NewResolver: newResolver, NewManifest: newManifest, ManifestParsers: manifestParsers, }
Language provides JavaScript/TypeScript dependency resolution via npm. Supports package.json manifest files.
Functions ¶
This section is empty.
Types ¶
type PackageJSON ¶
type PackageJSON struct {
// contains filtered or unexported fields
}
PackageJSON parses package.json files. It extracts dependencies, devDependencies, and peerDependencies.
func (*PackageJSON) IncludesTransitive ¶
func (p *PackageJSON) IncludesTransitive() bool
func (*PackageJSON) Parse ¶
func (p *PackageJSON) Parse(path string, opts deps.Options) (*deps.ManifestResult, error)
func (*PackageJSON) Supports ¶
func (p *PackageJSON) Supports(name string) bool
func (*PackageJSON) Type ¶
func (p *PackageJSON) Type() string