visualize_packwerk 0.2.0 → 0.2.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa3fce5bdaac63e80b257bcb8a9294d01c6bf82fbd5f6eaf7e22bc4c2c46096d
|
4
|
+
data.tar.gz: e8d5e14f4c5d66749d76784fa985b49f9b0dc51c5a85a0581816f1218811eee3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90085ef3d52e36bd01eaabae163cd900cc26575958b75915976d4f426ec998396b650490a2eb7ca3d266d1951f6a333cf704da98ada665d7763656c428e8c61b
|
7
|
+
data.tar.gz: 98e21b88e7e0603347c52889510de23a0dd8a8fdbedb6526dc16f3868e731dd997acd312c29baaaf43b66957a3f2ff756841ce491f51b79445052a7c3539b0ab
|
@@ -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(
|
data/lib/visualize_packwerk.rb
CHANGED
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.3
|
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-
|
11
|
+
date: 2023-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|