Expand description
Dependency deltas for the decision surface: what a changed package.json
adds or moves across a major version, read from the base and head manifest
text, projected onto DependencyAnchors. Pure over its inputs; the CLI
reads base text through git and the typed runtime through the base
worktree, and both hand the pairs to dependency_anchors_from_manifests
so the two routes cannot drift.
Firing precision mirrors the public-API rule R1: a manifest yields at most one “added” candidate set and one “major bump” candidate set, never one decision per package. Minor and patch bumps are not candidates; a range that does not start with a numeric version (a workspace, catalog, file, git, or tag specifier) is skipped rather than guessed at.
Structs§
- Dependency
Change - One dependency entry that changed between base and head.
- Manifest
Dependency Deltas - The dependency changes in one manifest, split by candidate kind.
- Manifest
Pair - A changed manifest with its base and head text.
Functions§
- dependency_
anchors_ from_ manifests - Project manifest pairs onto dependency anchors, one per manifest per kind, in manifest order. Importer counts come from the graph’s package usage; a package the graph never saw counts zero.
- dependency_
delta_ key - The stable delta key for one dependency entry:
<manifest>::<name>for an added entry,<manifest>::<name>@<from>-><to>for a bump. The decision candidate key joins these with|, so the brief’sdeltasand the decision’ssignal_keyname the same change. - fill_
dependency_ delta_ keys - Mirror the dependency anchors onto the brief’s
deltasas stable keys so the JSON envelope names what changed even when the cap collapses the decision. - is_
major_ bump - Whether moving a range from
fromtotocrosses a major version. Both sides must start with a numeric version once the range operator is stripped; anything else (workspace, catalog, file, git, tag, wildcard) is not a bump fallow can classify. A0.xline treats a minor move as major, the semver convention for pre-1.0 packages. - is_
manifest_ path - Whether
rel_pathis apackage.jsonmanifest fallow should diff. - manifest_
dependency_ deltas - Diff the dependency sections of a manifest between
baseandheadtext. Malformed JSON on either side reads as empty: an unreadable base makes every head entry new, an unreadable head yields nothing.