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
@@ -4,15 +4,15 @@
4
4
  # This is an autogenerated file for types exported from the `erubi` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem erubi`.
6
6
 
7
- # source://erubi-1.11.0/lib/erubi.rb:3
7
+ # source://erubi//lib/erubi.rb#3
8
8
  module Erubi
9
9
  class << self
10
- # source://erubi-1.11.0/lib/erubi.rb:28
10
+ # source://erubi//lib/erubi.rb#28
11
11
  def h(value); end
12
12
  end
13
13
  end
14
14
 
15
- # source://erubi-1.11.0/lib/erubi.rb:46
15
+ # source://erubi//lib/erubi.rb#46
16
16
  class Erubi::Engine
17
17
  # Initialize a new Erubi::Engine. Options:
18
18
  # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
@@ -43,64 +43,64 @@ class Erubi::Engine
43
43
  #
44
44
  # @return [Engine] a new instance of Engine
45
45
  #
46
- # source://erubi-1.11.0/lib/erubi.rb:86
46
+ # source://erubi//lib/erubi.rb#86
47
47
  def initialize(input, properties = T.unsafe(nil)); end
48
48
 
49
49
  # The variable name used for the buffer variable.
50
50
  #
51
- # source://erubi-1.11.0/lib/erubi.rb:57
51
+ # source://erubi//lib/erubi.rb#57
52
52
  def bufvar; end
53
53
 
54
54
  # The filename of the template, if one was given.
55
55
  #
56
- # source://erubi-1.11.0/lib/erubi.rb:54
56
+ # source://erubi//lib/erubi.rb#54
57
57
  def filename; end
58
58
 
59
59
  # The frozen ruby source code generated from the template, which can be evaled.
60
60
  #
61
- # source://erubi-1.11.0/lib/erubi.rb:51
61
+ # source://erubi//lib/erubi.rb#51
62
62
  def src; end
63
63
 
64
64
  private
65
65
 
66
66
  # Add ruby code to the template
67
67
  #
68
- # source://erubi-1.11.0/lib/erubi.rb:218
68
+ # source://erubi//lib/erubi.rb#218
69
69
  def add_code(code); end
70
70
 
71
71
  # Add the given ruby expression result to the template,
72
72
  # escaping it based on the indicator given and escape flag.
73
73
  #
74
- # source://erubi-1.11.0/lib/erubi.rb:227
74
+ # source://erubi//lib/erubi.rb#227
75
75
  def add_expression(indicator, code); end
76
76
 
77
77
  # Add the result of Ruby expression to the template
78
78
  #
79
- # source://erubi-1.11.0/lib/erubi.rb:236
79
+ # source://erubi//lib/erubi.rb#236
80
80
  def add_expression_result(code); end
81
81
 
82
82
  # Add the escaped result of Ruby expression to the template
83
83
  #
84
- # source://erubi-1.11.0/lib/erubi.rb:241
84
+ # source://erubi//lib/erubi.rb#241
85
85
  def add_expression_result_escaped(code); end
86
86
 
87
87
  # Add the given postamble to the src. Can be overridden in subclasses
88
88
  # to make additional changes to src that depend on the current state.
89
89
  #
90
- # source://erubi-1.11.0/lib/erubi.rb:247
90
+ # source://erubi//lib/erubi.rb#247
91
91
  def add_postamble(postamble); end
92
92
 
93
93
  # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
94
94
  # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
95
95
  #
96
- # source://erubi-1.11.0/lib/erubi.rb:205
96
+ # source://erubi//lib/erubi.rb#205
97
97
  def add_text(text); end
98
98
 
99
99
  # Raise an exception, as the base engine class does not support handling other indicators.
100
100
  #
101
101
  # @raise [ArgumentError]
102
102
  #
103
- # source://erubi-1.11.0/lib/erubi.rb:253
103
+ # source://erubi//lib/erubi.rb#253
104
104
  def handle(indicator, code, tailch, rspace, lspace); end
105
105
 
106
106
  # Make sure that any current expression has been terminated.
@@ -108,7 +108,7 @@ class Erubi::Engine
108
108
  # the chain_appends option is used, expressions may not be
109
109
  # terminated.
110
110
  #
111
- # source://erubi-1.11.0/lib/erubi.rb:281
111
+ # source://erubi//lib/erubi.rb#281
112
112
  def terminate_expression; end
113
113
 
114
114
  # Make sure the buffer variable is the target of the next append
@@ -118,23 +118,26 @@ class Erubi::Engine
118
118
  # This method should only be called if the block will result in
119
119
  # code where << will append to the bufvar.
120
120
  #
121
- # source://erubi-1.11.0/lib/erubi.rb:263
121
+ # source://erubi//lib/erubi.rb#263
122
122
  def with_buffer; end
123
123
  end
124
124
 
125
125
  # The default regular expression used for scanning.
126
126
  #
127
- # source://erubi-1.11.0/lib/erubi.rb:48
127
+ # source://erubi//lib/erubi.rb#48
128
128
  Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
129
129
 
130
- # source://erubi-1.11.0/lib/erubi.rb:15
130
+ # source://erubi//lib/erubi.rb#15
131
131
  Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
132
132
 
133
- # source://erubi-1.11.0/lib/erubi.rb:8
133
+ # source://erubi//lib/erubi.rb#8
134
134
  Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
135
135
 
136
- # source://erubi-1.11.0/lib/erubi.rb:9
136
+ # source://erubi//lib/erubi.rb#9
137
137
  Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
138
138
 
139
- # source://erubi-1.11.0/lib/erubi.rb:4
139
+ # source://erubi//lib/erubi.rb#16
140
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
141
+
142
+ # source://erubi//lib/erubi.rb#4
140
143
  Erubi::VERSION = T.let(T.unsafe(nil), String)