Browse the documentation

AEL 1.0.0

Dependency graph

In AEL, the Agent Engineering Language, ael pack graph shows the complete dependency graph of a scope, as its lock file records it: every package, direct or not, and every link between them.

Usage

ael pack graph
ael pack graph --json
OptionMeaning
--jsonThe graph in machine-readable form, for your own tools.

What it shows

It shows:

  • Every package in the scope's pack.lock, with its exact version, origin and publisher.
  • Every link: which package depends on which, and whether the link is for running the program, for building it or for development only.
  • Features: the features each link requests, and the combined features each package receives.
  • Targets: links that apply only to some targets. They stay in the graph, marked, even when they are not part of a build for your target.
  • Your declarations: which packages your pack.ael names directly, as the starting points of the graph.

The text form is meant for reading; --json gives the same graph with every field, for tools that draw or check it.

What it is, and what it is not

The graph is the record of what the scope depends on, taken from the lock file. It is not a record of what your program calls: a package may be in the graph and still be unused by your code. ael refmap shows what your code references, and the build keeps only that.

What it never does

ael pack graph reads pack.lock only. It changes nothing, uses no network, installs nothing and runs no package code. It never resolves versions again: it shows the graph that was locked, so the answer is the same on every machine that has the same lock file.