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: c15049155fd43dca095255941ff8f996409fd2712f28008874fe3a772ba9b28b
4
- data.tar.gz: 406b008fa89777838b588080aa3ee25afd417f16663124b668937ea91c3b9c17
3
+ metadata.gz: fa3fce5bdaac63e80b257bcb8a9294d01c6bf82fbd5f6eaf7e22bc4c2c46096d
4
+ data.tar.gz: e8d5e14f4c5d66749d76784fa985b49f9b0dc51c5a85a0581816f1218811eee3
5
5
  SHA512:
6
- metadata.gz: b6ee92e733adf0da1062cf262849685a5adb053baef2adb34793aadedbb68c072193a19df4ff9d8eed280e491cfb0afac4bb9a1211962f6cd1d8a9b20c4bf6d8
7
- data.tar.gz: 6ca30bbcadd94b1b8241456001c6d8144f6b395718cb1d765605cb0c2f1fb7b0bffe4d36c312cbb7510ed9930385013eafe598788f63d6c675abbcd8b6034539
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] ||= 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(
@@ -1,6 +1,6 @@
1
1
  # typed: strict
2
2
 
3
- require 'packs'
3
+ require 'packs-specification'
4
4
  require 'parse_packwerk'
5
5
  require 'code_ownership'
6
6
  require 'graphviz'
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.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-05-02 00:00:00.000000000 Z
11
+ date: 2023-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime