visualize_packwerk 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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