mix releaser.graph (releaser v0.0.6)

Copy Markdown View Source

Displays the dependency graph of all apps in the workspace.

Usage

mix releaser.graph                    # compact (default)
mix releaser.graph --detailed         # multiline metadata per app
mix releaser.graph -d                 # alias for --detailed
mix releaser.graph --hex              # also query Hex for publish status
mix releaser.graph -d --hex           # combine both
mix releaser.graph <app>              # show dependents of an app

Output modes

Compact (default)

Each app fits on one line with inline badges:

sat_auth v1.0.1 [publish: ] [hex: ahead] [@version]
 depends on: cfdi_certificados[0][0][0]

Badges:

  • [publish: ✓] (green) — releaser: [publish: true] and no blocking deps.
  • [publish: ✗] (dim) — app is not marked publishable (publish: false or absent).
  • [publish: ✗ blocked] (red) — marked publishable but at least one direct or transitive internal dep is non-publishable. The app would never reach Hex correctly, so mix releaser.publish excludes it (see Releaser.Publisher).
  • [hex: ...] — only with --hex. Possible values: ahead, published, unpub, pre.
  • [@version] — only when the app declares @version (vs. literal version: "...").

Detailed

Each app expands to multiple ├─ / └─ branches:

sat_auth v1.0.1
 depends on: cfdi_certificados[0][0][0]
 publish: yes
 hex: ahead (local v1.0.1, remote v1.0.0)
 version form: @version
 path: apps/sat_auth

When an app is blocked by non-publishable deps, the publish branch becomes publish: blocked (needs: dep1, dep2) listing the immediate blocking deps.

Summary

After the levels view, a summary block reports counts:

Total apps:          N
Levels:              N
Apps with path deps: N
Publishable apps:    N    # subtracts blocked apps
Blocked apps:        N    # only shown when > 0
Publish order:       level 0  level N

Annotation format (deps)

In both modes, each project-internal dep listed under depends on: is rendered as name[level][count][deep]:

  • [level] — topological level of the dep, colored by palette (cycles every 6).
  • [count] — number of direct project-internal deps the dep itself has.
  • [deep] — shallow count of those deps that themselves have further deps.

True leaves (level 0, count 0, deep 0) are rendered as bare names with no brackets. The <app> dependents-tree form is not annotated.