packwerk 1.0.1 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +8 -7
  3. data/.github/workflows/ci.yml +14 -5
  4. data/.ruby-version +1 -1
  5. data/Gemfile +2 -1
  6. data/Gemfile.lock +130 -110
  7. data/README.md +8 -1
  8. data/USAGE.md +23 -2
  9. data/dev.yml +1 -1
  10. data/exe/packwerk +1 -1
  11. data/gemfiles/Gemfile-rails-6-0 +22 -0
  12. data/lib/packwerk.rb +4 -2
  13. data/lib/packwerk/application_load_paths.rb +68 -0
  14. data/lib/packwerk/application_validator.rb +94 -74
  15. data/lib/packwerk/association_inspector.rb +24 -9
  16. data/lib/packwerk/cache_deprecated_references.rb +55 -0
  17. data/lib/packwerk/checker.rb +3 -0
  18. data/lib/packwerk/checking_deprecated_references.rb +5 -2
  19. data/lib/packwerk/cli.rb +56 -55
  20. data/lib/packwerk/commands/detect_stale_violations_command.rb +60 -0
  21. data/lib/packwerk/commands/offense_progress_marker.rb +24 -0
  22. data/lib/packwerk/commands/result.rb +13 -0
  23. data/lib/packwerk/commands/update_deprecations_command.rb +81 -0
  24. data/lib/packwerk/configuration.rb +5 -37
  25. data/lib/packwerk/const_node_inspector.rb +28 -17
  26. data/lib/packwerk/dependency_checker.rb +13 -5
  27. data/lib/packwerk/deprecated_references.rb +23 -0
  28. data/lib/packwerk/detect_stale_deprecated_references.rb +14 -0
  29. data/lib/packwerk/file_processor.rb +4 -4
  30. data/lib/packwerk/formatters/offenses_formatter.rb +48 -0
  31. data/lib/packwerk/formatters/progress_formatter.rb +6 -2
  32. data/lib/packwerk/inflector.rb +17 -8
  33. data/lib/packwerk/node.rb +61 -38
  34. data/lib/packwerk/node_processor.rb +4 -4
  35. data/lib/packwerk/node_processor_factory.rb +39 -0
  36. data/lib/packwerk/node_visitor.rb +1 -1
  37. data/lib/packwerk/offense.rb +4 -6
  38. data/lib/packwerk/output_style.rb +20 -0
  39. data/lib/packwerk/output_styles/coloured.rb +29 -0
  40. data/lib/packwerk/output_styles/plain.rb +26 -0
  41. data/lib/packwerk/package_set.rb +9 -3
  42. data/lib/packwerk/parsed_constant_definitions.rb +4 -4
  43. data/lib/packwerk/parsers/erb.rb +4 -0
  44. data/lib/packwerk/parsers/factory.rb +10 -1
  45. data/lib/packwerk/privacy_checker.rb +23 -5
  46. data/lib/packwerk/run_context.rb +69 -46
  47. data/lib/packwerk/sanity_checker.rb +1 -1
  48. data/lib/packwerk/spring_command.rb +1 -1
  49. data/lib/packwerk/updating_deprecated_references.rb +2 -39
  50. data/lib/packwerk/version.rb +1 -1
  51. data/library.yml +1 -1
  52. data/packwerk.gemspec +1 -1
  53. data/service.yml +2 -2
  54. data/shipit.rubygems.yml +5 -1
  55. data/sorbet/rbi/gems/{actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +56 -36
  56. data/sorbet/rbi/gems/{actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +25 -28
  57. data/sorbet/rbi/gems/{actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +43 -24
  58. data/sorbet/rbi/gems/{actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +382 -284
  59. data/sorbet/rbi/gems/{actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +76 -40
  60. data/sorbet/rbi/gems/{actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +206 -195
  61. data/sorbet/rbi/gems/{activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +64 -75
  62. data/sorbet/rbi/gems/{activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +103 -56
  63. data/sorbet/rbi/gems/{activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1250 -898
  64. data/sorbet/rbi/gems/{activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +92 -120
  65. data/sorbet/rbi/gems/{activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +292 -193
  66. data/sorbet/rbi/gems/{ast@2.4.1.rbi → ast@2.4.2.rbi} +2 -1
  67. data/sorbet/rbi/gems/{better_html@1.0.15.rbi → better_html@1.0.16.rbi} +2 -2
  68. data/sorbet/rbi/gems/{concurrent-ruby@1.1.6.rbi → concurrent-ruby@1.1.8.rbi} +12 -9
  69. data/sorbet/rbi/gems/{erubi@1.9.0.rbi → erubi@1.10.0.rbi} +3 -1
  70. data/sorbet/rbi/gems/{i18n@1.8.2.rbi → i18n@1.8.10.rbi} +19 -52
  71. data/sorbet/rbi/gems/{loofah@2.5.0.rbi → loofah@2.9.0.rbi} +3 -1
  72. data/sorbet/rbi/gems/marcel@1.0.0.rbi +70 -0
  73. data/sorbet/rbi/gems/{mini_mime@1.0.2.rbi → mini_mime@1.0.3.rbi} +6 -6
  74. data/sorbet/rbi/gems/{mini_portile2@2.4.0.rbi → minitest-focus@1.2.1.rbi} +2 -2
  75. data/sorbet/rbi/gems/{minitest@5.14.0.rbi → minitest@5.14.4.rbi} +31 -29
  76. data/sorbet/rbi/gems/{mocha@1.11.2.rbi → mocha@1.12.0.rbi} +25 -36
  77. data/sorbet/rbi/gems/{nio4r@2.5.2.rbi → nio4r@2.5.7.rbi} +21 -20
  78. data/sorbet/rbi/gems/{nokogiri@1.10.9.rbi → nokogiri@1.11.2.rbi} +193 -154
  79. data/sorbet/rbi/gems/{parallel@1.19.1.rbi → parallel@1.20.1.rbi} +1 -1
  80. data/sorbet/rbi/gems/parlour@6.0.0.rbi +1272 -0
  81. data/sorbet/rbi/gems/{parser@2.7.1.4.rbi → parser@3.0.0.0.rbi} +287 -174
  82. data/sorbet/rbi/gems/{pry@0.13.1.rbi → pry@0.14.0.rbi} +1 -1
  83. data/sorbet/rbi/gems/racc@1.5.2.rbi +57 -0
  84. data/sorbet/rbi/gems/{rack@2.2.2.rbi → rack@2.2.3.rbi} +23 -35
  85. data/sorbet/rbi/gems/{rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1 -1
  86. data/sorbet/rbi/gems/{railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +132 -121
  87. data/sorbet/rbi/gems/{rake@13.0.1.rbi → rake@13.0.3.rbi} +16 -20
  88. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +8 -0
  89. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +8 -0
  90. data/sorbet/rbi/gems/{rubocop-performance@1.5.2.rbi → rubocop-performance@1.10.2.rbi} +1 -1
  91. data/sorbet/rbi/gems/{rubocop-shopify@1.0.2.rbi → rubocop-shopify@2.0.1.rbi} +1 -1
  92. data/sorbet/rbi/gems/{rubocop-sorbet@0.3.7.rbi → rubocop-sorbet@0.6.1.rbi} +1 -1
  93. data/sorbet/rbi/gems/{rubocop@0.82.0.rbi → rubocop@1.12.0.rbi} +1 -1
  94. data/sorbet/rbi/gems/{ruby-progressbar@1.10.1.rbi → ruby-progressbar@1.11.0.rbi} +1 -1
  95. data/sorbet/rbi/gems/spoom@1.1.0.rbi +1061 -0
  96. data/sorbet/rbi/gems/{spring@2.1.0.rbi → spring@2.1.1.rbi} +7 -7
  97. data/sorbet/rbi/gems/{sprockets-rails@3.2.1.rbi → sprockets-rails@3.2.2.rbi} +88 -68
  98. data/sorbet/rbi/gems/{sprockets@4.0.0.rbi → sprockets@4.0.2.rbi} +8 -7
  99. data/sorbet/rbi/gems/{tapioca@0.4.5.rbi → tapioca@0.4.19.rbi} +109 -24
  100. data/sorbet/rbi/gems/{thor@1.0.1.rbi → thor@1.1.0.rbi} +16 -15
  101. data/sorbet/rbi/gems/{tzinfo@2.0.2.rbi → tzinfo@2.0.4.rbi} +21 -2
  102. data/sorbet/rbi/gems/{unicode-display_width@1.7.0.rbi → unicode-display_width@2.0.0.rbi} +1 -1
  103. data/sorbet/rbi/gems/{websocket-driver@0.7.1.rbi → websocket-driver@0.7.3.rbi} +29 -29
  104. data/sorbet/rbi/gems/{websocket-extensions@0.1.4.rbi → websocket-extensions@0.1.5.rbi} +2 -2
  105. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +177 -0
  106. metadata +66 -58
  107. data/lib/packwerk/output_styles.rb +0 -41
  108. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -8
  109. data/sorbet/rbi/gems/marcel@0.3.3.rbi +0 -30
  110. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +0 -47
  111. data/sorbet/rbi/gems/parlour@4.0.1.rbi +0 -561
  112. data/sorbet/rbi/gems/spoom@1.0.4.rbi +0 -418
  113. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +0 -8
  114. data/static/packwerk-check-demo.png +0 -0
  115. data/static/packwerk_check.gif +0 -0
  116. data/static/packwerk_check_violation.gif +0 -0
  117. data/static/packwerk_update.gif +0 -0
  118. data/static/packwerk_validate.gif +0 -0
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `unicode-display_width` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `websocket-driver` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -73,10 +73,10 @@ class WebSocket::Driver::CloseEvent < ::Struct
73
73
  def reason=(_); end
74
74
 
75
75
  class << self
76
- def [](*_); end
76
+ def [](*_arg0); end
77
77
  def inspect; end
78
78
  def members; end
79
- def new(*_); end
79
+ def new(*_arg0); end
80
80
  end
81
81
  end
82
82
 
@@ -85,10 +85,10 @@ end
85
85
 
86
86
  class WebSocket::Driver::ConnectEvent < ::Struct
87
87
  class << self
88
- def [](*_); end
88
+ def [](*_arg0); end
89
89
  def inspect; end
90
90
  def members; end
91
- def new(*_); end
91
+ def new(*_arg0); end
92
92
  end
93
93
  end
94
94
 
@@ -192,25 +192,25 @@ WebSocket::Driver::Hybi::FIN = T.let(T.unsafe(nil), Integer)
192
192
 
193
193
  class WebSocket::Driver::Hybi::Frame
194
194
  def final; end
195
- def final=(_); end
195
+ def final=(_arg0); end
196
196
  def length; end
197
- def length=(_); end
197
+ def length=(_arg0); end
198
198
  def length_bytes; end
199
- def length_bytes=(_); end
199
+ def length_bytes=(_arg0); end
200
200
  def masked; end
201
- def masked=(_); end
201
+ def masked=(_arg0); end
202
202
  def masking_key; end
203
- def masking_key=(_); end
203
+ def masking_key=(_arg0); end
204
204
  def opcode; end
205
- def opcode=(_); end
205
+ def opcode=(_arg0); end
206
206
  def payload; end
207
- def payload=(_); end
207
+ def payload=(_arg0); end
208
208
  def rsv1; end
209
- def rsv1=(_); end
209
+ def rsv1=(_arg0); end
210
210
  def rsv2; end
211
- def rsv2=(_); end
211
+ def rsv2=(_arg0); end
212
212
  def rsv3; end
213
- def rsv3=(_); end
213
+ def rsv3=(_arg0); end
214
214
  end
215
215
 
216
216
  WebSocket::Driver::Hybi::GUID = T.let(T.unsafe(nil), String)
@@ -230,15 +230,15 @@ class WebSocket::Driver::Hybi::Message
230
230
 
231
231
  def <<(frame); end
232
232
  def data; end
233
- def data=(_); end
233
+ def data=(_arg0); end
234
234
  def opcode; end
235
- def opcode=(_); end
235
+ def opcode=(_arg0); end
236
236
  def rsv1; end
237
- def rsv1=(_); end
237
+ def rsv1=(_arg0); end
238
238
  def rsv2; end
239
- def rsv2=(_); end
239
+ def rsv2=(_arg0); end
240
240
  def rsv3; end
241
- def rsv3=(_); end
241
+ def rsv3=(_arg0); end
242
242
  end
243
243
 
244
244
  WebSocket::Driver::Hybi::OPCODE = T.let(T.unsafe(nil), Integer)
@@ -266,19 +266,19 @@ class WebSocket::Driver::MessageEvent < ::Struct
266
266
  def data=(_); end
267
267
 
268
268
  class << self
269
- def [](*_); end
269
+ def [](*_arg0); end
270
270
  def inspect; end
271
271
  def members; end
272
- def new(*_); end
272
+ def new(*_arg0); end
273
273
  end
274
274
  end
275
275
 
276
276
  class WebSocket::Driver::OpenEvent < ::Struct
277
277
  class << self
278
- def [](*_); end
278
+ def [](*_arg0); end
279
279
  def inspect; end
280
280
  def members; end
281
- def new(*_); end
281
+ def new(*_arg0); end
282
282
  end
283
283
  end
284
284
 
@@ -287,10 +287,10 @@ class WebSocket::Driver::PingEvent < ::Struct
287
287
  def data=(_); end
288
288
 
289
289
  class << self
290
- def [](*_); end
290
+ def [](*_arg0); end
291
291
  def inspect; end
292
292
  def members; end
293
- def new(*_); end
293
+ def new(*_arg0); end
294
294
  end
295
295
  end
296
296
 
@@ -299,10 +299,10 @@ class WebSocket::Driver::PongEvent < ::Struct
299
299
  def data=(_); end
300
300
 
301
301
  class << self
302
- def [](*_); end
302
+ def [](*_arg0); end
303
303
  def inspect; end
304
304
  def members; end
305
- def new(*_); end
305
+ def new(*_arg0); end
306
306
  end
307
307
  end
308
308
 
@@ -433,6 +433,6 @@ WebSocket::HTTP::Response::STATUS_LINE = T.let(T.unsafe(nil), Regexp)
433
433
 
434
434
  module WebSocket::Mask
435
435
  class << self
436
- def mask(_, _); end
436
+ def mask(_arg0, _arg1); end
437
437
  end
438
438
  end
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `websocket-extensions` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -57,7 +57,7 @@ WebSocket::Extensions::Parser::TOKEN = T.let(T.unsafe(nil), Regexp)
57
57
 
58
58
  module WebSocket::Mask
59
59
  class << self
60
- def mask(_, _); end
60
+ def mask(_arg0, _arg1); end
61
61
  end
62
62
  end
63
63
 
@@ -0,0 +1,177 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `zeitwerk` gem.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
+
5
+ # typed: true
6
+
7
+ module Kernel
8
+
9
+ private
10
+
11
+ def require(path); end
12
+
13
+ class << self
14
+ def require(path); end
15
+ end
16
+ end
17
+
18
+ module Zeitwerk
19
+ end
20
+
21
+ class Zeitwerk::Error < ::StandardError
22
+ end
23
+
24
+ module Zeitwerk::ExplicitNamespace
25
+ extend(::Zeitwerk::RealModName)
26
+
27
+ class << self
28
+ def cpaths; end
29
+ def mutex; end
30
+ def register(cpath, loader); end
31
+ def tracer; end
32
+ def unregister(loader); end
33
+
34
+ private
35
+
36
+ def disable_tracer_if_unneeded; end
37
+ def tracepoint_class_callback(event); end
38
+ end
39
+ end
40
+
41
+ class Zeitwerk::GemInflector < ::Zeitwerk::Inflector
42
+ def initialize(root_file); end
43
+
44
+ def camelize(basename, abspath); end
45
+ end
46
+
47
+ class Zeitwerk::Inflector
48
+ def camelize(basename, _abspath); end
49
+ def inflect(inflections); end
50
+
51
+ private
52
+
53
+ def overrides; end
54
+ end
55
+
56
+ class Zeitwerk::Loader
57
+ include(::Zeitwerk::RealModName)
58
+ include(::Zeitwerk::Loader::Callbacks)
59
+
60
+ def initialize; end
61
+
62
+ def autoloaded_dirs; end
63
+ def autoloads; end
64
+ def collapse(*glob_patterns); end
65
+ def collapse_dirs; end
66
+ def collapse_glob_patterns; end
67
+ def dirs; end
68
+ def do_not_eager_load(*paths); end
69
+ def eager_load; end
70
+ def eager_load_exclusions; end
71
+ def enable_reloading; end
72
+ def ignore(*glob_patterns); end
73
+ def ignored_glob_patterns; end
74
+ def ignored_paths; end
75
+ def inflector; end
76
+ def inflector=(_arg0); end
77
+ def lazy_subdirs; end
78
+ def log!; end
79
+ def logger; end
80
+ def logger=(_arg0); end
81
+ def manages?(dir); end
82
+ def mutex; end
83
+ def mutex2; end
84
+ def on_load(cpath, &block); end
85
+ def on_load_callbacks; end
86
+ def preload(*paths); end
87
+ def preloads; end
88
+ def push_dir(path, namespace: T.unsafe(nil)); end
89
+ def reload; end
90
+ def reloading_enabled?; end
91
+ def root_dirs; end
92
+ def setup; end
93
+ def tag; end
94
+ def tag=(tag); end
95
+ def to_unload; end
96
+ def unload; end
97
+ def unloadable_cpath?(cpath); end
98
+ def unloadable_cpaths; end
99
+
100
+ private
101
+
102
+ def actual_root_dirs; end
103
+ def autoload_file(parent, cname, file); end
104
+ def autoload_for?(parent, cname); end
105
+ def autoload_subdir(parent, cname, subdir); end
106
+ def cdef?(parent, cname); end
107
+ def cpath(parent, cname); end
108
+ def dir?(path); end
109
+ def do_preload; end
110
+ def do_preload_abspath(abspath); end
111
+ def do_preload_dir(dir); end
112
+ def do_preload_file(file); end
113
+ def expand_glob_patterns(glob_patterns); end
114
+ def expand_paths(paths); end
115
+ def log(message); end
116
+ def ls(dir); end
117
+ def promote_namespace_from_implicit_to_explicit(dir:, file:, parent:, cname:); end
118
+ def raise_if_conflicting_directory(dir); end
119
+ def recompute_collapse_dirs; end
120
+ def recompute_ignored_paths; end
121
+ def register_explicit_namespace(cpath); end
122
+ def ruby?(path); end
123
+ def set_autoload(parent, cname, abspath); end
124
+ def set_autoloads_in_dir(dir, parent); end
125
+ def strict_autoload_path(parent, cname); end
126
+ def unload_autoload(parent, cname); end
127
+ def unload_cref(parent, cname); end
128
+
129
+ class << self
130
+ def all_dirs; end
131
+ def default_logger; end
132
+ def default_logger=(_arg0); end
133
+ def eager_load_all; end
134
+ def for_gem; end
135
+ def mutex; end
136
+ def mutex=(_arg0); end
137
+ end
138
+ end
139
+
140
+ module Zeitwerk::Loader::Callbacks
141
+ include(::Zeitwerk::RealModName)
142
+
143
+ def on_dir_autoloaded(dir); end
144
+ def on_file_autoloaded(file); end
145
+ def on_namespace_loaded(namespace); end
146
+
147
+ private
148
+
149
+ def run_on_load_callbacks(cpath); end
150
+ end
151
+
152
+ class Zeitwerk::NameError < ::NameError
153
+ end
154
+
155
+ module Zeitwerk::RealModName
156
+ def real_mod_name(mod); end
157
+ end
158
+
159
+ module Zeitwerk::Registry
160
+ class << self
161
+ def autoloads; end
162
+ def inception?(cpath); end
163
+ def inceptions; end
164
+ def loader_for(path); end
165
+ def loader_for_gem(root_file); end
166
+ def loaders; end
167
+ def loaders_managing_gems; end
168
+ def on_unload(loader); end
169
+ def register_autoload(loader, realpath); end
170
+ def register_inception(cpath, realpath, loader); end
171
+ def register_loader(loader); end
172
+ def unregister_autoload(realpath); end
173
+ end
174
+ end
175
+
176
+ class Zeitwerk::ReloadingDisabledError < ::Zeitwerk::Error
177
+ end
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: 1.0.1
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-30 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -182,20 +182,29 @@ files:
182
182
  - dev.yml
183
183
  - docs/cohesion.png
184
184
  - exe/packwerk
185
+ - gemfiles/Gemfile-rails-6-0
185
186
  - lib/packwerk.rb
187
+ - lib/packwerk/application_load_paths.rb
186
188
  - lib/packwerk/application_validator.rb
187
189
  - lib/packwerk/association_inspector.rb
190
+ - lib/packwerk/cache_deprecated_references.rb
188
191
  - lib/packwerk/checker.rb
189
192
  - lib/packwerk/checking_deprecated_references.rb
190
193
  - lib/packwerk/cli.rb
194
+ - lib/packwerk/commands/detect_stale_violations_command.rb
195
+ - lib/packwerk/commands/offense_progress_marker.rb
196
+ - lib/packwerk/commands/result.rb
197
+ - lib/packwerk/commands/update_deprecations_command.rb
191
198
  - lib/packwerk/configuration.rb
192
199
  - lib/packwerk/const_node_inspector.rb
193
200
  - lib/packwerk/constant_discovery.rb
194
201
  - lib/packwerk/constant_name_inspector.rb
195
202
  - lib/packwerk/dependency_checker.rb
196
203
  - lib/packwerk/deprecated_references.rb
204
+ - lib/packwerk/detect_stale_deprecated_references.rb
197
205
  - lib/packwerk/file_processor.rb
198
206
  - lib/packwerk/files_for_processing.rb
207
+ - lib/packwerk/formatters/offenses_formatter.rb
199
208
  - lib/packwerk/formatters/progress_formatter.rb
200
209
  - lib/packwerk/generators/application_validation.rb
201
210
  - lib/packwerk/generators/configuration_file.rb
@@ -212,9 +221,12 @@ files:
212
221
  - lib/packwerk/inflector.rb
213
222
  - lib/packwerk/node.rb
214
223
  - lib/packwerk/node_processor.rb
224
+ - lib/packwerk/node_processor_factory.rb
215
225
  - lib/packwerk/node_visitor.rb
216
226
  - lib/packwerk/offense.rb
217
- - lib/packwerk/output_styles.rb
227
+ - lib/packwerk/output_style.rb
228
+ - lib/packwerk/output_styles/coloured.rb
229
+ - lib/packwerk/output_styles/plain.rb
218
230
  - lib/packwerk/package.rb
219
231
  - lib/packwerk/package_set.rb
220
232
  - lib/packwerk/parsed_constant_definitions.rb
@@ -237,81 +249,77 @@ files:
237
249
  - service.yml
238
250
  - shipit.rubygems.yml
239
251
  - sorbet/config
240
- - sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
241
- - sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
242
- - sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
243
- - sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
244
- - sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
245
- - sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
246
- - sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
247
- - sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
248
- - sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
249
- - sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
250
- - sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
251
- - sorbet/rbi/gems/ast@2.4.1.rbi
252
- - sorbet/rbi/gems/better_html@1.0.15.rbi
252
+ - sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
253
+ - sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
254
+ - sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
255
+ - sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
256
+ - sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
257
+ - sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
258
+ - sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
259
+ - sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
260
+ - sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
261
+ - sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
262
+ - sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
263
+ - sorbet/rbi/gems/ast@2.4.2.rbi
264
+ - sorbet/rbi/gems/better_html@1.0.16.rbi
253
265
  - sorbet/rbi/gems/builder@3.2.4.rbi
254
266
  - sorbet/rbi/gems/byebug@11.1.3.rbi
255
267
  - sorbet/rbi/gems/coderay@1.1.3.rbi
256
268
  - sorbet/rbi/gems/colorize@0.8.1.rbi
257
269
  - sorbet/rbi/gems/commander@4.5.2.rbi
258
- - sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi
270
+ - sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi
259
271
  - sorbet/rbi/gems/constant_resolver@0.1.5.rbi
260
272
  - sorbet/rbi/gems/crass@1.0.6.rbi
261
- - sorbet/rbi/gems/erubi@1.9.0.rbi
273
+ - sorbet/rbi/gems/erubi@1.10.0.rbi
262
274
  - sorbet/rbi/gems/globalid@0.4.2.rbi
263
275
  - sorbet/rbi/gems/highline@2.0.3.rbi
264
276
  - sorbet/rbi/gems/html_tokenizer@0.0.7.rbi
265
- - sorbet/rbi/gems/i18n@1.8.2.rbi
266
- - sorbet/rbi/gems/jaro_winkler@1.5.4.rbi
267
- - sorbet/rbi/gems/loofah@2.5.0.rbi
277
+ - sorbet/rbi/gems/i18n@1.8.10.rbi
278
+ - sorbet/rbi/gems/loofah@2.9.0.rbi
268
279
  - sorbet/rbi/gems/m@1.5.1.rbi
269
280
  - sorbet/rbi/gems/mail@2.7.1.rbi
270
- - sorbet/rbi/gems/marcel@0.3.3.rbi
281
+ - sorbet/rbi/gems/marcel@1.0.0.rbi
271
282
  - sorbet/rbi/gems/method_source@1.0.0.rbi
272
- - sorbet/rbi/gems/mimemagic@0.3.5.rbi
273
- - sorbet/rbi/gems/mini_mime@1.0.2.rbi
274
- - sorbet/rbi/gems/mini_portile2@2.4.0.rbi
275
- - sorbet/rbi/gems/minitest@5.14.0.rbi
276
- - sorbet/rbi/gems/mocha@1.11.2.rbi
277
- - sorbet/rbi/gems/nio4r@2.5.2.rbi
278
- - sorbet/rbi/gems/nokogiri@1.10.9.rbi
279
- - sorbet/rbi/gems/parallel@1.19.1.rbi
280
- - sorbet/rbi/gems/parlour@4.0.1.rbi
281
- - sorbet/rbi/gems/parser@2.7.1.4.rbi
282
- - sorbet/rbi/gems/pry@0.13.1.rbi
283
+ - sorbet/rbi/gems/mini_mime@1.0.3.rbi
284
+ - sorbet/rbi/gems/minitest-focus@1.2.1.rbi
285
+ - sorbet/rbi/gems/minitest@5.14.4.rbi
286
+ - sorbet/rbi/gems/mocha@1.12.0.rbi
287
+ - sorbet/rbi/gems/nio4r@2.5.7.rbi
288
+ - sorbet/rbi/gems/nokogiri@1.11.2.rbi
289
+ - sorbet/rbi/gems/parallel@1.20.1.rbi
290
+ - sorbet/rbi/gems/parlour@6.0.0.rbi
291
+ - sorbet/rbi/gems/parser@3.0.0.0.rbi
292
+ - sorbet/rbi/gems/pry@0.14.0.rbi
293
+ - sorbet/rbi/gems/racc@1.5.2.rbi
283
294
  - sorbet/rbi/gems/rack-test@1.1.0.rbi
284
- - sorbet/rbi/gems/rack@2.2.2.rbi
295
+ - sorbet/rbi/gems/rack@2.2.3.rbi
285
296
  - sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi
286
297
  - sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi
287
- - sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
288
- - sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi
298
+ - sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
299
+ - sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi
289
300
  - sorbet/rbi/gems/rainbow@3.0.0.rbi
290
- - sorbet/rbi/gems/rake@13.0.1.rbi
301
+ - sorbet/rbi/gems/rake@13.0.3.rbi
302
+ - sorbet/rbi/gems/regexp_parser@2.1.1.rbi
291
303
  - sorbet/rbi/gems/rexml@3.2.4.rbi
292
- - sorbet/rbi/gems/rubocop-performance@1.5.2.rbi
293
- - sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi
294
- - sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi
295
- - sorbet/rbi/gems/rubocop@0.82.0.rbi
296
- - sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi
304
+ - sorbet/rbi/gems/rubocop-ast@1.4.1.rbi
305
+ - sorbet/rbi/gems/rubocop-performance@1.10.2.rbi
306
+ - sorbet/rbi/gems/rubocop-shopify@2.0.1.rbi
307
+ - sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi
308
+ - sorbet/rbi/gems/rubocop@1.12.0.rbi
309
+ - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
297
310
  - sorbet/rbi/gems/smart_properties@1.15.0.rbi
298
- - sorbet/rbi/gems/spoom@1.0.4.rbi
299
- - sorbet/rbi/gems/spring@2.1.0.rbi
300
- - sorbet/rbi/gems/sprockets-rails@3.2.1.rbi
301
- - sorbet/rbi/gems/sprockets@4.0.0.rbi
302
- - sorbet/rbi/gems/tapioca@0.4.5.rbi
303
- - sorbet/rbi/gems/thor@1.0.1.rbi
304
- - sorbet/rbi/gems/tzinfo@2.0.2.rbi
305
- - sorbet/rbi/gems/unicode-display_width@1.7.0.rbi
306
- - sorbet/rbi/gems/websocket-driver@0.7.1.rbi
307
- - sorbet/rbi/gems/websocket-extensions@0.1.4.rbi
308
- - sorbet/rbi/gems/zeitwerk@2.3.0.rbi
311
+ - sorbet/rbi/gems/spoom@1.1.0.rbi
312
+ - sorbet/rbi/gems/spring@2.1.1.rbi
313
+ - sorbet/rbi/gems/sprockets-rails@3.2.2.rbi
314
+ - sorbet/rbi/gems/sprockets@4.0.2.rbi
315
+ - sorbet/rbi/gems/tapioca@0.4.19.rbi
316
+ - sorbet/rbi/gems/thor@1.1.0.rbi
317
+ - sorbet/rbi/gems/tzinfo@2.0.4.rbi
318
+ - sorbet/rbi/gems/unicode-display_width@2.0.0.rbi
319
+ - sorbet/rbi/gems/websocket-driver@0.7.3.rbi
320
+ - sorbet/rbi/gems/websocket-extensions@0.1.5.rbi
321
+ - sorbet/rbi/gems/zeitwerk@2.4.2.rbi
309
322
  - sorbet/tapioca/require.rb
310
- - static/packwerk-check-demo.png
311
- - static/packwerk_check.gif
312
- - static/packwerk_check_violation.gif
313
- - static/packwerk_update.gif
314
- - static/packwerk_validate.gif
315
323
  homepage: https://github.com/Shopify/packwerk
316
324
  licenses:
317
325
  - MIT