Skip to main content
WhatsApp Web’s code is scrambled before it ships. One module never mentions another by name, it refers to it by position (d[3]). Searching for usages therefore finds nothing. The list of connections survives in each module’s dependency array, and cellar reverses those arrays while unpacking, so it can answer the question directly.

Direction

Choosing the roots

Give module names, a regex, or both. The regex form is how you graph a whole feature at once.

Export formats

Mermaid

Paste that into GitHub, Notion, or these docs and it renders: Arrows always point from the module that depends to the module it depends on, whichever direction you walked.

Graphviz

Roots are shaded. Modules that are referenced but not present in this version are drawn with a dashed outline, and modules your filter would have excluded are greyed out.

JSON

Each node reports its depth from the nearest root, whether it exists in this version, its total dependency and dependent counts, and its file path.

Options

Filtered nodes are marked rather than deleted, because a module you do not care about can still be the only link between two you do. The STATE column tells you which is which.