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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c15049155fd43dca095255941ff8f996409fd2712f28008874fe3a772ba9b28b
4
- data.tar.gz: 406b008fa89777838b588080aa3ee25afd417f16663124b668937ea91c3b9c17
3
+ metadata.gz: 4684e489b9b59adcca847e4c3261f98d487210b07c3573e9c147f94fd0044424
4
+ data.tar.gz: 9f3e57d74e418e25e7732822193e1b7d3fd06048c46d6d1a9da7d97a60c62a7d
5
5
  SHA512:
6
- metadata.gz: b6ee92e733adf0da1062cf262849685a5adb053baef2adb34793aadedbb68c072193a19df4ff9d8eed280e491cfb0afac4bb9a1211962f6cd1d8a9b20c4bf6d8
7
- data.tar.gz: 6ca30bbcadd94b1b8241456001c6d8144f6b395718cb1d765605cb0c2f1fb7b0bffe4d36c312cbb7510ed9930385013eafe598788f63d6c675abbcd8b6034539
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] ||= T.must(package_nodes.find { |node| node.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
- other_team = package_graph.package_by_name(pack_name).team_name
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
- dependencies << package_graph.package_by_name(dependency).team_name
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.0
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-02 00:00:00.000000000 Z
11
+ date: 2023-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime