packwerk 3.2.0 → 3.2.1

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.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/lib/packwerk/checker.rb +3 -3
  3. data/lib/packwerk/offenses_formatter.rb +3 -3
  4. data/lib/packwerk/package_todo.rb +1 -4
  5. data/lib/packwerk/parsers/factory.rb +3 -3
  6. data/lib/packwerk/parsers/ruby.rb +7 -0
  7. data/lib/packwerk/reference_offense.rb +1 -1
  8. data/lib/packwerk/validator.rb +3 -3
  9. data/lib/packwerk/version.rb +1 -1
  10. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +3280 -3450
  11. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +2322 -1782
  12. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +2654 -3268
  13. data/sorbet/rbi/gems/ast@2.4.2.rbi +535 -6
  14. data/sorbet/rbi/gems/better_html@2.0.1.rbi +529 -0
  15. data/sorbet/rbi/gems/builder@3.2.4.rbi +4 -4
  16. data/sorbet/rbi/gems/byebug@11.1.3.rbi +32 -4
  17. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +1750 -1840
  18. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +15 -15
  19. data/sorbet/rbi/gems/crass@1.0.6.rbi +489 -5
  20. data/sorbet/rbi/gems/erubi@1.11.0.rbi +24 -21
  21. data/sorbet/rbi/gems/i18n@1.12.0.rbi +395 -395
  22. data/sorbet/rbi/gems/json@2.6.2.rbi +70 -77
  23. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +1 -1
  24. data/sorbet/rbi/gems/loofah@2.18.0.rbi +134 -134
  25. data/sorbet/rbi/gems/m@1.6.0.rbi +60 -60
  26. data/sorbet/rbi/gems/method_source@1.1.0.rbi +303 -0
  27. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +22 -28
  28. data/sorbet/rbi/gems/minitest@5.16.2.rbi +384 -396
  29. data/sorbet/rbi/gems/mocha@1.14.0.rbi +589 -589
  30. data/sorbet/rbi/gems/netrc@0.11.0.rbi +37 -32
  31. data/sorbet/rbi/gems/nokogiri@1.15.3.rbi +962 -946
  32. data/sorbet/rbi/gems/{parallel@1.22.1.rbi → parallel@1.24.0.rbi} +85 -82
  33. data/sorbet/rbi/gems/{parser@3.2.2.0.rbi → parser@3.3.1.0.rbi} +1679 -1609
  34. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +1 -1
  35. data/sorbet/rbi/gems/{prism@0.24.0.rbi → prism@0.27.0.rbi} +13473 -6472
  36. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.7.1.rbi} +42 -33
  37. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +148 -338
  38. data/sorbet/rbi/gems/rack@2.2.4.rbi +1079 -1130
  39. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +354 -22
  40. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +113 -259
  41. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +642 -638
  42. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +109 -99
  43. data/sorbet/rbi/gems/rake@13.0.6.rbi +714 -599
  44. data/sorbet/rbi/gems/{rbi@0.0.15.rbi → rbi@0.1.12.rbi} +865 -801
  45. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +853 -870
  46. data/sorbet/rbi/gems/rexml@3.2.5.rbi +480 -477
  47. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +1621 -1622
  48. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +507 -526
  49. data/sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi +1 -1
  50. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +186 -203
  51. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +8126 -8367
  52. data/sorbet/rbi/gems/{ruby-lsp@0.2.1.rbi → ruby-lsp@0.2.3.rbi} +2 -2
  53. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1235 -4
  54. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +90 -90
  55. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  56. data/sorbet/rbi/gems/spring@4.0.0.rbi +104 -104
  57. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +1 -1
  58. data/sorbet/rbi/gems/{tapioca@0.9.2.rbi → tapioca@0.13.3.rbi} +1596 -1253
  59. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.3.1.rbi} +1047 -652
  60. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +531 -513
  61. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +13 -13
  62. data/sorbet/rbi/gems/{yard-sorbet@0.6.1.rbi → yard-sorbet@0.8.1.rbi} +132 -92
  63. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.36.rbi} +3158 -3067
  64. data/sorbet/rbi/gems/zeitwerk@2.6.4.rbi +149 -145
  65. metadata +18 -76
  66. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -27
  67. data/.github/pull_request_template.md +0 -28
  68. data/.github/workflows/ci.yml +0 -93
  69. data/.github/workflows/cla.yml +0 -22
  70. data/.gitignore +0 -13
  71. data/.rubocop.yml +0 -75
  72. data/.ruby-version +0 -1
  73. data/CODEOWNERS +0 -1
  74. data/CODE_OF_CONDUCT.md +0 -76
  75. data/CONTRIBUTING.md +0 -17
  76. data/Gemfile +0 -27
  77. data/Gemfile.lock +0 -206
  78. data/RESOLVING_VIOLATIONS.md +0 -76
  79. data/Rakefile +0 -22
  80. data/TROUBLESHOOT.md +0 -44
  81. data/UPGRADING.md +0 -66
  82. data/USAGE.md +0 -364
  83. data/bin/console +0 -15
  84. data/bin/m +0 -29
  85. data/bin/rake +0 -29
  86. data/bin/rubocop +0 -29
  87. data/bin/setup +0 -8
  88. data/bin/srb +0 -29
  89. data/bin/tapioca +0 -29
  90. data/dev.yml +0 -32
  91. data/docs/cohesion.png +0 -0
  92. data/gemfiles/Gemfile-rails-6-0 +0 -22
  93. data/gemfiles/Gemfile-rails-6-1 +0 -22
  94. data/packwerk.gemspec +0 -59
  95. data/shipit.rubygems.yml +0 -5
  96. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +0 -2754
  97. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +0 -1496
  98. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +0 -2362
  99. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +0 -1569
  100. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +0 -2553
  101. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +0 -5999
  102. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +0 -37832
  103. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +0 -2321
  104. data/sorbet/rbi/gems/better_html@1.0.16.rbi +0 -317
  105. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  106. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1079
  107. data/sorbet/rbi/gems/digest@3.1.0.rbi +0 -189
  108. data/sorbet/rbi/gems/globalid@1.0.0.rbi +0 -572
  109. data/sorbet/rbi/gems/mail@2.7.1.rbi +0 -2490
  110. data/sorbet/rbi/gems/marcel@1.0.2.rbi +0 -220
  111. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -76
  112. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +0 -170
  113. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +0 -2147
  114. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +0 -926
  115. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +0 -11
  116. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +0 -1108
  117. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +0 -292
  118. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  119. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +0 -8
  120. data/sorbet/rbi/gems/spoom@1.1.11.rbi +0 -2181
  121. data/sorbet/rbi/gems/strscan@3.0.4.rbi +0 -8
  122. data/sorbet/rbi/gems/timeout@0.3.0.rbi +0 -142
  123. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  124. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2582
  125. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +0 -993
  126. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +0 -71
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98dd65426866ebc6f1421486a1a8573ea539dc143c448cd6632b77c5ca5ef5d8
4
- data.tar.gz: 960fe5383ebd4ebadfc05698a64bd2537b1cf9c03525cd1780ff1f27ea5bd468
3
+ metadata.gz: f8766d43b92fcc7bedad92604cde48e11433afdf474b21515f363b595c7fae23
4
+ data.tar.gz: 0d386a1d690b6c07d41a6d63b0907f38d57fffd87d2ab370ee580cbcd0826a17
5
5
  SHA512:
6
- metadata.gz: d91230970adbcfb9deaedd33a6745531b5245f929da676fb382ae0b661777777e522c14876ba9ace23d2f39dd4f72e528bc0543c1ecaaa463ba293113efab1bd
7
- data.tar.gz: d2e1cbb00dc3dcaa1a92548f506124e0f05b4b8fa9f5c5837fa271ffb2e3847277fae8945b13cae0a05223540c386ead8efb7e8108436af2732c9525f9b00b4c
6
+ metadata.gz: a64ccf65829b48691341b0abc09013213bd266ca9d2ec7a37fa1735856ae6b707d904ad75012c91bcd5a6d3ec4991ed6d7f1545140232d34f6d27452f5ac5a27
7
+ data.tar.gz: f231695cf34fc0fb109d70efcff6874d5268b70c4af80688813734448f5c3d1ee3a705dbe3ece0bbb156733585f581f941917ed43f1666bb58f9617932858e18
@@ -11,7 +11,7 @@ module Packwerk
11
11
  class << self
12
12
  extend T::Sig
13
13
 
14
- sig { params(base: Class).void }
14
+ sig { params(base: T::Class[T.anything]).void }
15
15
  def included(base)
16
16
  checkers << base
17
17
  end
@@ -34,9 +34,9 @@ module Packwerk
34
34
  require("packwerk/reference_checking/checkers/dependency_checker")
35
35
  end
36
36
 
37
- sig { returns(T::Array[Class]) }
37
+ sig { returns(T::Array[T::Class[T.anything]]) }
38
38
  def checkers
39
- @checkers ||= T.let([], T.nilable(T::Array[Class]))
39
+ @checkers ||= T.let([], T.nilable(T::Array[T::Class[T.anything]]))
40
40
  end
41
41
 
42
42
  sig { params(name: String).returns(Checker) }
@@ -20,7 +20,7 @@ module Packwerk
20
20
  class << self
21
21
  extend T::Sig
22
22
 
23
- sig { params(base: Class).void }
23
+ sig { params(base: T::Class[T.anything]).void }
24
24
  def included(base)
25
25
  offenses_formatters << base
26
26
  end
@@ -43,9 +43,9 @@ module Packwerk
43
43
  require("packwerk/formatters/default_offenses_formatter")
44
44
  end
45
45
 
46
- sig { returns(T::Array[Class]) }
46
+ sig { returns(T::Array[T::Class[T.anything]]) }
47
47
  def offenses_formatters
48
- @offenses_formatters ||= T.let([], T.nilable(T::Array[Class]))
48
+ @offenses_formatters ||= T.let([], T.nilable(T::Array[T::Class[T.anything]]))
49
49
  end
50
50
 
51
51
  sig { params(name: String).returns(OffensesFormatter) }
@@ -113,10 +113,7 @@ module Packwerk
113
113
  sig { params(package: String, violations: Entry).returns(T::Boolean) }
114
114
  def stale_violation_for_package?(package, violations:)
115
115
  violations.any? do |constant_name, entries_for_constant|
116
- new_entries_violation_types = T.cast(
117
- new_entries.dig(package, constant_name, "violations"),
118
- T.nilable(T::Array[String]),
119
- )
116
+ new_entries_violation_types = new_entries.dig(package, constant_name, "violations")
120
117
  # If there are no NEW entries that match the old entries `for_files`,
121
118
  # new_entries is from the list of violations we get when we check this file.
122
119
  # If this list is empty, we also must have stale violations.
@@ -24,7 +24,7 @@ module Packwerk
24
24
  def initialize
25
25
  @ruby_parser = T.let(nil, T.nilable(ParserInterface))
26
26
  @erb_parser = T.let(nil, T.nilable(ParserInterface))
27
- @erb_parser_class = T.let(nil, T.nilable(Class))
27
+ @erb_parser_class = T.let(nil, T.nilable(T::Class[T.anything]))
28
28
  end
29
29
 
30
30
  sig { params(path: String).returns(T.nilable(ParserInterface)) }
@@ -37,12 +37,12 @@ module Packwerk
37
37
  end
38
38
  end
39
39
 
40
- sig { returns(Class) }
40
+ sig { returns(T::Class[T.anything]) }
41
41
  def erb_parser_class
42
42
  @erb_parser_class ||= Erb
43
43
  end
44
44
 
45
- sig { params(klass: T.nilable(Class)).void }
45
+ sig { params(klass: T.nilable(T::Class[T.anything])).void }
46
46
  def erb_parser_class=(klass)
47
47
  @erb_parser_class = klass
48
48
  @erb_parser = nil
@@ -19,6 +19,13 @@ module Packwerk
19
19
  super(builder)
20
20
  super.diagnostics.all_errors_are_fatal = true
21
21
  end
22
+
23
+ private
24
+
25
+ sig { params(error: Prism::ParseError).returns(T::Boolean) }
26
+ def valid_error?(error)
27
+ error.type != :invalid_yield
28
+ end
22
29
  end
23
30
 
24
31
  class TolerateInvalidUtf8Builder < Parser::Builders::Default
@@ -23,7 +23,7 @@ module Packwerk
23
23
  .void
24
24
  end
25
25
  def initialize(reference:, violation_type:, message:, location: nil)
26
- super(file: reference.relative_path, message: message, location: location)
26
+ super(file: T.must(reference.relative_path), message: message, location: location)
27
27
  @reference = reference
28
28
  @violation_type = violation_type
29
29
  end
@@ -18,7 +18,7 @@ module Packwerk
18
18
  class << self
19
19
  extend T::Sig
20
20
 
21
- sig { params(base: Class).void }
21
+ sig { params(base: T::Class[T.anything]).void }
22
22
  def included(base)
23
23
  validators << base
24
24
  end
@@ -36,9 +36,9 @@ module Packwerk
36
36
  require("packwerk/validators/dependency_validator")
37
37
  end
38
38
 
39
- sig { returns(T::Array[Class]) }
39
+ sig { returns(T::Array[T::Class[T.anything]]) }
40
40
  def validators
41
- @validators ||= T.let([], T.nilable(T::Array[Class]))
41
+ @validators ||= T.let([], T.nilable(T::Array[T::Class[T.anything]]))
42
42
  end
43
43
  end
44
44
 
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Packwerk
5
- VERSION = "3.2.0"
5
+ VERSION = "3.2.1"
6
6
  end