ecosystem

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2026 License: MIT Imports: 5 Imported by: 0

README

ecosystem

Two-phase manifest handling for ecosystems and package managers

API

// Phase 1: Detection (cheap) - find manifests, identify package manager
manifests, err := ecosystem.DetectManifests(dir)

// Phase 2: Parsing (expensive) - extract dependencies
for _, m := range manifests {
    parsed, err := ecosystem.ParseManifest(m, repoRoot)
}

Structure

ecosystem/
├── detect.go              # Top-level orchestrator
├── parse.go               # Top-level router
└── <ecosystem>/
    ├── detect.go          # Ecosystem-specific detection
    ├── parse.go           # Ecosystem-specific parsing
    ├── lockfiles.go       # Lockfile detection wrapper
    └── package_manager/   # Per-package-manager lockfile detectors

Package Manager Detection

Detection infers PackageManager from lockfile presence in the manifest directory (searching upward to repo root). Each ecosystem defines its own lockfile-to-manager mapping.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DetectLockfileWithManager

func DetectLockfileWithManager(ecoName, manifestDir, repoRoot string) (*string, *string)

func ParseManifest

func ParseManifest(manifest models.DetectedManifest, repoRoot string) (*models.ManifestResult, error)

Types

type ManifestResult

type ManifestResult = models.ManifestResult

type ManifestsResult

type ManifestsResult = models.ManifestsResult

Jump to

Keyboard shortcuts

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