visualize_packwerk 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/visualize_packwerk/package_graph.rb +3 -3
- data/lib/visualize_packwerk/team_graph.rb +6 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4684e489b9b59adcca847e4c3261f98d487210b07c3573e9c147f94fd0044424
|
4
|
+
data.tar.gz: 9f3e57d74e418e25e7732822193e1b7d3fd06048c46d6d1a9da7d97a60c62a7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51eaec81b7b964cba8e6bca64c2e1b80298f650d6fcf7fdd1c0817e016f9661a437ab86f068d9a041a903d1c83b8d31212343419a807ebefd117ed5c4dfa6832
|
7
|
+
data.tar.gz: e8eb48b12eb1841bd0543f660c29dd8644cf3cfd9cedf31fcab81b51f76e8353d87bfd522197b07ad6e0622cfbfaaa4649d49eee8a6b6d242f719e2510bd4e46
|
@@ -16,7 +16,7 @@ module VisualizePackwerk
|
|
16
16
|
sig { params(package_nodes: T::Set[PackageNode]).void }
|
17
17
|
def initialize(package_nodes:)
|
18
18
|
@package_nodes = package_nodes
|
19
|
-
@index_by_name = T.let({}, T::Hash[String, PackageNode])
|
19
|
+
@index_by_name = T.let({}, T::Hash[String, T.nilable(PackageNode)])
|
20
20
|
end
|
21
21
|
|
22
22
|
sig { returns(PackageGraph) }
|
@@ -46,9 +46,9 @@ module VisualizePackwerk
|
|
46
46
|
PackageGraph.new(package_nodes: package_nodes)
|
47
47
|
end
|
48
48
|
|
49
|
-
sig { params(name: String).returns(PackageNode) }
|
49
|
+
sig { params(name: String).returns(T.nilable(PackageNode)) }
|
50
50
|
def package_by_name(name)
|
51
|
-
@index_by_name[name] ||=
|
51
|
+
@index_by_name[name] ||= package_nodes.find { |node| node.name == name }
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -26,7 +26,9 @@ module VisualizePackwerk
|
|
26
26
|
package_nodes_for_team.map(&:violations_by_package).each do |new_violations_by_package|
|
27
27
|
new_violations_by_package.each do |pack_name, count|
|
28
28
|
# We first get the pack owner of the violated package
|
29
|
-
|
29
|
+
other_package = package_graph.package_by_name(pack_name)
|
30
|
+
next if other_package.nil?
|
31
|
+
other_team = other_package.team_name
|
30
32
|
violations_by_team[other_team] ||= 0
|
31
33
|
# Then we add the violations on that team together
|
32
34
|
# TODO: We may want to ignore this if team == other_team to avoid arrows pointing to self, but maybe not!
|
@@ -36,7 +38,9 @@ module VisualizePackwerk
|
|
36
38
|
|
37
39
|
dependencies = Set.new
|
38
40
|
package_nodes_for_team.map(&:dependencies).reduce(Set.new, :+).each do |dependency|
|
39
|
-
|
41
|
+
other_pack = package_graph.package_by_name(dependency)
|
42
|
+
next if other_pack.nil?
|
43
|
+
dependencies << other_pack.team_name
|
40
44
|
end
|
41
45
|
|
42
46
|
team_nodes << TeamNode.new(
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: visualize_packwerk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gusto Engineers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|