visualize_packs 0.5.18 → 0.5.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c493faea12dcf090c4823910d9ecdcfc7da5eca6e370732caa2e063a832a704
4
- data.tar.gz: 80b1906deaf843d82c4b317f15234e0ec023fe5fc66efcb865bf94f519101c92
3
+ metadata.gz: 21c174ca9487c1d11560c585972f1da5ff9b8ddc53148537753af82d1fb66a25
4
+ data.tar.gz: 2b910b38ad69c3df0631a98b21ec4ca6651190ab973bfc4ba4692e0f1fb7d740
5
5
  SHA512:
6
- metadata.gz: dab454f3ae4f6dac67e0027417bd996640fc85ab6ac397690051fd77c8a66aeb86175b86c4df39f18027a55d516f1f0b12f587fe090f2788991e6d927511dce0
7
- data.tar.gz: 9d1fbc976c03a3540dd6f385193d7cd95e0b97a3f1c2fa6261000204a78924f280718b63568d8f510afd76f33d96db29a63984faeb6255e3ad971905948b6f70
6
+ metadata.gz: 883ddfb826a9f9051b0431d289fd98b6a92d41c41a42f4e560c0fae89a9432e741c5d9fddd2802a9eae64c9c1a6073d541f26ca8269c40d7f27b946908881088
7
+ data.tar.gz: 6136452d922cefa21486b40c18b2df6fda1838f25030d66019edfd291101dcae503777f7ecc9581ccf07d0c894f5800adc44248a18b931359d2ab2e1eb65d727
data/lib/graph.dot.erb CHANGED
@@ -87,19 +87,19 @@ digraph package_diagram {
87
87
  <%- todo_types = todos_by_package[todos_to_package].group_by(&:type) -%>
88
88
  <%- todo_types.keys.each do |todo_type| -%>
89
89
  <%- if show_edge.call(package.name, todos_to_package) -%>
90
- "<%= package.name -%>" -> "<%= todos_to_package -%>"<%= todo_type == 'privacy' ? ':private' : '' -%> [ color=darkred style=dashed
90
+ "<%= package.name -%>" -> "<%= todos_to_package -%>"<%= todo_type == 'privacy' ? ':private' : '' -%> [
91
91
  <%- if !options.use_todos_for_layout -%>
92
92
  constraint=false
93
93
  <%- end -%>
94
94
  # headlabel="<%= todo_type -%>"
95
95
  <%- if todo_type == 'privacy' -%>
96
- arrowhead=crow
96
+ <%= VisualizePacks::ArrowHead::PrivacyTodo.serialize %>
97
97
  <%- elsif todo_type == 'architecture' -%>
98
- arrowhead=invodot
98
+ <%= VisualizePacks::ArrowHead::ArchitectureTodo.serialize %>
99
99
  <%- elsif todo_type == 'visibility' -%>
100
- arrowhead=obox
100
+ <%= VisualizePacks::ArrowHead::VisibilityTodo.serialize %>
101
101
  <%- elsif todo_type == 'dependency' -%>
102
- arrowhead=odot
102
+ <%= VisualizePacks::ArrowHead::DependencyTodo.serialize %>
103
103
  <%- end -%>
104
104
  penwidth=<%= todo_edge_width(todo_types[todo_type].count, max_todo_count) -%>
105
105
  ]
@@ -128,30 +128,46 @@ digraph package_diagram {
128
128
  subgraph cluster_legend {
129
129
  fontsize=16
130
130
  label="Edges Styles and Arrow Heads"
131
+ <%- if options.show_dependencies -%>
131
132
  A [ fontsize=12 shape=box label="package"]
132
133
  B [ fontsize=12 shape=box label="package"]
134
+ A -> B [label="accepted dependency" <%= VisualizePacks::ArrowHead::ConfiguredDependency.serialize %>]
135
+ <%- end -%>
136
+ <%- if options.show_nested_relationships -%>
133
137
  K [ fontsize=12 shape=box label="package"]
134
138
  L [ fontsize=12 shape=box label="package"]
139
+ K -> L [label="nested package" <%= VisualizePacks::ArrowHead::ConfiguredNested.serialize %>]
140
+ <%- end -%>
141
+ <%- if options.show_visibility -%>
135
142
  M [ fontsize=12 shape=box label="package"]
136
143
  N [ fontsize=12 shape=box label="package"]
137
-
144
+ M -> N [label="visibile to" <%= VisualizePacks::ArrowHead::ConfiguredVisibileTo.serialize %>]
145
+ <%- end -%>
146
+ <%- if options.show_todos -%>
147
+ <%- if options.only_todo_types.include?(EdgeTodoTypes::Privacy) -%>
138
148
  C [ fontsize=12 shape=box label="package"]
139
149
  D [ fontsize=12 shape=box label="package"]
150
+ C -> D [label="privacy todo" <%= VisualizePacks::ArrowHead::PrivacyTodo.serialize %>]
151
+ <%- end -%>
152
+ <%- if options.only_todo_types.include?(EdgeTodoTypes::Architecture) -%>
140
153
  E [ fontsize=12 shape=box label="package"]
141
154
  F [ fontsize=12 shape=box label="package"]
155
+ E -> F [label="architecture todo" <%= VisualizePacks::ArrowHead::ArchitectureTodo.serialize %>]
156
+ <%- end -%>
157
+ <%- if options.only_todo_types.include?(EdgeTodoTypes::Visibility) -%>
142
158
  G [ fontsize=12 shape=box label="package"]
143
159
  H [ fontsize=12 shape=box label="package"]
160
+ G -> H [label="visibility todo" <%= VisualizePacks::ArrowHead::VisibilityTodo.serialize %>]
161
+ <%- end -%>
162
+ <%- if options.only_todo_types.include?(EdgeTodoTypes::Dependency) -%>
144
163
  I [ fontsize=12 shape=box label="package"]
145
164
  J [ fontsize=12 shape=box label="package"]
146
-
147
- A -> B [label="accepted dependency" color=darkgreen]
148
- K -> L [label="nested package" color=purple]
149
- M -> N [label="visibile to" color=darkgreen]
150
-
151
- C -> D [label="privacy todo" color=darkred style=dashed arrowhead=crow]
152
- E -> F [label="architecture todo" color=darkred style=dashed arrowhead=invodot]
153
- G -> H [label="visibility todo" color=darkred style=dashed arrowhead=obox]
154
- I -> J [label="dependency todo" color=darkred style=dashed arrowhead=odot]
165
+ I -> J [label="dependency todo" <%= VisualizePacks::ArrowHead::DependencyTodo.serialize %>]
166
+ <%- end -%>
167
+ <%- end -%>
168
+ LEGEND_NODE_1 [ label="" peripheries=0 height=0 width=0 style=invis ]
169
+ LEGEND_NODE_2 [ label="" peripheries=0 height=0 width=0 style=invis ]
170
+ LEGEND_NODE_1 -> LEGEND_NODE_2 [ style=invis ]
155
171
  }
156
172
  <%- end -%>
157
173
  <%- if options.show_teams && all_team_names != [] -%>
@@ -172,7 +188,7 @@ digraph package_diagram {
172
188
  <%- end -%>
173
189
  }
174
190
  <%- if options.show_legend -%>
175
- J -> "<%= all_team_names.last %><%= all_team_names.last %>" [style=invis]
191
+ LEGEND_NODE_2 -> "<%= all_team_names.last %><%= all_team_names.last %>" [style=invis]
176
192
  <%- end -%>
177
193
  <%- end -%>
178
194
  }
@@ -11,6 +11,18 @@ require 'visualize_packs/options'
11
11
  module VisualizePacks
12
12
  extend T::Sig
13
13
 
14
+ class ArrowHead < T::Enum
15
+ enums do
16
+ DependencyTodo = new('color=darkred style=dashed arrowhead=odiamond')
17
+ PrivacyTodo = new('color=darkred style=dashed arrowhead=crow')
18
+ ArchitectureTodo = new('color=darkred style=dashed arrowhead=obox')
19
+ VisibilityTodo = new('color=darkred style=dashed arrowhead=tee')
20
+ ConfiguredDependency = new('color=darkgreen')
21
+ ConfiguredVisibileTo = new('color=blue')
22
+ ConfiguredNested = new('color=purple')
23
+ end
24
+ end
25
+
14
26
  sig { params(options: Options, raw_config: T::Hash[String, T.untyped], packages: T::Array[ParsePackwerk::Package]).returns(String) }
15
27
  def self.package_graph!(options, raw_config, packages)
16
28
  all_packages = filtered(packages, options).compact.sort_by {|x| x.name }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visualize_packs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.18
4
+ version: 0.5.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gusto Engineers