packwerk 3.0.0 → 3.2.2

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/exe/packwerk +4 -1
  4. data/lib/packwerk/application_validator.rb +3 -0
  5. data/lib/packwerk/association_inspector.rb +17 -4
  6. data/lib/packwerk/checker.rb +16 -7
  7. data/lib/packwerk/cli.rb +14 -177
  8. data/lib/packwerk/commands/base_command.rb +69 -0
  9. data/lib/packwerk/commands/check_command.rb +62 -0
  10. data/lib/packwerk/commands/help_command.rb +33 -0
  11. data/lib/packwerk/commands/init_command.rb +42 -0
  12. data/lib/packwerk/commands/lazy_loaded_entry.rb +37 -0
  13. data/lib/packwerk/commands/update_todo_command.rb +60 -0
  14. data/lib/packwerk/commands/uses_parse_run.rb +92 -0
  15. data/lib/packwerk/commands/validate_command.rb +46 -0
  16. data/lib/packwerk/commands/version_command.rb +18 -0
  17. data/lib/packwerk/commands.rb +54 -0
  18. data/lib/packwerk/configuration.rb +8 -1
  19. data/lib/packwerk/const_node_inspector.rb +2 -2
  20. data/lib/packwerk/constant_name_inspector.rb +2 -2
  21. data/lib/packwerk/file_processor.rb +12 -1
  22. data/lib/packwerk/formatters/default_offenses_formatter.rb +3 -3
  23. data/lib/packwerk/formatters/progress_formatter.rb +11 -0
  24. data/lib/packwerk/generators/templates/package.yml +2 -2
  25. data/lib/packwerk/generators/templates/packwerk.yml.erb +1 -1
  26. data/lib/packwerk/offense_collection.rb +32 -12
  27. data/lib/packwerk/offenses_formatter.rb +14 -5
  28. data/lib/packwerk/package.rb +1 -1
  29. data/lib/packwerk/package_todo.rb +86 -69
  30. data/lib/packwerk/parse_run.rb +42 -82
  31. data/lib/packwerk/parsers/factory.rb +3 -3
  32. data/lib/packwerk/parsers/ruby.rb +9 -2
  33. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +3 -3
  34. data/lib/packwerk/reference_extractor.rb +29 -1
  35. data/lib/packwerk/reference_offense.rb +1 -1
  36. data/lib/packwerk/run_context.rb +15 -4
  37. data/lib/packwerk/spring_command.rb +0 -2
  38. data/lib/packwerk/validator.rb +19 -5
  39. data/lib/packwerk/version.rb +1 -1
  40. data/lib/packwerk.rb +5 -28
  41. data/sorbet/config +1 -0
  42. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +3280 -3450
  43. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +2322 -1782
  44. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +2654 -3268
  45. data/sorbet/rbi/gems/ast@2.4.2.rbi +535 -6
  46. data/sorbet/rbi/gems/better_html@2.0.1.rbi +529 -0
  47. data/sorbet/rbi/gems/builder@3.2.4.rbi +4 -4
  48. data/sorbet/rbi/gems/byebug@11.1.3.rbi +32 -4
  49. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +1750 -1840
  50. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +15 -15
  51. data/sorbet/rbi/gems/crass@1.0.6.rbi +489 -5
  52. data/sorbet/rbi/gems/erubi@1.11.0.rbi +24 -21
  53. data/sorbet/rbi/gems/i18n@1.12.0.rbi +395 -395
  54. data/sorbet/rbi/gems/json@2.6.2.rbi +70 -77
  55. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +1 -1
  56. data/sorbet/rbi/gems/loofah@2.18.0.rbi +134 -134
  57. data/sorbet/rbi/gems/m@1.6.0.rbi +60 -60
  58. data/sorbet/rbi/gems/method_source@1.1.0.rbi +303 -0
  59. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +22 -28
  60. data/sorbet/rbi/gems/minitest@5.16.2.rbi +384 -396
  61. data/sorbet/rbi/gems/mocha@1.14.0.rbi +589 -589
  62. data/sorbet/rbi/gems/netrc@0.11.0.rbi +37 -32
  63. data/sorbet/rbi/gems/{nokogiri@1.13.8.rbi → nokogiri@1.15.3.rbi} +1869 -1030
  64. data/sorbet/rbi/gems/{parallel@1.22.1.rbi → parallel@1.24.0.rbi} +85 -82
  65. data/sorbet/rbi/gems/parser@3.3.1.0.rbi +7320 -0
  66. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +1 -1
  67. data/sorbet/rbi/gems/prism@0.27.0.rbi +36983 -0
  68. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.7.1.rbi} +42 -33
  69. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +148 -338
  70. data/sorbet/rbi/gems/rack@2.2.4.rbi +1079 -1130
  71. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +354 -22
  72. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +113 -259
  73. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +642 -638
  74. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +109 -99
  75. data/sorbet/rbi/gems/rake@13.0.6.rbi +714 -599
  76. data/sorbet/rbi/gems/{rbi@0.0.15.rbi → rbi@0.1.12.rbi} +865 -801
  77. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +853 -870
  78. data/sorbet/rbi/gems/rexml@3.2.5.rbi +480 -477
  79. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +1621 -1622
  80. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +507 -526
  81. data/sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi +1 -1
  82. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +186 -203
  83. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +8126 -8367
  84. data/sorbet/rbi/gems/{ruby-lsp@0.2.1.rbi → ruby-lsp@0.2.3.rbi} +2 -2
  85. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1235 -4
  86. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +90 -90
  87. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  88. data/sorbet/rbi/gems/spring@4.0.0.rbi +104 -104
  89. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +1 -1
  90. data/sorbet/rbi/gems/{tapioca@0.9.2.rbi → tapioca@0.13.3.rbi} +1596 -1253
  91. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.3.1.rbi} +1047 -652
  92. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +531 -513
  93. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +13 -13
  94. data/sorbet/rbi/gems/{yard-sorbet@0.6.1.rbi → yard-sorbet@0.8.1.rbi} +132 -92
  95. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.36.rbi} +3158 -3067
  96. data/sorbet/rbi/gems/zeitwerk@2.6.4.rbi +149 -145
  97. metadata +36 -84
  98. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -27
  99. data/.github/pull_request_template.md +0 -28
  100. data/.github/workflows/ci.yml +0 -65
  101. data/.github/workflows/cla.yml +0 -22
  102. data/.gitignore +0 -13
  103. data/.rubocop.yml +0 -75
  104. data/.ruby-version +0 -1
  105. data/CODEOWNERS +0 -1
  106. data/CODE_OF_CONDUCT.md +0 -76
  107. data/CONTRIBUTING.md +0 -17
  108. data/Gemfile +0 -27
  109. data/Gemfile.lock +0 -201
  110. data/RESOLVING_VIOLATIONS.md +0 -81
  111. data/Rakefile +0 -13
  112. data/TROUBLESHOOT.md +0 -45
  113. data/UPGRADING.md +0 -54
  114. data/USAGE.md +0 -367
  115. data/bin/console +0 -15
  116. data/bin/m +0 -29
  117. data/bin/rake +0 -29
  118. data/bin/rubocop +0 -29
  119. data/bin/setup +0 -8
  120. data/bin/srb +0 -29
  121. data/bin/tapioca +0 -29
  122. data/dev.yml +0 -32
  123. data/docs/cohesion.png +0 -0
  124. data/gemfiles/Gemfile-rails-6-0 +0 -22
  125. data/gemfiles/Gemfile-rails-6-1 +0 -22
  126. data/lib/packwerk/cli/result.rb +0 -11
  127. data/packwerk.gemspec +0 -58
  128. data/shipit.rubygems.yml +0 -5
  129. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +0 -2754
  130. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +0 -1496
  131. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +0 -2362
  132. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +0 -1569
  133. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +0 -2553
  134. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +0 -5999
  135. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +0 -37832
  136. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +0 -2321
  137. data/sorbet/rbi/gems/better_html@1.0.16.rbi +0 -317
  138. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  139. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1079
  140. data/sorbet/rbi/gems/digest@3.1.0.rbi +0 -189
  141. data/sorbet/rbi/gems/globalid@1.0.0.rbi +0 -572
  142. data/sorbet/rbi/gems/mail@2.7.1.rbi +0 -2490
  143. data/sorbet/rbi/gems/marcel@1.0.2.rbi +0 -220
  144. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -76
  145. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +0 -170
  146. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +0 -2147
  147. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +0 -926
  148. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +0 -11
  149. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +0 -1108
  150. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +0 -292
  151. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -9029
  152. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  153. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +0 -8
  154. data/sorbet/rbi/gems/spoom@1.1.11.rbi +0 -2181
  155. data/sorbet/rbi/gems/strscan@3.0.4.rbi +0 -8
  156. data/sorbet/rbi/gems/timeout@0.3.0.rbi +0 -142
  157. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  158. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2582
  159. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +0 -993
  160. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +0 -71
@@ -1,189 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `digest` gem.
5
- # Please instead update this file by running `bin/tapioca gem digest`.
6
-
7
- # source://digest-3.1.0/lib/digest/version.rb:3
8
- module Digest
9
- class << self
10
- # source://digest-3.1.0/lib/digest.rb:22
11
- def const_missing(name); end
12
- end
13
- end
14
-
15
- # source://digest-3.1.0/lib/digest.rb:41
16
- class Digest::Class
17
- include ::Digest::Instance
18
-
19
- class << self
20
- # Returns the base64 encoded hash value of a given _string_. The
21
- # return value is properly padded with '=' and contains no line
22
- # feeds.
23
- #
24
- # source://digest-3.1.0/lib/digest.rb:55
25
- def base64digest(str, *args); end
26
-
27
- # Creates a digest object and reads a given file, _name_.
28
- # Optional arguments are passed to the constructor of the digest
29
- # class.
30
- #
31
- # p Digest::SHA256.file("X11R6.8.2-src.tar.bz2").hexdigest
32
- # # => "f02e3c85572dc9ad7cb77c2a638e3be24cc1b5bea9fdbb0b0299c9668475c534"
33
- #
34
- # source://digest-3.1.0/lib/digest.rb:48
35
- def file(name, *args); end
36
- end
37
- end
38
-
39
- # source://digest-3.1.0/lib/digest.rb:60
40
- module Digest::Instance
41
- # If none is given, returns the resulting hash value of the digest
42
- # in a base64 encoded form, keeping the digest's state.
43
- #
44
- # If a +string+ is given, returns the hash value for the given
45
- # +string+ in a base64 encoded form, resetting the digest to the
46
- # initial state before and after the process.
47
- #
48
- # In either case, the return value is properly padded with '=' and
49
- # contains no line feeds.
50
- #
51
- # source://digest-3.1.0/lib/digest.rb:82
52
- def base64digest(str = T.unsafe(nil)); end
53
-
54
- # Returns the resulting hash value and resets the digest to the
55
- # initial state.
56
- #
57
- # source://digest-3.1.0/lib/digest.rb:88
58
- def base64digest!; end
59
-
60
- # Updates the digest with the contents of a given file _name_ and
61
- # returns self.
62
- #
63
- # source://digest-3.1.0/lib/digest.rb:63
64
- def file(name); end
65
- end
66
-
67
- # A meta digest provider class for SHA256, SHA384 and SHA512.
68
- #
69
- # FIPS 180-2 describes SHA2 family of digest algorithms. It defines
70
- # three algorithms:
71
- # * one which works on chunks of 512 bits and returns a 256-bit
72
- # digest (SHA256),
73
- # * one which works on chunks of 1024 bits and returns a 384-bit
74
- # digest (SHA384),
75
- # * and one which works on chunks of 1024 bits and returns a 512-bit
76
- # digest (SHA512).
77
- #
78
- # ==Examples
79
- # require 'digest'
80
- #
81
- # # Compute a complete digest
82
- # Digest::SHA2.hexdigest 'abc' # => "ba7816bf8..."
83
- # Digest::SHA2.new(256).hexdigest 'abc' # => "ba7816bf8..."
84
- # Digest::SHA256.hexdigest 'abc' # => "ba7816bf8..."
85
- #
86
- # Digest::SHA2.new(384).hexdigest 'abc' # => "cb00753f4..."
87
- # Digest::SHA384.hexdigest 'abc' # => "cb00753f4..."
88
- #
89
- # Digest::SHA2.new(512).hexdigest 'abc' # => "ddaf35a19..."
90
- # Digest::SHA512.hexdigest 'abc' # => "ddaf35a19..."
91
- #
92
- # # Compute digest by chunks
93
- # sha2 = Digest::SHA2.new # =>#<Digest::SHA2:256>
94
- # sha2.update "ab"
95
- # sha2 << "c" # alias for #update
96
- # sha2.hexdigest # => "ba7816bf8..."
97
- #
98
- # # Use the same object to compute another digest
99
- # sha2.reset
100
- # sha2 << "message"
101
- # sha2.hexdigest # => "ab530a13e..."
102
- #
103
- # source://digest-3.1.0/lib/digest/sha2.rb:60
104
- class Digest::SHA2 < ::Digest::Class
105
- # call-seq:
106
- # Digest::SHA2.new(bitlen = 256) -> digest_obj
107
- #
108
- # Create a new SHA2 hash object with a given bit length.
109
- #
110
- # Valid bit lengths are 256, 384 and 512.
111
- #
112
- # @return [SHA2] a new instance of SHA2
113
- #
114
- # source://digest-3.1.0/lib/digest/sha2.rb:61
115
- def initialize(bitlen = T.unsafe(nil)); end
116
-
117
- # call-seq:
118
- # digest_obj.update(string) -> digest_obj
119
- # digest_obj << string -> digest_obj
120
- #
121
- # Update the digest using a given _string_ and return self.
122
- #
123
- # source://digest-3.1.0/lib/digest/sha2.rb:89
124
- def <<(str); end
125
-
126
- # call-seq:
127
- # digest_obj.block_length -> Integer
128
- #
129
- # Return the block length of the digest in bytes.
130
- #
131
- # Digest::SHA256.new.block_length * 8
132
- # # => 512
133
- # Digest::SHA384.new.block_length * 8
134
- # # => 1024
135
- # Digest::SHA512.new.block_length * 8
136
- # # => 1024
137
- #
138
- # source://digest-3.1.0/lib/digest/sha2.rb:112
139
- def block_length; end
140
-
141
- # call-seq:
142
- # digest_obj.digest_length -> Integer
143
- #
144
- # Return the length of the hash value (the digest) in bytes.
145
- #
146
- # Digest::SHA256.new.digest_length * 8
147
- # # => 256
148
- # Digest::SHA384.new.digest_length * 8
149
- # # => 384
150
- # Digest::SHA512.new.digest_length * 8
151
- # # => 512
152
- #
153
- # For example, digests produced by Digest::SHA256 will always be 32 bytes
154
- # (256 bits) in size.
155
- #
156
- # source://digest-3.1.0/lib/digest/sha2.rb:130
157
- def digest_length; end
158
-
159
- # source://digest-3.1.0/lib/digest/sha2.rb:138
160
- def inspect; end
161
-
162
- # call-seq:
163
- # digest_obj.reset -> digest_obj
164
- #
165
- # Reset the digest to the initial state and return self.
166
- #
167
- # source://digest-3.1.0/lib/digest/sha2.rb:79
168
- def reset; end
169
-
170
- # call-seq:
171
- # digest_obj.update(string) -> digest_obj
172
- # digest_obj << string -> digest_obj
173
- #
174
- # Update the digest using a given _string_ and return self.
175
- #
176
- # source://digest-3.1.0/lib/digest/sha2.rb:89
177
- def update(str); end
178
-
179
- private
180
-
181
- # source://digest-3.1.0/lib/digest/sha2.rb:95
182
- def finish; end
183
-
184
- # source://digest-3.1.0/lib/digest/sha2.rb:134
185
- def initialize_copy(other); end
186
- end
187
-
188
- # source://digest-3.1.0/lib/digest/version.rb:4
189
- Digest::VERSION = T.let(T.unsafe(nil), String)