-
Notifications
You must be signed in to change notification settings - Fork 2
module map refactor
Daniel Lamando edited this page Feb 16, 2023
·
1 revision
Types of module map:
- 'per-file' graph, direct from
deno info
without collapsing - 'pkgs-overview' graph, built from per-file graph & collapses everything into their modules
- 'pkg-focus' graph, shows all files within one module + immediate upstream/downstreams (also emits as subgraphs)
per-file graphs are used as input when constructing the other graphs
- deno_graph builds and emits raw JSON payload
- deno_graph JSON is translated directly into a 'per-file' ModuleMap
- A new 'pkgs-overview' ModuleMap is constructed using every node in the original 'per-file' map
- The 'pkgs-overview' ModuleMap is serialized as GraphViz text without subgraphs
- The dependencies-of feature renders the GraphViz into SVG and possibly inserts interaction buttons
- (same as above) deno_graph builds and emits raw JSON payload
- (same as above) deno_graph JSON is translated directly into a 'per-file' ModuleMap
- A new 'pkg-focus' ModuleMap is constructed from a subset of the original 'per-file' map's nodes, plus direct connections outside
- The 'pkg-focus' ModuleMap is serialized as GraphViz text including one or more subgraphs
- (same as above) The dependencies-of feature renders the GraphViz into SVG and possibly inserts interaction buttons