packwerk 3.0.1 → 3.2.0

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +36 -8
  3. data/.ruby-version +1 -1
  4. data/Gemfile.lock +12 -7
  5. data/README.md +4 -2
  6. data/Rakefile +10 -1
  7. data/USAGE.md +8 -3
  8. data/dev.yml +1 -1
  9. data/lib/packwerk/application_validator.rb +3 -0
  10. data/lib/packwerk/checker.rb +15 -6
  11. data/lib/packwerk/cli.rb +14 -177
  12. data/lib/packwerk/commands/base_command.rb +69 -0
  13. data/lib/packwerk/commands/check_command.rb +62 -0
  14. data/lib/packwerk/commands/help_command.rb +33 -0
  15. data/lib/packwerk/commands/init_command.rb +42 -0
  16. data/lib/packwerk/commands/lazy_loaded_entry.rb +37 -0
  17. data/lib/packwerk/commands/update_todo_command.rb +60 -0
  18. data/lib/packwerk/commands/uses_parse_run.rb +92 -0
  19. data/lib/packwerk/commands/validate_command.rb +46 -0
  20. data/lib/packwerk/commands/version_command.rb +18 -0
  21. data/lib/packwerk/commands.rb +54 -0
  22. data/lib/packwerk/configuration.rb +4 -1
  23. data/lib/packwerk/file_processor.rb +12 -1
  24. data/lib/packwerk/formatters/default_offenses_formatter.rb +3 -3
  25. data/lib/packwerk/formatters/progress_formatter.rb +11 -0
  26. data/lib/packwerk/generators/templates/package.yml +2 -2
  27. data/lib/packwerk/generators/templates/packwerk.yml.erb +1 -1
  28. data/lib/packwerk/offense_collection.rb +32 -12
  29. data/lib/packwerk/offenses_formatter.rb +13 -4
  30. data/lib/packwerk/package_todo.rb +87 -60
  31. data/lib/packwerk/parse_run.rb +42 -82
  32. data/lib/packwerk/parsers/ruby.rb +2 -2
  33. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +3 -3
  34. data/lib/packwerk/validator.rb +18 -4
  35. data/lib/packwerk/version.rb +1 -1
  36. data/lib/packwerk.rb +4 -28
  37. data/packwerk.gemspec +1 -0
  38. data/sorbet/rbi/gems/{nokogiri@1.13.8.rbi → nokogiri@1.15.3.rbi} +1854 -1031
  39. data/sorbet/rbi/gems/parser@3.2.2.0.rbi +7250 -0
  40. data/sorbet/rbi/gems/prism@0.24.0.rbi +29982 -0
  41. metadata +30 -6
  42. data/lib/packwerk/cli/result.rb +0 -11
  43. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -9029
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packwerk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-09 00:00:00.000000000 Z
11
+ date: 2024-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: prism
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.24.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.24.0
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: better_html
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -198,7 +212,16 @@ files:
198
212
  - lib/packwerk/cache.rb
199
213
  - lib/packwerk/checker.rb
200
214
  - lib/packwerk/cli.rb
201
- - lib/packwerk/cli/result.rb
215
+ - lib/packwerk/commands.rb
216
+ - lib/packwerk/commands/base_command.rb
217
+ - lib/packwerk/commands/check_command.rb
218
+ - lib/packwerk/commands/help_command.rb
219
+ - lib/packwerk/commands/init_command.rb
220
+ - lib/packwerk/commands/lazy_loaded_entry.rb
221
+ - lib/packwerk/commands/update_todo_command.rb
222
+ - lib/packwerk/commands/uses_parse_run.rb
223
+ - lib/packwerk/commands/validate_command.rb
224
+ - lib/packwerk/commands/version_command.rb
202
225
  - lib/packwerk/configuration.rb
203
226
  - lib/packwerk/const_node_inspector.rb
204
227
  - lib/packwerk/constant_context.rb
@@ -293,10 +316,11 @@ files:
293
316
  - sorbet/rbi/gems/net-smtp@0.3.1.rbi
294
317
  - sorbet/rbi/gems/netrc@0.11.0.rbi
295
318
  - sorbet/rbi/gems/nio4r@2.5.8.rbi
296
- - sorbet/rbi/gems/nokogiri@1.13.8.rbi
319
+ - sorbet/rbi/gems/nokogiri@1.15.3.rbi
297
320
  - sorbet/rbi/gems/parallel@1.22.1.rbi
298
- - sorbet/rbi/gems/parser@3.1.2.1.rbi
321
+ - sorbet/rbi/gems/parser@3.2.2.0.rbi
299
322
  - sorbet/rbi/gems/prettier_print@0.1.0.rbi
323
+ - sorbet/rbi/gems/prism@0.24.0.rbi
300
324
  - sorbet/rbi/gems/pry@0.14.1.rbi
301
325
  - sorbet/rbi/gems/racc@1.6.0.rbi
302
326
  - sorbet/rbi/gems/rack-test@2.0.2.rbi
@@ -363,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
363
387
  - !ruby/object:Gem::Version
364
388
  version: '0'
365
389
  requirements: []
366
- rubygems_version: 3.3.3
390
+ rubygems_version: 3.5.6
367
391
  signing_key:
368
392
  specification_version: 4
369
393
  summary: Packages for applications based on the zeitwerk autoloader
@@ -1,11 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- module Packwerk
5
- class Cli
6
- class Result < T::Struct
7
- const :message, String
8
- const :status, T::Boolean
9
- end
10
- end
11
- end