danger-packwerk 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,19 +4,25 @@
4
4
  # This is an autogenerated file for types exported from the `packwerk` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem packwerk`.
6
6
 
7
+ # source://packwerk//lib/packwerk.rb#13
7
8
  module Packwerk
8
9
  extend ::ActiveSupport::Autoload
9
10
  end
10
11
 
11
12
  # Extracts the load paths from the analyzed application so that we can map constant names to paths.
13
+ #
14
+ # source://packwerk//lib/packwerk/application_load_paths.rb#8
12
15
  module Packwerk::ApplicationLoadPaths
13
16
  class << self
17
+ # source://packwerk//lib/packwerk/application_load_paths.rb#22
14
18
  sig { returns(T::Hash[::String, ::Module]) }
15
19
  def extract_application_autoload_paths; end
16
20
 
21
+ # source://packwerk//lib/packwerk/application_load_paths.rb#13
17
22
  sig { params(root: ::String, environment: ::String).returns(T::Hash[::String, ::Module]) }
18
23
  def extract_relevant_paths(root, environment); end
19
24
 
25
+ # source://packwerk//lib/packwerk/application_load_paths.rb#32
20
26
  sig do
21
27
  params(
22
28
  all_paths: T::Hash[::String, ::Module],
@@ -26,6 +32,7 @@ module Packwerk::ApplicationLoadPaths
26
32
  end
27
33
  def filter_relevant_paths(all_paths, bundle_path: T.unsafe(nil), rails_root: T.unsafe(nil)); end
28
34
 
35
+ # source://packwerk//lib/packwerk/application_load_paths.rb#43
29
36
  sig do
30
37
  params(
31
38
  load_paths: T::Hash[::Pathname, ::Module],
@@ -36,9 +43,11 @@ module Packwerk::ApplicationLoadPaths
36
43
 
37
44
  private
38
45
 
46
+ # source://packwerk//lib/packwerk/application_load_paths.rb#63
39
47
  sig { params(paths: T::Hash[T.untyped, ::Module]).void }
40
48
  def assert_load_paths_present(paths); end
41
49
 
50
+ # source://packwerk//lib/packwerk/application_load_paths.rb#50
42
51
  sig { params(root: ::String, environment: ::String).void }
43
52
  def require_application(root, environment); end
44
53
  end
@@ -46,113 +55,84 @@ end
46
55
 
47
56
  # Checks the structure of the application and its packwerk configuration to make sure we can run a check and deliver
48
57
  # correct results.
58
+ #
59
+ # source://packwerk//lib/packwerk/application_validator.rb#11
49
60
  class Packwerk::ApplicationValidator
50
- sig { params(config_file_path: ::String, configuration: ::Packwerk::Configuration, environment: ::String).void }
51
- def initialize(config_file_path:, configuration:, environment:); end
52
-
53
- sig { returns(::Packwerk::ApplicationValidator::Result) }
54
- def check_acyclic_graph; end
55
-
56
- sig { returns(::Packwerk::ApplicationValidator::Result) }
57
- def check_all; end
58
-
59
- sig { returns(::Packwerk::ApplicationValidator::Result) }
60
- def check_application_structure; end
61
-
62
- sig { returns(::Packwerk::ApplicationValidator::Result) }
63
- def check_package_manifest_paths; end
64
-
65
- sig { returns(::Packwerk::ApplicationValidator::Result) }
66
- def check_package_manifest_syntax; end
67
-
68
- sig { returns(::Packwerk::ApplicationValidator::Result) }
69
- def check_package_manifests_for_privacy; end
70
-
71
- sig { returns(::Packwerk::ApplicationValidator::Result) }
72
- def check_root_package_exists; end
73
-
74
- sig { returns(::Packwerk::ApplicationValidator::Result) }
75
- def check_valid_package_dependencies; end
76
-
77
- private
61
+ include ::Packwerk::Validator
62
+ extend ::ActiveSupport::Autoload
78
63
 
64
+ # source://packwerk//lib/packwerk/application_validator.rb#22
79
65
  sig do
80
- params(
81
- constants: T.untyped,
82
- config_file_path: ::String
83
- ).returns(T::Array[::Packwerk::ApplicationValidator::Result])
66
+ override
67
+ .params(
68
+ package_set: Packwerk::PackageSet,
69
+ configuration: ::Packwerk::Configuration
70
+ ).returns(::Packwerk::ApplicationValidator::Result)
84
71
  end
85
- def assert_constants_can_be_loaded(constants, config_file_path); end
86
-
87
- # Convert the cycles:
88
- #
89
- # [[a, b, c], [b, c]]
90
- #
91
- # to the string:
92
- #
93
- # ["a -> b -> c -> a", "b -> c -> b"]
94
- sig { params(cycles: T.untyped).returns(T::Array[::String]) }
95
- def build_cycle_strings(cycles); end
72
+ def call(package_set, configuration); end
96
73
 
74
+ # source://packwerk//lib/packwerk/application_validator.rb#16
97
75
  sig do
98
76
  params(
99
- name: T.untyped,
100
- location: T.untyped,
101
- config_file_path: T.untyped
77
+ package_set: Packwerk::PackageSet,
78
+ configuration: ::Packwerk::Configuration
102
79
  ).returns(::Packwerk::ApplicationValidator::Result)
103
80
  end
104
- def check_private_constant_location(name, location, config_file_path); end
81
+ def check_all(package_set, configuration); end
105
82
 
106
- sig { params(list: T.untyped).returns(T.untyped) }
107
- def format_yaml_strings(list); end
83
+ # source://packwerk//lib/packwerk/application_validator.rb#69
84
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
85
+ def check_application_structure(configuration); end
108
86
 
109
- sig { params(path: T.untyped).returns(T::Boolean) }
110
- def invalid_package_path?(path); end
87
+ # source://packwerk//lib/packwerk/application_validator.rb#84
88
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
89
+ def check_package_manifest_paths(configuration); end
111
90
 
112
- sig do
113
- params(
114
- results: T::Array[::Packwerk::ApplicationValidator::Result],
115
- separator: ::String,
116
- errors_headline: ::String
117
- ).returns(::Packwerk::ApplicationValidator::Result)
118
- end
119
- def merge_results(results, separator: T.unsafe(nil), errors_headline: T.unsafe(nil)); end
120
-
121
- sig { returns(T.any(::String, T::Array[::String])) }
122
- def package_glob; end
91
+ # source://packwerk//lib/packwerk/application_validator.rb#41
92
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
93
+ def check_package_manifest_syntax(configuration); end
123
94
 
124
- sig { params(glob_pattern: T.any(::String, T::Array[::String])).returns(T::Array[::String]) }
125
- def package_manifests(glob_pattern = T.unsafe(nil)); end
95
+ # source://packwerk//lib/packwerk/application_validator.rb#105
96
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
97
+ def check_root_package_exists(configuration); end
126
98
 
127
- sig { params(setting: T.untyped).returns(T.untyped) }
128
- def package_manifests_settings_for(setting); end
99
+ # source://packwerk//lib/packwerk/application_validator.rb#34
100
+ sig { override.returns(T::Array[::String]) }
101
+ def permitted_keys; end
129
102
 
130
- sig { params(name: T.untyped, config_file_path: T.untyped).returns(::Packwerk::ApplicationValidator::Result) }
131
- def private_constant_unresolvable(name, config_file_path); end
103
+ private
132
104
 
133
- sig { params(path: ::String).returns(::Pathname) }
134
- def relative_path(path); end
105
+ # source://packwerk//lib/packwerk/application_validator.rb#124
106
+ sig { params(list: T.untyped).returns(T.untyped) }
107
+ def format_yaml_strings(list); end
135
108
 
136
- sig { params(paths: T::Array[::String]).returns(T::Array[::Pathname]) }
137
- def relative_paths(paths); end
109
+ # source://packwerk//lib/packwerk/application_validator.rb#129
110
+ sig { params(configuration: ::Packwerk::Configuration, paths: T::Array[::String]).returns(T::Array[::Pathname]) }
111
+ def relative_paths(configuration, paths); end
138
112
  end
139
113
 
114
+ # source://packwerk//lib/packwerk/application_validator/result.rb#6
140
115
  class Packwerk::ApplicationValidator::Result < ::T::Struct
141
- const :error_value, T.nilable(::String)
142
116
  const :ok, T::Boolean
117
+ const :error_value, T.nilable(::String)
143
118
 
119
+ # source://packwerk//lib/packwerk/application_validator/result.rb#13
144
120
  sig { returns(T::Boolean) }
145
121
  def ok?; end
146
122
 
147
123
  class << self
124
+ # source://sorbet-runtime/0.5.10588/lib/types/struct.rb#13
148
125
  def inherited(s); end
149
126
  end
150
127
  end
151
128
 
152
129
  # Extracts the implicit constant reference from an active record association
130
+ #
131
+ # source://packwerk//lib/packwerk/association_inspector.rb#6
153
132
  class Packwerk::AssociationInspector
154
133
  include ::Packwerk::ConstantNameInspector
155
134
 
135
+ # source://packwerk//lib/packwerk/association_inspector.rb#23
156
136
  sig do
157
137
  params(
158
138
  inflector: T.class_of(ActiveSupport::Inflector),
@@ -161,49 +141,66 @@ class Packwerk::AssociationInspector
161
141
  end
162
142
  def initialize(inflector:, custom_associations: T.unsafe(nil)); end
163
143
 
144
+ # source://packwerk//lib/packwerk/association_inspector.rb#33
164
145
  sig { override.params(node: ::AST::Node, ancestors: T::Array[::AST::Node]).returns(T.nilable(::String)) }
165
146
  def constant_name_from_node(node, ancestors:); end
166
147
 
167
148
  private
168
149
 
150
+ # source://packwerk//lib/packwerk/association_inspector.rb#52
169
151
  sig { params(node: ::AST::Node).returns(T::Boolean) }
170
152
  def association?(node); end
171
153
 
154
+ # source://packwerk//lib/packwerk/association_inspector.rb#66
172
155
  sig { params(arguments: T::Array[::AST::Node]).returns(T.nilable(T.any(::String, ::Symbol))) }
173
156
  def association_name(arguments); end
174
157
 
158
+ # source://packwerk//lib/packwerk/association_inspector.rb#58
175
159
  sig { params(arguments: T::Array[::AST::Node]).returns(T.nilable(::AST::Node)) }
176
160
  def custom_class_name(arguments); end
177
161
  end
178
162
 
163
+ # source://packwerk//lib/packwerk/association_inspector.rb#10
179
164
  Packwerk::AssociationInspector::CustomAssociations = T.type_alias { T.any(T::Array[::Symbol], T::Set[::Symbol]) }
165
+
166
+ # source://packwerk//lib/packwerk/association_inspector.rb#12
180
167
  Packwerk::AssociationInspector::RAILS_ASSOCIATIONS = T.let(T.unsafe(nil), Set)
181
168
 
169
+ # source://packwerk//lib/packwerk/cache.rb#7
182
170
  class Packwerk::Cache
171
+ # source://packwerk//lib/packwerk/cache.rb#52
183
172
  sig { params(enable_cache: T::Boolean, cache_directory: ::Pathname, config_path: T.nilable(::String)).void }
184
173
  def initialize(enable_cache:, cache_directory:, config_path:); end
185
174
 
175
+ # source://packwerk//lib/packwerk/cache.rb#67
186
176
  sig { void }
187
177
  def bust_cache!; end
188
178
 
179
+ # source://packwerk//lib/packwerk/cache.rb#133
189
180
  sig { params(contents: ::String, contents_key: ::Symbol).void }
190
181
  def bust_cache_if_contents_have_changed(contents, contents_key); end
191
182
 
183
+ # source://packwerk//lib/packwerk/cache.rb#128
192
184
  sig { void }
193
185
  def bust_cache_if_inflections_have_changed!; end
194
186
 
187
+ # source://packwerk//lib/packwerk/cache.rb#121
195
188
  sig { void }
196
189
  def bust_cache_if_packwerk_yml_has_changed!; end
197
190
 
191
+ # source://packwerk//lib/packwerk/cache.rb#157
198
192
  sig { void }
199
193
  def create_cache_directory!; end
200
194
 
195
+ # source://packwerk//lib/packwerk/cache.rb#109
201
196
  sig { params(file: ::String).returns(::String) }
202
197
  def digest_for_file(file); end
203
198
 
199
+ # source://packwerk//lib/packwerk/cache.rb#114
204
200
  sig { params(str: ::String).returns(::String) }
205
201
  def digest_for_string(str); end
206
202
 
203
+ # source://packwerk//lib/packwerk/cache.rb#77
207
204
  sig do
208
205
  params(
209
206
  file_path: ::String,
@@ -213,25 +210,84 @@ class Packwerk::Cache
213
210
  def with_cache(file_path, &block); end
214
211
  end
215
212
 
213
+ # source://packwerk//lib/packwerk/cache.rb#10
216
214
  class Packwerk::Cache::CacheContents < ::T::Struct
217
215
  const :file_contents_digest, ::String
218
216
  const :unresolved_references, T::Array[::Packwerk::UnresolvedReference]
219
217
 
218
+ # source://packwerk//lib/packwerk/cache.rb#39
220
219
  sig { returns(::String) }
221
220
  def serialize; end
222
221
 
223
222
  class << self
223
+ # source://packwerk//lib/packwerk/cache.rb#20
224
224
  sig { params(serialized_cache_contents: ::String).returns(::Packwerk::Cache::CacheContents) }
225
225
  def deserialize(serialized_cache_contents); end
226
226
 
227
+ # source://sorbet-runtime/0.5.10588/lib/types/struct.rb#13
227
228
  def inherited(s); end
228
229
  end
229
230
  end
230
231
 
232
+ # source://packwerk//lib/packwerk/cache.rb#44
231
233
  Packwerk::Cache::CacheShape = T.type_alias { T::Hash[::String, ::Packwerk::Cache::CacheContents] }
232
234
 
235
+ # @abstract Subclasses must implement the `abstract` methods below.
236
+ #
237
+ # source://packwerk//lib/packwerk/checker.rb#5
238
+ module Packwerk::Checker
239
+ abstract!
240
+
241
+ # @abstract
242
+ #
243
+ # source://packwerk//lib/packwerk/checker.rb#49
244
+ sig { abstract.params(reference: ::Packwerk::Reference).returns(T::Boolean) }
245
+ def invalid_reference?(reference); end
246
+
247
+ # @abstract
248
+ #
249
+ # source://packwerk//lib/packwerk/checker.rb#52
250
+ sig { abstract.params(reference: ::Packwerk::Reference).returns(::String) }
251
+ def message(reference); end
252
+
253
+ # @abstract
254
+ #
255
+ # source://packwerk//lib/packwerk/checker.rb#46
256
+ sig { abstract.params(listed_offense: ::Packwerk::ReferenceOffense).returns(T::Boolean) }
257
+ def strict_mode_violation?(listed_offense); end
258
+
259
+ # @abstract
260
+ #
261
+ # source://packwerk//lib/packwerk/checker.rb#43
262
+ sig { abstract.returns(::String) }
263
+ def violation_type; end
264
+
265
+ class << self
266
+ # source://packwerk//lib/packwerk/checker.rb#22
267
+ sig { returns(T::Array[::Packwerk::Checker]) }
268
+ def all; end
269
+
270
+ # source://packwerk//lib/packwerk/checker.rb#27
271
+ sig { params(violation_type: ::String).returns(::Packwerk::Checker) }
272
+ def find(violation_type); end
273
+
274
+ # source://packwerk//lib/packwerk/checker.rb#15
275
+ sig { params(base: ::Class).void }
276
+ def included(base); end
277
+
278
+ private
279
+
280
+ # source://packwerk//lib/packwerk/checker.rb#34
281
+ sig { params(name: ::String).returns(::Packwerk::Checker) }
282
+ def checker_by_violation_type(name); end
283
+ end
284
+ end
285
+
233
286
  # A command-line interface to Packwerk.
287
+ #
288
+ # source://packwerk//lib/packwerk/cli.rb#8
234
289
  class Packwerk::Cli
290
+ # source://packwerk//lib/packwerk/cli.rb#21
235
291
  sig do
236
292
  params(
237
293
  configuration: T.nilable(::Packwerk::Configuration),
@@ -244,101 +300,164 @@ class Packwerk::Cli
244
300
  end
245
301
  def initialize(configuration: T.unsafe(nil), out: T.unsafe(nil), err_out: T.unsafe(nil), environment: T.unsafe(nil), style: T.unsafe(nil), offenses_formatter: T.unsafe(nil)); end
246
302
 
303
+ # source://packwerk//lib/packwerk/cli.rb#48
247
304
  sig { params(args: T::Array[::String]).returns(T::Boolean) }
248
305
  def execute_command(args); end
249
306
 
307
+ # source://packwerk//lib/packwerk/cli.rb#42
250
308
  sig { params(args: T::Array[::String]).returns(T.noreturn) }
251
309
  def run(args); end
252
310
 
253
311
  private
254
312
 
255
- sig { returns(::Packwerk::ApplicationValidator) }
256
- def checker; end
257
-
258
- sig { params(relative_file_paths: T::Array[::String], ignore_nested_packages: T::Boolean).returns(T::Set[::String]) }
313
+ # source://packwerk//lib/packwerk/cli.rb#135
314
+ sig do
315
+ params(
316
+ relative_file_paths: T::Array[::String],
317
+ ignore_nested_packages: T::Boolean
318
+ ).returns(::Packwerk::FilesForProcessing)
319
+ end
259
320
  def fetch_files_to_process(relative_file_paths, ignore_nested_packages); end
260
321
 
322
+ # source://packwerk//lib/packwerk/cli.rb#79
261
323
  sig { returns(T::Boolean) }
262
324
  def generate_configs; end
263
325
 
326
+ # source://packwerk//lib/packwerk/cli.rb#72
264
327
  sig { returns(T::Boolean) }
265
328
  def init; end
266
329
 
330
+ # source://packwerk//lib/packwerk/cli.rb#174
267
331
  sig { params(result: ::Packwerk::ApplicationValidator::Result).void }
268
332
  def list_validation_errors(result); end
269
333
 
334
+ # source://packwerk//lib/packwerk/cli.rb#123
270
335
  sig { params(result: ::Packwerk::Result).returns(T::Boolean) }
271
336
  def output_result(result); end
272
337
 
273
- sig { params(params: T.untyped).returns(::Packwerk::ParseRun) }
274
- def parse_run(params); end
338
+ # source://packwerk//lib/packwerk/cli.rb#166
339
+ sig { returns(Packwerk::PackageSet) }
340
+ def package_set; end
341
+
342
+ # source://packwerk//lib/packwerk/cli.rb#186
343
+ sig { params(args: T::Array[::String]).returns(::Packwerk::ParseRun) }
344
+ def parse_run(args); end
275
345
 
346
+ # source://packwerk//lib/packwerk/cli.rb#108
347
+ sig { returns(T::Boolean) }
348
+ def usage; end
349
+
350
+ # source://packwerk//lib/packwerk/cli.rb#150
276
351
  sig { params(_paths: T::Array[::String]).returns(T::Boolean) }
277
352
  def validate(_paths); end
353
+
354
+ # source://packwerk//lib/packwerk/cli.rb#161
355
+ sig { returns(::Packwerk::ApplicationValidator) }
356
+ def validator; end
278
357
  end
279
358
 
359
+ # source://packwerk//lib/packwerk/configuration.rb#8
280
360
  class Packwerk::Configuration
281
361
  # @return [Configuration] a new instance of Configuration
362
+ #
363
+ # source://packwerk//lib/packwerk/configuration.rb#42
282
364
  def initialize(configs = T.unsafe(nil), config_path: T.unsafe(nil)); end
283
365
 
284
366
  # Returns the value of attribute cache_directory.
367
+ #
368
+ # source://packwerk//lib/packwerk/configuration.rb#38
285
369
  def cache_directory; end
286
370
 
287
371
  # @return [Boolean]
372
+ #
373
+ # source://packwerk//lib/packwerk/configuration.rb#76
288
374
  def cache_enabled?; end
289
375
 
290
376
  # Returns the value of attribute config_path.
377
+ #
378
+ # source://packwerk//lib/packwerk/configuration.rb#38
291
379
  def config_path; end
292
380
 
293
381
  # Returns the value of attribute custom_associations.
382
+ #
383
+ # source://packwerk//lib/packwerk/configuration.rb#38
294
384
  def custom_associations; end
295
385
 
296
386
  # Returns the value of attribute exclude.
387
+ #
388
+ # source://packwerk//lib/packwerk/configuration.rb#38
297
389
  def exclude; end
298
390
 
299
391
  # Returns the value of attribute include.
392
+ #
393
+ # source://packwerk//lib/packwerk/configuration.rb#38
300
394
  def include; end
301
395
 
396
+ # source://packwerk//lib/packwerk/configuration.rb#63
302
397
  def load_paths; end
303
398
 
399
+ # source://packwerk//lib/packwerk/configuration.rb#72
400
+ sig { returns(::Packwerk::OffensesFormatter) }
401
+ def offenses_formatter; end
402
+
304
403
  # Returns the value of attribute package_paths.
404
+ #
405
+ # source://packwerk//lib/packwerk/configuration.rb#38
305
406
  def package_paths; end
306
407
 
307
408
  # @return [Boolean]
409
+ #
410
+ # source://packwerk//lib/packwerk/configuration.rb#67
308
411
  def parallel?; end
309
412
 
310
413
  # Returns the value of attribute root_path.
414
+ #
415
+ # source://packwerk//lib/packwerk/configuration.rb#38
311
416
  def root_path; end
312
417
 
313
418
  class << self
314
419
  # @raise [ArgumentError]
420
+ #
421
+ # source://packwerk//lib/packwerk/configuration.rb#12
315
422
  def from_path(path = T.unsafe(nil)); end
316
423
 
317
424
  private
318
425
 
426
+ # source://packwerk//lib/packwerk/configuration.rb#26
319
427
  def from_packwerk_config(path); end
320
428
  end
321
429
  end
322
430
 
431
+ # source://packwerk//lib/packwerk/configuration.rb#34
323
432
  Packwerk::Configuration::DEFAULT_CONFIG_PATH = T.let(T.unsafe(nil), String)
433
+
434
+ # source://packwerk//lib/packwerk/configuration.rb#36
324
435
  Packwerk::Configuration::DEFAULT_EXCLUDE_GLOBS = T.let(T.unsafe(nil), Array)
436
+
437
+ # source://packwerk//lib/packwerk/configuration.rb#35
325
438
  Packwerk::Configuration::DEFAULT_INCLUDE_GLOBS = T.let(T.unsafe(nil), Array)
326
439
 
327
440
  # Extracts a constant name from an AST node of type :const
441
+ #
442
+ # source://packwerk//lib/packwerk/const_node_inspector.rb#6
328
443
  class Packwerk::ConstNodeInspector
329
444
  include ::Packwerk::ConstantNameInspector
330
445
 
446
+ # source://packwerk//lib/packwerk/const_node_inspector.rb#15
331
447
  sig { override.params(node: ::AST::Node, ancestors: T::Array[::AST::Node]).returns(T.nilable(::String)) }
332
448
  def constant_name_from_node(node, ancestors:); end
333
449
 
334
450
  private
335
451
 
452
+ # source://packwerk//lib/packwerk/const_node_inspector.rb#43
336
453
  sig { params(node: ::AST::Node, parent: ::AST::Node).returns(T.nilable(T::Boolean)) }
337
454
  def constant_in_module_or_class_definition?(node, parent:); end
338
455
 
456
+ # source://packwerk//lib/packwerk/const_node_inspector.rb#49
339
457
  sig { params(ancestors: T::Array[::AST::Node]).returns(::String) }
340
458
  def fully_qualify_constant(ancestors); end
341
459
 
460
+ # source://packwerk//lib/packwerk/const_node_inspector.rb#38
342
461
  sig { params(parent: T.nilable(::AST::Node)).returns(T::Boolean) }
343
462
  def root_constant?(parent); end
344
463
  end
@@ -353,12 +472,17 @@ end
353
472
  # - It is OK to not always infer the exact file defining the constant. For example, when a constant is inherited, we
354
473
  # have no way of inferring the file it is defined in. You could argue though that inheritance means that another
355
474
  # constant with the same name exists in the inheriting class, and this view is sufficient for all our use cases.
475
+ #
476
+ # source://packwerk//lib/packwerk/constant_discovery.rb#17
356
477
  class Packwerk::ConstantDiscovery
478
+ # source://packwerk//lib/packwerk/constant_discovery.rb#27
357
479
  sig { params(constant_resolver: ::ConstantResolver, packages: Packwerk::PackageSet).void }
358
480
  def initialize(constant_resolver:, packages:); end
359
481
 
360
482
  # Analyze a constant via its name.
361
483
  # If the constant is unresolved, we need the current namespace path to correctly infer its full name
484
+ #
485
+ # source://packwerk//lib/packwerk/constant_discovery.rb#60
362
486
  sig do
363
487
  params(
364
488
  const_name: ::String,
@@ -368,10 +492,13 @@ class Packwerk::ConstantDiscovery
368
492
  def context_for(const_name, current_namespace_path: T.unsafe(nil)); end
369
493
 
370
494
  # Get the package that owns a given file path.
495
+ #
496
+ # source://packwerk//lib/packwerk/constant_discovery.rb#43
371
497
  sig { params(path: ::String).returns(::Packwerk::Package) }
372
498
  def package_from_path(path); end
373
499
  end
374
500
 
501
+ # source://packwerk//lib/packwerk/constant_discovery.rb#20
375
502
  class Packwerk::ConstantDiscovery::ConstantContext < ::Struct
376
503
  # Returns the value of attribute location
377
504
  #
@@ -382,6 +509,8 @@ class Packwerk::ConstantDiscovery::ConstantContext < ::Struct
382
509
  #
383
510
  # @param value [Object] the value to set the attribute location to.
384
511
  # @return [Object] the newly set value
512
+ #
513
+ # source://packwerk//lib/packwerk/constant_discovery.rb#20
385
514
  def location=(_); end
386
515
 
387
516
  # Returns the value of attribute name
@@ -393,6 +522,8 @@ class Packwerk::ConstantDiscovery::ConstantContext < ::Struct
393
522
  #
394
523
  # @param value [Object] the value to set the attribute name to.
395
524
  # @return [Object] the newly set value
525
+ #
526
+ # source://packwerk//lib/packwerk/constant_discovery.rb#20
396
527
  def name=(_); end
397
528
 
398
529
  # Returns the value of attribute package
@@ -404,12 +535,9 @@ class Packwerk::ConstantDiscovery::ConstantContext < ::Struct
404
535
  #
405
536
  # @param value [Object] the value to set the attribute package to.
406
537
  # @return [Object] the newly set value
407
- def package=(_); end
408
-
409
- # Returns the value of attribute public?
410
538
  #
411
- # @return [Object] the current value of public?
412
- def public?; end
539
+ # source://packwerk//lib/packwerk/constant_discovery.rb#20
540
+ def package=(_); end
413
541
 
414
542
  class << self
415
543
  def [](*_arg0); end
@@ -422,52 +550,42 @@ end
422
550
  # An interface describing an object that can extract a constant name from an AST node.
423
551
  #
424
552
  # @abstract Subclasses must implement the `abstract` methods below.
553
+ #
554
+ # source://packwerk//lib/packwerk/constant_name_inspector.rb#8
425
555
  module Packwerk::ConstantNameInspector
426
556
  interface!
427
557
 
428
558
  # @abstract
559
+ #
560
+ # source://packwerk//lib/packwerk/constant_name_inspector.rb#19
429
561
  sig { abstract.params(node: ::AST::Node, ancestors: T::Array[::AST::Node]).returns(T.nilable(::String)) }
430
562
  def constant_name_from_node(node, ancestors:); end
431
563
  end
432
564
 
565
+ # source://packwerk//lib/packwerk/cache.rb#162
433
566
  class Packwerk::Debug
434
567
  class << self
568
+ # source://packwerk//lib/packwerk/cache.rb#167
435
569
  sig { params(out: ::String).void }
436
570
  def out(out); end
437
571
  end
438
572
  end
439
573
 
440
- class Packwerk::DeprecatedReferences
441
- sig { params(package: ::Packwerk::Package, filepath: ::String).void }
442
- def initialize(package, filepath); end
443
-
444
- sig { params(reference: ::Packwerk::Reference, violation_type: ::Packwerk::ViolationType).returns(T::Boolean) }
445
- def add_entries(reference, violation_type); end
446
-
447
- sig { void }
448
- def dump; end
449
-
450
- sig { params(reference: ::Packwerk::Reference, violation_type: ::Packwerk::ViolationType).returns(T::Boolean) }
451
- def listed?(reference, violation_type:); end
452
-
453
- sig { params(for_files: T::Set[::String]).returns(T::Boolean) }
454
- def stale_violations?(for_files); end
455
-
456
- private
457
-
458
- sig { returns(T::Hash[::String, T.untyped]) }
459
- def deprecated_references; end
460
-
461
- sig { params(filepath: ::String).returns(T::Hash[::String, T.untyped]) }
462
- def load_yaml(filepath); end
463
-
464
- sig { returns(T::Hash[::String, T.untyped]) }
465
- def prepare_entries_for_dump; end
574
+ # This class handles loading extensions to packwerk using the `require` directive
575
+ # in the `packwerk.yml` configuration.
576
+ #
577
+ # source://packwerk//lib/packwerk/extension_loader.rb#7
578
+ module Packwerk::ExtensionLoader
579
+ class << self
580
+ # source://packwerk//lib/packwerk/extension_loader.rb#11
581
+ sig { params(require_directive: ::String, config_dir_path: ::String).void }
582
+ def load(require_directive, config_dir_path); end
583
+ end
466
584
  end
467
585
 
468
- Packwerk::DeprecatedReferences::EntriesType = T.type_alias { T::Hash[::String, T.untyped] }
469
-
586
+ # source://packwerk//lib/packwerk/file_processor.rb#7
470
587
  class Packwerk::FileProcessor
588
+ # source://packwerk//lib/packwerk/file_processor.rb#26
471
589
  sig do
472
590
  params(
473
591
  node_processor_factory: ::Packwerk::NodeProcessorFactory,
@@ -477,36 +595,46 @@ class Packwerk::FileProcessor
477
595
  end
478
596
  def initialize(node_processor_factory:, cache:, parser_factory: T.unsafe(nil)); end
479
597
 
598
+ # source://packwerk//lib/packwerk/file_processor.rb#40
480
599
  sig { params(relative_file: ::String).returns(::Packwerk::FileProcessor::ProcessedFile) }
481
600
  def call(relative_file); end
482
601
 
483
602
  private
484
603
 
604
+ # source://packwerk//lib/packwerk/file_processor.rb#74
485
605
  sig { params(relative_file: ::String, parser: ::Packwerk::Parsers::ParserInterface).returns(T.untyped) }
486
606
  def parse_into_ast(relative_file, parser); end
487
607
 
608
+ # source://packwerk//lib/packwerk/file_processor.rb#81
488
609
  sig { params(file_path: ::String).returns(T.nilable(::Packwerk::Parsers::ParserInterface)) }
489
610
  def parser_for(file_path); end
490
611
 
612
+ # source://packwerk//lib/packwerk/file_processor.rb#63
491
613
  sig { params(node: ::Parser::AST::Node, relative_file: ::String).returns(T::Array[::Packwerk::UnresolvedReference]) }
492
614
  def references_from_ast(node, relative_file); end
493
615
  end
494
616
 
617
+ # source://packwerk//lib/packwerk/file_processor.rb#32
495
618
  class Packwerk::FileProcessor::ProcessedFile < ::T::Struct
496
- const :offenses, T::Array[::Packwerk::Offense], default: T.unsafe(nil)
497
619
  const :unresolved_references, T::Array[::Packwerk::UnresolvedReference], default: T.unsafe(nil)
620
+ const :offenses, T::Array[::Packwerk::Offense], default: T.unsafe(nil)
498
621
 
499
622
  class << self
623
+ # source://sorbet-runtime/0.5.10588/lib/types/struct.rb#13
500
624
  def inherited(s); end
501
625
  end
502
626
  end
503
627
 
628
+ # source://packwerk//lib/packwerk/file_processor.rb#10
504
629
  class Packwerk::FileProcessor::UnknownFileTypeResult < ::Packwerk::Offense
630
+ # source://packwerk//lib/packwerk/file_processor.rb#14
505
631
  sig { params(file: ::String).void }
506
632
  def initialize(file:); end
507
633
  end
508
634
 
635
+ # source://packwerk//lib/packwerk/files_for_processing.rb#5
509
636
  class Packwerk::FilesForProcessing
637
+ # source://packwerk//lib/packwerk/files_for_processing.rb#32
510
638
  sig do
511
639
  params(
512
640
  relative_file_paths: T::Array[::String],
@@ -516,53 +644,74 @@ class Packwerk::FilesForProcessing
516
644
  end
517
645
  def initialize(relative_file_paths, configuration, ignore_nested_packages); end
518
646
 
647
+ # source://packwerk//lib/packwerk/files_for_processing.rb#41
519
648
  sig { returns(T::Set[::String]) }
520
649
  def files; end
521
650
 
651
+ # source://packwerk//lib/packwerk/files_for_processing.rb#46
652
+ sig { returns(T::Boolean) }
653
+ def files_specified?; end
654
+
522
655
  private
523
656
 
657
+ # source://packwerk//lib/packwerk/files_for_processing.rb#105
524
658
  sig { returns(T::Set[::String]) }
525
659
  def configured_excluded_files; end
526
660
 
661
+ # source://packwerk//lib/packwerk/files_for_processing.rb#100
527
662
  sig { returns(T::Set[::String]) }
528
663
  def configured_included_files; end
529
664
 
665
+ # source://packwerk//lib/packwerk/files_for_processing.rb#53
530
666
  sig { returns(T::Set[::String]) }
531
- def custom_files; end
532
-
533
- sig { params(relative_file_path: ::String).returns(T::Set[::String]) }
534
- def custom_included_files(relative_file_path); end
667
+ def files_for_processing; end
535
668
 
669
+ # source://packwerk//lib/packwerk/files_for_processing.rb#110
536
670
  sig { params(relative_globs: T::Array[::String]).returns(T::Set[::String]) }
537
671
  def relative_files_for_globs(relative_globs); end
538
672
 
673
+ # source://packwerk//lib/packwerk/files_for_processing.rb#64
674
+ sig { returns(T::Set[::String]) }
675
+ def specified_files; end
676
+
677
+ # source://packwerk//lib/packwerk/files_for_processing.rb#77
678
+ sig { params(relative_file_path: ::String).returns(T::Set[::String]) }
679
+ def specified_included_files(relative_file_path); end
680
+
539
681
  class << self
682
+ # source://packwerk//lib/packwerk/files_for_processing.rb#20
540
683
  sig do
541
684
  params(
542
685
  relative_file_paths: T::Array[::String],
543
686
  configuration: ::Packwerk::Configuration,
544
687
  ignore_nested_packages: T::Boolean
545
- ).returns(T::Set[::String])
688
+ ).returns(::Packwerk::FilesForProcessing)
546
689
  end
547
690
  def fetch(relative_file_paths:, configuration:, ignore_nested_packages: T.unsafe(nil)); end
548
691
  end
549
692
  end
550
693
 
694
+ # source://packwerk//lib/packwerk/files_for_processing.rb#8
551
695
  Packwerk::FilesForProcessing::RelativeFileSet = T.type_alias { T::Set[::String] }
552
696
 
697
+ # source://packwerk//lib/packwerk.rb#66
553
698
  module Packwerk::Formatters
554
699
  extend ::ActiveSupport::Autoload
555
700
  end
556
701
 
702
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#6
557
703
  class Packwerk::Formatters::OffensesFormatter
558
704
  include ::Packwerk::OffensesFormatter
559
705
 
560
- sig { params(style: ::Packwerk::OutputStyle).void }
561
- def initialize(style: T.unsafe(nil)); end
706
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#33
707
+ sig { override.returns(::String) }
708
+ def identifier; end
562
709
 
710
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#14
563
711
  sig { override.params(offenses: T::Array[T.nilable(::Packwerk::Offense)]).returns(::String) }
564
712
  def show_offenses(offenses); end
565
713
 
714
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#24
566
715
  sig do
567
716
  override
568
717
  .params(
@@ -572,84 +721,152 @@ class Packwerk::Formatters::OffensesFormatter
572
721
  end
573
722
  def show_stale_violations(offense_collection, fileset); end
574
723
 
724
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#38
725
+ sig { override.params(strict_mode_violations: T::Array[::Packwerk::ReferenceOffense]).returns(::String) }
726
+ def show_strict_mode_violations(strict_mode_violations); end
727
+
575
728
  private
576
729
 
730
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#54
731
+ sig { params(offense: ::Packwerk::ReferenceOffense).returns(::String) }
732
+ def format_strict_mode_violation(offense); end
733
+
734
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#62
577
735
  sig { params(offenses: T::Array[T.nilable(::Packwerk::Offense)]).returns(::String) }
578
736
  def offenses_list(offenses); end
579
737
 
738
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#70
580
739
  sig { params(offenses: T::Array[T.nilable(::Packwerk::Offense)]).returns(::String) }
581
740
  def offenses_summary(offenses); end
741
+
742
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#49
743
+ sig { returns(::Packwerk::OutputStyle) }
744
+ def style; end
582
745
  end
583
746
 
747
+ # source://packwerk//lib/packwerk/formatters/offenses_formatter.rb#9
748
+ Packwerk::Formatters::OffensesFormatter::IDENTIFIER = T.let(T.unsafe(nil), String)
749
+
750
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#8
584
751
  class Packwerk::Formatters::ProgressFormatter
752
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#12
585
753
  sig { params(out: T.any(::IO, ::StringIO), style: ::Packwerk::OutputStyle).void }
586
754
  def initialize(out, style: T.unsafe(nil)); end
587
755
 
588
- def finished(execution_time); end
756
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#39
589
757
  def interrupted; end
758
+
759
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#35
590
760
  def mark_as_failed; end
761
+
762
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#31
591
763
  def mark_as_inspected; end
592
- def started(target_files); end
764
+
765
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#24
766
+ def started_inspection(target_files, &block); end
767
+
768
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#17
593
769
  def started_validation(&block); end
770
+
771
+ private
772
+
773
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#46
774
+ def finished(execution_time); end
775
+
776
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#55
777
+ def start_inspection(target_files); end
778
+
779
+ # source://packwerk//lib/packwerk/formatters/progress_formatter.rb#51
780
+ def start_validation; end
594
781
  end
595
782
 
783
+ # source://packwerk//lib/packwerk.rb#72
596
784
  module Packwerk::Generators
597
785
  extend ::ActiveSupport::Autoload
598
786
  end
599
787
 
788
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#8
600
789
  class Packwerk::Generators::ConfigurationFile
790
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#20
601
791
  sig { params(root: ::String, out: T.any(::IO, ::StringIO)).void }
602
792
  def initialize(root:, out: T.unsafe(nil)); end
603
793
 
794
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#26
604
795
  sig { returns(T::Boolean) }
605
796
  def generate; end
606
797
 
607
798
  private
608
799
 
800
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#43
609
801
  def render; end
802
+
803
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#47
610
804
  def template; end
611
805
 
612
806
  class << self
807
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#14
613
808
  def generate(root:, out:); end
614
809
  end
615
810
  end
616
811
 
812
+ # source://packwerk//lib/packwerk/generators/configuration_file.rb#11
617
813
  Packwerk::Generators::ConfigurationFile::CONFIGURATION_TEMPLATE_FILE_PATH = T.let(T.unsafe(nil), String)
618
814
 
815
+ # source://packwerk//lib/packwerk/generators/root_package.rb#6
619
816
  class Packwerk::Generators::RootPackage
620
817
  # @return [RootPackage] a new instance of RootPackage
818
+ #
819
+ # source://packwerk//lib/packwerk/generators/root_package.rb#15
621
820
  def initialize(root:, out: T.unsafe(nil)); end
622
821
 
822
+ # source://packwerk//lib/packwerk/generators/root_package.rb#21
623
823
  sig { returns(T::Boolean) }
624
824
  def generate; end
625
825
 
626
826
  class << self
827
+ # source://packwerk//lib/packwerk/generators/root_package.rb#10
627
828
  def generate(root:, out:); end
628
829
  end
629
830
  end
630
831
 
631
832
  # A general implementation of a graph data structure with the ability to check for - and list - cycles.
833
+ #
834
+ # source://packwerk//lib/packwerk/graph.rb#6
632
835
  class Packwerk::Graph
633
- # @param edges [Array<Array>] The edges of the graph; An edge being represented as an Array of two nodes.
634
- # @return [Graph] a new instance of Graph
635
- def initialize(*edges); end
836
+ # source://packwerk//lib/packwerk/graph.rb#14
837
+ sig { params(edges: T::Array[T::Array[T.nilable(T.any(::Integer, ::String))]]).void }
838
+ def initialize(edges); end
636
839
 
637
840
  # @return [Boolean]
841
+ #
842
+ # source://packwerk//lib/packwerk/graph.rb#24
638
843
  def acyclic?; end
639
844
 
845
+ # source://packwerk//lib/packwerk/graph.rb#20
640
846
  def cycles; end
641
847
 
642
848
  private
643
849
 
850
+ # source://packwerk//lib/packwerk/graph.rb#74
644
851
  def add_cycle(cycle); end
852
+
853
+ # source://packwerk//lib/packwerk/graph.rb#67
645
854
  def neighbours(node); end
855
+
856
+ # source://packwerk//lib/packwerk/graph.rb#30
646
857
  def nodes; end
858
+
859
+ # source://packwerk//lib/packwerk/graph.rb#34
647
860
  def process; end
861
+
862
+ # source://packwerk//lib/packwerk/graph.rb#42
648
863
  def visit(node, visited_nodes: T.unsafe(nil), path: T.unsafe(nil)); end
649
864
  end
650
865
 
866
+ # source://packwerk//lib/packwerk/node.rb#5
651
867
  class Packwerk::Node; end
652
868
 
869
+ # source://packwerk//lib/packwerk/node.rb#6
653
870
  class Packwerk::Node::Location < ::Struct
654
871
  # Returns the value of attribute column
655
872
  #
@@ -660,6 +877,8 @@ class Packwerk::Node::Location < ::Struct
660
877
  #
661
878
  # @param value [Object] the value to set the attribute column to.
662
879
  # @return [Object] the newly set value
880
+ #
881
+ # source://packwerk//lib/packwerk/node.rb#6
663
882
  def column=(_); end
664
883
 
665
884
  # Returns the value of attribute line
@@ -671,6 +890,8 @@ class Packwerk::Node::Location < ::Struct
671
890
  #
672
891
  # @param value [Object] the value to set the attribute line to.
673
892
  # @return [Object] the newly set value
893
+ #
894
+ # source://packwerk//lib/packwerk/node.rb#6
674
895
  def line=(_); end
675
896
 
676
897
  class << self
@@ -682,117 +903,162 @@ class Packwerk::Node::Location < ::Struct
682
903
  end
683
904
 
684
905
  # Convenience methods for working with Parser::AST::Node nodes.
906
+ #
907
+ # source://packwerk//lib/packwerk/node_helpers.rb#9
685
908
  module Packwerk::NodeHelpers
686
909
  class << self
910
+ # source://packwerk//lib/packwerk/node_helpers.rb#117
687
911
  sig { params(node: ::AST::Node).returns(T::Boolean) }
688
912
  def class?(node); end
689
913
 
914
+ # source://packwerk//lib/packwerk/node_helpers.rb#16
690
915
  sig { params(class_or_module_node: ::AST::Node).returns(::String) }
691
916
  def class_or_module_name(class_or_module_node); end
692
917
 
918
+ # source://packwerk//lib/packwerk/node_helpers.rb#107
693
919
  sig { params(node: ::AST::Node).returns(T::Boolean) }
694
920
  def constant?(node); end
695
921
 
922
+ # source://packwerk//lib/packwerk/node_helpers.rb#112
696
923
  sig { params(node: ::AST::Node).returns(T::Boolean) }
697
924
  def constant_assignment?(node); end
698
925
 
926
+ # source://packwerk//lib/packwerk/node_helpers.rb#31
699
927
  sig { params(constant_node: ::AST::Node).returns(::String) }
700
928
  def constant_name(constant_node); end
701
929
 
930
+ # source://packwerk//lib/packwerk/node_helpers.rb#63
702
931
  sig { params(node: ::AST::Node).returns(T.untyped) }
703
932
  def each_child(node); end
704
933
 
934
+ # source://packwerk//lib/packwerk/node_helpers.rb#74
705
935
  sig { params(starting_node: ::AST::Node, ancestors: T::Array[::AST::Node]).returns(T::Array[::String]) }
706
936
  def enclosing_namespace_path(starting_node, ancestors:); end
707
937
 
938
+ # source://packwerk//lib/packwerk/node_helpers.rb#127
708
939
  sig { params(node: ::AST::Node).returns(T::Boolean) }
709
940
  def hash?(node); end
710
941
 
942
+ # source://packwerk//lib/packwerk/node_helpers.rb#87
711
943
  sig { params(string_or_symbol_node: ::AST::Node).returns(T.any(::String, ::Symbol)) }
712
944
  def literal_value(string_or_symbol_node); end
713
945
 
946
+ # source://packwerk//lib/packwerk/node_helpers.rb#101
714
947
  sig { params(node: ::Parser::AST::Node).returns(::Packwerk::Node::Location) }
715
948
  def location(node); end
716
949
 
717
950
  # @raise [TypeError]
951
+ #
952
+ # source://packwerk//lib/packwerk/node_helpers.rb#142
718
953
  sig { params(method_call_node: ::AST::Node).returns(T::Array[::AST::Node]) }
719
954
  def method_arguments(method_call_node); end
720
955
 
956
+ # source://packwerk//lib/packwerk/node_helpers.rb#122
721
957
  sig { params(node: ::AST::Node).returns(T::Boolean) }
722
958
  def method_call?(node); end
723
959
 
724
960
  # @raise [TypeError]
961
+ #
962
+ # source://packwerk//lib/packwerk/node_helpers.rb#151
725
963
  sig { params(method_call_node: ::AST::Node).returns(::Symbol) }
726
964
  def method_name(method_call_node); end
727
965
 
966
+ # source://packwerk//lib/packwerk/node_helpers.rb#160
728
967
  sig { params(node: ::AST::Node).returns(T.nilable(::String)) }
729
968
  def module_name_from_definition(node); end
730
969
 
970
+ # source://packwerk//lib/packwerk/node_helpers.rb#185
731
971
  sig { params(node: ::Parser::AST::Node).returns(T.nilable(::Packwerk::Node::Location)) }
732
972
  def name_location(node); end
733
973
 
734
974
  # @raise [TypeError]
975
+ #
976
+ # source://packwerk//lib/packwerk/node_helpers.rb#195
735
977
  sig { params(class_node: ::AST::Node).returns(T.nilable(::AST::Node)) }
736
978
  def parent_class(class_node); end
737
979
 
980
+ # source://packwerk//lib/packwerk/node_helpers.rb#204
738
981
  sig { params(ancestors: T::Array[::AST::Node]).returns(::String) }
739
982
  def parent_module_name(ancestors:); end
740
983
 
984
+ # source://packwerk//lib/packwerk/node_helpers.rb#132
741
985
  sig { params(node: ::AST::Node).returns(T::Boolean) }
742
986
  def string?(node); end
743
987
 
988
+ # source://packwerk//lib/packwerk/node_helpers.rb#137
744
989
  sig { params(node: ::AST::Node).returns(T::Boolean) }
745
990
  def symbol?(node); end
746
991
 
747
992
  # @raise [TypeError]
993
+ #
994
+ # source://packwerk//lib/packwerk/node_helpers.rb#216
748
995
  sig { params(hash_node: ::AST::Node, key: ::Symbol).returns(T.untyped) }
749
996
  def value_from_hash(hash_node, key); end
750
997
 
751
998
  private
752
999
 
1000
+ # source://packwerk//lib/packwerk/node_helpers.rb#298
753
1001
  sig { params(node: T.nilable(::AST::Node)).returns(T::Boolean) }
754
1002
  def dynamic_class_creation?(node); end
755
1003
 
756
1004
  # @raise [TypeError]
1005
+ #
1006
+ # source://packwerk//lib/packwerk/node_helpers.rb#249
757
1007
  sig { params(hash_pair_node: ::AST::Node).returns(T.untyped) }
758
1008
  def hash_pair_key(hash_pair_node); end
759
1009
 
760
1010
  # @raise [TypeError]
1011
+ #
1012
+ # source://packwerk//lib/packwerk/node_helpers.rb#260
761
1013
  sig { params(hash_pair_node: ::AST::Node).returns(T.untyped) }
762
1014
  def hash_pair_value(hash_pair_node); end
763
1015
 
764
1016
  # @raise [TypeError]
1017
+ #
1018
+ # source://packwerk//lib/packwerk/node_helpers.rb#271
765
1019
  sig { params(hash_node: ::AST::Node).returns(T::Array[::AST::Node]) }
766
1020
  def hash_pairs(hash_node); end
767
1021
 
768
1022
  # @raise [TypeError]
1023
+ #
1024
+ # source://packwerk//lib/packwerk/node_helpers.rb#280
769
1025
  sig { params(block_node: ::AST::Node).returns(::AST::Node) }
770
1026
  def method_call_node(block_node); end
771
1027
 
1028
+ # source://packwerk//lib/packwerk/node_helpers.rb#289
772
1029
  sig { params(node: ::AST::Node).returns(T::Boolean) }
773
1030
  def module_creation?(node); end
774
1031
 
1032
+ # source://packwerk//lib/packwerk/node_helpers.rb#305
775
1033
  sig { params(node: ::AST::Node).returns(T.nilable(::String)) }
776
1034
  def name_from_block_definition(node); end
777
1035
 
1036
+ # source://packwerk//lib/packwerk/node_helpers.rb#313
778
1037
  sig { params(node: ::AST::Node).returns(T.nilable(::String)) }
779
1038
  def name_part_from_definition(node); end
780
1039
 
1040
+ # source://packwerk//lib/packwerk/node_helpers.rb#323
781
1041
  sig { params(method_call_or_block_node: ::AST::Node).returns(T.nilable(::AST::Node)) }
782
1042
  def receiver(method_call_or_block_node); end
783
1043
 
1044
+ # source://packwerk//lib/packwerk/node_helpers.rb#244
784
1045
  sig { params(node: ::AST::Node).returns(::Symbol) }
785
1046
  def type_of(node); end
786
1047
  end
787
1048
  end
788
1049
 
1050
+ # source://packwerk//lib/packwerk/node_helpers.rb#10
789
1051
  class Packwerk::NodeHelpers::TypeError < ::ArgumentError; end
790
1052
 
791
1053
  # Processes a single node in an abstract syntax tree (AST) using the provided checkers.
1054
+ #
1055
+ # source://packwerk//lib/packwerk/node_processor.rb#6
792
1056
  class Packwerk::NodeProcessor
1057
+ # source://packwerk//lib/packwerk/node_processor.rb#15
793
1058
  sig { params(reference_extractor: ::Packwerk::ReferenceExtractor, relative_file: ::String).void }
794
1059
  def initialize(reference_extractor:, relative_file:); end
795
1060
 
1061
+ # source://packwerk//lib/packwerk/node_processor.rb#26
796
1062
  sig do
797
1063
  params(
798
1064
  node: ::Parser::AST::Node,
@@ -802,97 +1068,149 @@ class Packwerk::NodeProcessor
802
1068
  def call(node, ancestors); end
803
1069
  end
804
1070
 
1071
+ # source://packwerk//lib/packwerk/node_processor_factory.rb#5
805
1072
  class Packwerk::NodeProcessorFactory < ::T::Struct
806
- const :constant_name_inspectors, T::Array[::Packwerk::ConstantNameInspector]
807
- const :context_provider, ::Packwerk::ConstantDiscovery
808
1073
  const :root_path, ::String
1074
+ const :context_provider, ::Packwerk::ConstantDiscovery
1075
+ const :constant_name_inspectors, T::Array[::Packwerk::ConstantNameInspector]
809
1076
 
1077
+ # source://packwerk//lib/packwerk/node_processor_factory.rb#13
810
1078
  sig { params(relative_file: ::String, node: ::AST::Node).returns(::Packwerk::NodeProcessor) }
811
1079
  def for(relative_file:, node:); end
812
1080
 
813
1081
  private
814
1082
 
1083
+ # source://packwerk//lib/packwerk/node_processor_factory.rb#23
815
1084
  sig { params(node: ::AST::Node).returns(::Packwerk::ReferenceExtractor) }
816
1085
  def reference_extractor(node:); end
817
1086
 
818
1087
  class << self
1088
+ # source://sorbet-runtime/0.5.10588/lib/types/struct.rb#13
819
1089
  def inherited(s); end
820
1090
  end
821
1091
  end
822
1092
 
823
1093
  # Visits all nodes of an AST, processing them using a given node processor.
1094
+ #
1095
+ # source://packwerk//lib/packwerk/node_visitor.rb#6
824
1096
  class Packwerk::NodeVisitor
1097
+ # source://packwerk//lib/packwerk/node_visitor.rb#10
825
1098
  sig { params(node_processor: ::Packwerk::NodeProcessor).void }
826
1099
  def initialize(node_processor:); end
827
1100
 
1101
+ # source://packwerk//lib/packwerk/node_visitor.rb#14
828
1102
  def visit(node, ancestors:, result:); end
829
1103
  end
830
1104
 
1105
+ # source://packwerk//lib/packwerk/offense.rb#7
831
1106
  class Packwerk::Offense
1107
+ # source://packwerk//lib/packwerk/offense.rb#24
832
1108
  sig { params(file: ::String, message: ::String, location: T.nilable(::Packwerk::Node::Location)).void }
833
1109
  def initialize(file:, message:, location: T.unsafe(nil)); end
834
1110
 
1111
+ # source://packwerk//lib/packwerk/offense.rb#15
835
1112
  sig { returns(::String) }
836
1113
  def file; end
837
1114
 
1115
+ # source://packwerk//lib/packwerk/offense.rb#12
838
1116
  sig { returns(T.nilable(::Packwerk::Node::Location)) }
839
1117
  def location; end
840
1118
 
1119
+ # source://packwerk//lib/packwerk/offense.rb#18
841
1120
  sig { returns(::String) }
842
1121
  def message; end
843
1122
 
1123
+ # source://packwerk//lib/packwerk/offense.rb#31
844
1124
  sig { params(style: ::Packwerk::OutputStyle).returns(::String) }
845
1125
  def to_s(style = T.unsafe(nil)); end
846
1126
  end
847
1127
 
1128
+ # source://packwerk//lib/packwerk/offense_collection.rb#7
848
1129
  class Packwerk::OffenseCollection
849
- sig do
850
- params(
851
- root_path: ::String,
852
- deprecated_references: T::Hash[::Packwerk::Package, ::Packwerk::DeprecatedReferences]
853
- ).void
854
- end
855
- def initialize(root_path, deprecated_references = T.unsafe(nil)); end
1130
+ # source://packwerk//lib/packwerk/offense_collection.rb#17
1131
+ sig { params(root_path: ::String, package_todo: T::Hash[::Packwerk::Package, ::Packwerk::PackageTodo]).void }
1132
+ def initialize(root_path, package_todo = T.unsafe(nil)); end
856
1133
 
1134
+ # source://packwerk//lib/packwerk/offense_collection.rb#48
857
1135
  sig { params(offense: ::Packwerk::Offense).void }
858
1136
  def add_offense(offense); end
859
1137
 
860
- sig { void }
861
- def dump_deprecated_references_files; end
862
-
1138
+ # source://packwerk//lib/packwerk/offense_collection.rb#29
863
1139
  sig { returns(T::Array[::Packwerk::Offense]) }
864
1140
  def errors; end
865
1141
 
1142
+ # source://packwerk//lib/packwerk/offense_collection.rb#38
866
1143
  sig { params(offense: ::Packwerk::Offense).returns(T::Boolean) }
867
1144
  def listed?(offense); end
868
1145
 
1146
+ # source://packwerk//lib/packwerk/offense_collection.rb#26
869
1147
  sig { returns(T::Array[::Packwerk::ReferenceOffense]) }
870
1148
  def new_violations; end
871
1149
 
1150
+ # source://packwerk//lib/packwerk/offense_collection.rb#75
872
1151
  sig { returns(T::Array[::Packwerk::Offense]) }
873
1152
  def outstanding_offenses; end
874
1153
 
1154
+ # source://packwerk//lib/packwerk/offense_collection.rb#69
1155
+ sig { params(package_set: Packwerk::PackageSet).void }
1156
+ def persist_package_todo_files(package_set); end
1157
+
1158
+ # source://packwerk//lib/packwerk/offense_collection.rb#62
875
1159
  sig { params(for_files: T::Set[::String]).returns(T::Boolean) }
876
1160
  def stale_violations?(for_files); end
877
1161
 
1162
+ # source://packwerk//lib/packwerk/offense_collection.rb#32
1163
+ sig { returns(T::Array[::Packwerk::ReferenceOffense]) }
1164
+ def strict_mode_violations; end
1165
+
878
1166
  private
879
1167
 
1168
+ # source://packwerk//lib/packwerk/offense_collection.rb#82
1169
+ sig { params(offense: ::Packwerk::ReferenceOffense).returns(T::Boolean) }
1170
+ def already_listed?(offense); end
1171
+
1172
+ # source://packwerk//lib/packwerk/offense_collection.rb#94
1173
+ sig { params(package_set: Packwerk::PackageSet).void }
1174
+ def cleanup_extra_package_todo_files(package_set); end
1175
+
1176
+ # source://packwerk//lib/packwerk/offense_collection.rb#106
1177
+ sig { void }
1178
+ def dump_package_todo_files; end
1179
+
1180
+ # source://packwerk//lib/packwerk/offense_collection.rb#119
880
1181
  sig { params(package: ::Packwerk::Package).returns(::String) }
881
- def deprecated_references_file_for(package); end
1182
+ def package_todo_file_for(package); end
882
1183
 
883
- sig { params(package: ::Packwerk::Package).returns(::Packwerk::DeprecatedReferences) }
884
- def deprecated_references_for(package); end
1184
+ # source://packwerk//lib/packwerk/offense_collection.rb#111
1185
+ sig { params(package: ::Packwerk::Package).returns(::Packwerk::PackageTodo) }
1186
+ def package_todo_for(package); end
1187
+
1188
+ # source://packwerk//lib/packwerk/offense_collection.rb#88
1189
+ sig { params(offense: ::Packwerk::ReferenceOffense).returns(T::Boolean) }
1190
+ def strict_mode_violation?(offense); end
885
1191
  end
886
1192
 
887
1193
  # @abstract Subclasses must implement the `abstract` methods below.
1194
+ #
1195
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#5
888
1196
  module Packwerk::OffensesFormatter
889
- interface!
1197
+ abstract!
1198
+
1199
+ # @abstract
1200
+ #
1201
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#69
1202
+ sig { abstract.returns(::String) }
1203
+ def identifier; end
890
1204
 
891
1205
  # @abstract
1206
+ #
1207
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#61
892
1208
  sig { abstract.params(offenses: T::Array[T.nilable(::Packwerk::Offense)]).returns(::String) }
893
1209
  def show_offenses(offenses); end
894
1210
 
895
1211
  # @abstract
1212
+ #
1213
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#65
896
1214
  sig do
897
1215
  abstract
898
1216
  .params(
@@ -901,52 +1219,103 @@ module Packwerk::OffensesFormatter
901
1219
  ).returns(::String)
902
1220
  end
903
1221
  def show_stale_violations(offense_collection, for_files); end
1222
+
1223
+ # @abstract
1224
+ #
1225
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#73
1226
+ sig { abstract.params(strict_mode_violations: T::Array[::Packwerk::ReferenceOffense]).returns(::String) }
1227
+ def show_strict_mode_violations(strict_mode_violations); end
1228
+
1229
+ class << self
1230
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#31
1231
+ sig { returns(T::Array[::Packwerk::OffensesFormatter]) }
1232
+ def all; end
1233
+
1234
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#36
1235
+ sig { params(identifier: ::String).returns(::Packwerk::OffensesFormatter) }
1236
+ def find(identifier); end
1237
+
1238
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#24
1239
+ sig { params(base: ::Class).void }
1240
+ def included(base); end
1241
+
1242
+ private
1243
+
1244
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#43
1245
+ sig { params(name: ::String).returns(::Packwerk::OffensesFormatter) }
1246
+ def formatter_by_identifier(name); end
1247
+ end
1248
+ end
1249
+
1250
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#11
1251
+ class Packwerk::OffensesFormatter::DuplicateFormatterError < ::StandardError
1252
+ # source://packwerk//lib/packwerk/offenses_formatter.rb#15
1253
+ sig { params(identifier: ::String).void }
1254
+ def initialize(identifier); end
904
1255
  end
905
1256
 
906
1257
  # @abstract Subclasses must implement the `abstract` methods below.
1258
+ #
1259
+ # source://packwerk//lib/packwerk/output_style.rb#5
907
1260
  module Packwerk::OutputStyle
908
1261
  interface!
909
1262
 
910
1263
  # @abstract
1264
+ #
1265
+ # source://packwerk//lib/packwerk/output_style.rb#18
911
1266
  sig { abstract.returns(::String) }
912
1267
  def error; end
913
1268
 
914
1269
  # @abstract
1270
+ #
1271
+ # source://packwerk//lib/packwerk/output_style.rb#15
915
1272
  sig { abstract.returns(::String) }
916
1273
  def filename; end
917
1274
 
918
1275
  # @abstract
1276
+ #
1277
+ # source://packwerk//lib/packwerk/output_style.rb#12
919
1278
  sig { abstract.returns(::String) }
920
1279
  def reset; end
921
1280
  end
922
1281
 
1282
+ # source://packwerk//lib/packwerk.rb#55
923
1283
  module Packwerk::OutputStyles
924
1284
  extend ::ActiveSupport::Autoload
925
1285
  end
926
1286
 
927
1287
  # See https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit for ANSI escape colour codes
1288
+ #
1289
+ # source://packwerk//lib/packwerk/output_styles/coloured.rb#7
928
1290
  class Packwerk::OutputStyles::Coloured
929
1291
  include ::Packwerk::OutputStyle
930
1292
 
1293
+ # source://packwerk//lib/packwerk/output_styles/coloured.rb#23
931
1294
  sig { override.returns(::String) }
932
1295
  def error; end
933
1296
 
1297
+ # source://packwerk//lib/packwerk/output_styles/coloured.rb#17
934
1298
  sig { override.returns(::String) }
935
1299
  def filename; end
936
1300
 
1301
+ # source://packwerk//lib/packwerk/output_styles/coloured.rb#12
937
1302
  sig { override.returns(::String) }
938
1303
  def reset; end
939
1304
  end
940
1305
 
1306
+ # source://packwerk//lib/packwerk/output_styles/plain.rb#6
941
1307
  class Packwerk::OutputStyles::Plain
942
1308
  include ::Packwerk::OutputStyle
943
1309
 
1310
+ # source://packwerk//lib/packwerk/output_styles/plain.rb#21
944
1311
  sig { override.returns(::String) }
945
1312
  def error; end
946
1313
 
1314
+ # source://packwerk//lib/packwerk/output_styles/plain.rb#16
947
1315
  sig { override.returns(::String) }
948
1316
  def filename; end
949
1317
 
1318
+ # source://packwerk//lib/packwerk/output_styles/plain.rb#11
950
1319
  sig { override.returns(::String) }
951
1320
  def reset; end
952
1321
  end
@@ -954,78 +1323,94 @@ end
954
1323
  # The basic unit of modularity for packwerk; a folder that has been declared to define a package.
955
1324
  # The package contains all constants defined in files in this folder and all subfolders that are not packages
956
1325
  # themselves.
1326
+ #
1327
+ # source://packwerk//lib/packwerk/package.rb#8
957
1328
  class Packwerk::Package
958
1329
  include ::Comparable
959
1330
 
1331
+ # source://packwerk//lib/packwerk/package.rb#24
960
1332
  sig { params(name: ::String, config: T.nilable(T.any(::FalseClass, T::Hash[T.untyped, T.untyped]))).void }
961
1333
  def initialize(name:, config:); end
962
1334
 
1335
+ # source://packwerk//lib/packwerk/package.rb#49
963
1336
  sig { params(other: T.untyped).returns(T.nilable(::Integer)) }
964
1337
  def <=>(other); end
965
1338
 
1339
+ # source://packwerk//lib/packwerk/package.rb#21
1340
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1341
+ def config; end
1342
+
1343
+ # source://packwerk//lib/packwerk/package.rb#18
966
1344
  sig { returns(T::Array[::String]) }
967
1345
  def dependencies; end
968
1346
 
1347
+ # source://packwerk//lib/packwerk/package.rb#37
969
1348
  sig { params(package: ::Packwerk::Package).returns(T::Boolean) }
970
1349
  def dependency?(package); end
971
1350
 
1351
+ # source://packwerk//lib/packwerk/package.rb#32
972
1352
  sig { returns(T::Boolean) }
973
1353
  def enforce_dependencies?; end
974
1354
 
975
- sig { returns(T.nilable(T.any(T::Array[::String], T::Boolean))) }
976
- def enforce_privacy; end
977
-
1355
+ # source://packwerk//lib/packwerk/package.rb#56
978
1356
  sig { params(other: T.untyped).returns(T::Boolean) }
979
1357
  def eql?(other); end
980
1358
 
1359
+ # source://packwerk//lib/packwerk/package.rb#61
981
1360
  sig { returns(::Integer) }
982
1361
  def hash; end
983
1362
 
1363
+ # source://packwerk//lib/packwerk/package.rb#15
984
1364
  sig { returns(::String) }
985
1365
  def name; end
986
1366
 
1367
+ # source://packwerk//lib/packwerk/package.rb#42
987
1368
  sig { params(path: ::String).returns(T::Boolean) }
988
1369
  def package_path?(path); end
989
1370
 
990
- sig { returns(::String) }
991
- def public_path; end
992
-
993
- sig { params(path: ::String).returns(T::Boolean) }
994
- def public_path?(path); end
995
-
1371
+ # source://packwerk//lib/packwerk/package.rb#71
996
1372
  sig { returns(T::Boolean) }
997
1373
  def root?; end
998
1374
 
1375
+ # source://packwerk//lib/packwerk/package.rb#66
999
1376
  sig { returns(::String) }
1000
1377
  def to_s; end
1001
-
1002
- sig { returns(T.nilable(::String)) }
1003
- def user_defined_public_path; end
1004
1378
  end
1005
1379
 
1380
+ # source://packwerk//lib/packwerk/package.rb#12
1006
1381
  Packwerk::Package::ROOT_PACKAGE_NAME = T.let(T.unsafe(nil), String)
1007
1382
 
1008
1383
  # A set of {Packwerk::Package}s as well as methods to parse packages from the filesystem.
1384
+ #
1385
+ # source://packwerk//lib/packwerk/package_set.rb#11
1009
1386
  class Packwerk::PackageSet
1010
1387
  extend T::Generic
1011
1388
  include ::Enumerable
1012
1389
 
1390
+ Elem = type_member { { fixed: Packwerk::Package } }
1391
+
1392
+ # source://packwerk//lib/packwerk/package_set.rb#79
1013
1393
  sig { params(packages: T::Array[::Packwerk::Package]).void }
1014
1394
  def initialize(packages); end
1015
1395
 
1396
+ # source://packwerk//lib/packwerk/package_set.rb#88
1016
1397
  sig { override.params(blk: T.proc.params(arg0: ::Packwerk::Package).returns(T.untyped)).returns(T.untyped) }
1017
1398
  def each(&blk); end
1018
1399
 
1400
+ # source://packwerk//lib/packwerk/package_set.rb#93
1019
1401
  sig { params(name: ::String).returns(T.nilable(::Packwerk::Package)) }
1020
1402
  def fetch(name); end
1021
1403
 
1404
+ # source://packwerk//lib/packwerk/package_set.rb#98
1022
1405
  sig { params(file_path: T.any(::Pathname, ::String)).returns(::Packwerk::Package) }
1023
1406
  def package_from_path(file_path); end
1024
1407
 
1408
+ # source://packwerk//lib/packwerk/package_set.rb#76
1025
1409
  sig { returns(T::Hash[::String, ::Packwerk::Package]) }
1026
1410
  def packages; end
1027
1411
 
1028
1412
  class << self
1413
+ # source://packwerk//lib/packwerk/package_set.rb#24
1029
1414
  sig do
1030
1415
  params(
1031
1416
  root_path: ::String,
@@ -1034,6 +1419,7 @@ class Packwerk::PackageSet
1034
1419
  end
1035
1420
  def load_all_from(root_path, package_pathspec: T.unsafe(nil)); end
1036
1421
 
1422
+ # source://packwerk//lib/packwerk/package_set.rb#44
1037
1423
  sig do
1038
1424
  params(
1039
1425
  root_path: ::String,
@@ -1045,41 +1431,92 @@ class Packwerk::PackageSet
1045
1431
 
1046
1432
  private
1047
1433
 
1434
+ # source://packwerk//lib/packwerk/package_set.rb#61
1048
1435
  sig { params(packages: T::Array[::Packwerk::Package]).void }
1049
1436
  def create_root_package_if_none_in(packages); end
1050
1437
 
1438
+ # source://packwerk//lib/packwerk/package_set.rb#68
1051
1439
  sig { params(globs: T::Array[::String], path: ::Pathname).returns(T::Boolean) }
1052
1440
  def exclude_path?(globs, path); end
1053
1441
  end
1054
1442
  end
1055
1443
 
1444
+ # source://packwerk//lib/packwerk/package_set.rb#18
1056
1445
  Packwerk::PackageSet::PACKAGE_CONFIG_FILENAME = T.let(T.unsafe(nil), String)
1057
1446
 
1447
+ # source://packwerk//lib/packwerk/package_todo.rb#7
1448
+ class Packwerk::PackageTodo
1449
+ # source://packwerk//lib/packwerk/package_todo.rb#15
1450
+ sig { params(package: ::Packwerk::Package, filepath: ::String).void }
1451
+ def initialize(package, filepath); end
1452
+
1453
+ # source://packwerk//lib/packwerk/package_todo.rb#39
1454
+ sig { params(reference: ::Packwerk::Reference, violation_type: ::String).returns(T::Boolean) }
1455
+ def add_entries(reference, violation_type); end
1456
+
1457
+ # source://packwerk//lib/packwerk/package_todo.rb#114
1458
+ sig { void }
1459
+ def delete_if_exists; end
1460
+
1461
+ # source://packwerk//lib/packwerk/package_todo.rb#93
1462
+ sig { void }
1463
+ def dump; end
1464
+
1465
+ # source://packwerk//lib/packwerk/package_todo.rb#26
1466
+ sig { params(reference: ::Packwerk::Reference, violation_type: ::String).returns(T::Boolean) }
1467
+ def listed?(reference, violation_type:); end
1468
+
1469
+ # source://packwerk//lib/packwerk/package_todo.rb#54
1470
+ sig { params(for_files: T::Set[::String]).returns(T::Boolean) }
1471
+ def stale_violations?(for_files); end
1472
+
1473
+ private
1474
+
1475
+ # source://packwerk//lib/packwerk/package_todo.rb#143
1476
+ sig { params(filepath: ::String).returns(T::Hash[::String, T.untyped]) }
1477
+ def load_yaml(filepath); end
1478
+
1479
+ # source://packwerk//lib/packwerk/package_todo.rb#121
1480
+ sig { returns(T::Hash[::String, T.untyped]) }
1481
+ def prepare_entries_for_dump; end
1482
+
1483
+ # source://packwerk//lib/packwerk/package_todo.rb#134
1484
+ sig { returns(T::Hash[::String, T.untyped]) }
1485
+ def todo_list; end
1486
+ end
1487
+
1488
+ # source://packwerk//lib/packwerk/package_todo.rb#10
1489
+ Packwerk::PackageTodo::EntriesType = T.type_alias { T::Hash[::String, T.untyped] }
1490
+
1491
+ # source://packwerk//lib/packwerk/parse_run.rb#7
1058
1492
  class Packwerk::ParseRun
1493
+ # source://packwerk//lib/packwerk/parse_run.rb#23
1059
1494
  sig do
1060
1495
  params(
1061
1496
  relative_file_set: T::Set[::String],
1062
1497
  configuration: ::Packwerk::Configuration,
1063
- progress_formatter: ::Packwerk::Formatters::ProgressFormatter,
1064
- offenses_formatter: ::Packwerk::OffensesFormatter
1498
+ file_set_specified: T::Boolean,
1499
+ offenses_formatter: T.nilable(::Packwerk::OffensesFormatter),
1500
+ progress_formatter: ::Packwerk::Formatters::ProgressFormatter
1065
1501
  ).void
1066
1502
  end
1067
- def initialize(relative_file_set:, configuration:, progress_formatter: T.unsafe(nil), offenses_formatter: T.unsafe(nil)); end
1503
+ def initialize(relative_file_set:, configuration:, file_set_specified: T.unsafe(nil), offenses_formatter: T.unsafe(nil), progress_formatter: T.unsafe(nil)); end
1068
1504
 
1505
+ # source://packwerk//lib/packwerk/parse_run.rb#61
1069
1506
  sig { returns(::Packwerk::Result) }
1070
1507
  def check; end
1071
1508
 
1509
+ # source://packwerk//lib/packwerk/parse_run.rb#39
1072
1510
  sig { returns(::Packwerk::Result) }
1073
- def detect_stale_violations; end
1074
-
1075
- sig { returns(::Packwerk::Result) }
1076
- def update_deprecations; end
1511
+ def update_todo; end
1077
1512
 
1078
1513
  private
1079
1514
 
1080
- sig { params(show_errors: T::Boolean).returns(::Packwerk::OffenseCollection) }
1081
- def find_offenses(show_errors: T.unsafe(nil)); end
1515
+ # source://packwerk//lib/packwerk/parse_run.rb#80
1516
+ sig { params(run_context: ::Packwerk::RunContext, show_errors: T::Boolean).returns(::Packwerk::OffenseCollection) }
1517
+ def find_offenses(run_context, show_errors: T.unsafe(nil)); end
1082
1518
 
1519
+ # source://packwerk//lib/packwerk/parse_run.rb#103
1083
1520
  sig do
1084
1521
  params(
1085
1522
  block: T.proc.params(path: ::String).returns(T::Array[::Packwerk::Offense])
@@ -1087,106 +1524,159 @@ class Packwerk::ParseRun
1087
1524
  end
1088
1525
  def serial_find_offenses(&block); end
1089
1526
 
1527
+ # source://packwerk//lib/packwerk/parse_run.rb#118
1090
1528
  sig { params(failed: T::Boolean).void }
1091
1529
  def update_progress(failed: T.unsafe(nil)); end
1092
1530
  end
1093
1531
 
1532
+ # source://packwerk//lib/packwerk/parse_run.rb#10
1094
1533
  Packwerk::ParseRun::ProcessFileProc = T.type_alias { T.proc.params(path: ::String).returns(T::Array[::Packwerk::Offense]) }
1095
1534
 
1096
1535
  # A collection of constant definitions parsed from an Abstract Syntax Tree (AST).
1536
+ #
1537
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#8
1097
1538
  class Packwerk::ParsedConstantDefinitions
1098
1539
  # @return [ParsedConstantDefinitions] a new instance of ParsedConstantDefinitions
1540
+ #
1541
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#24
1099
1542
  def initialize(root_node:); end
1100
1543
 
1101
1544
  # @return [Boolean]
1545
+ #
1546
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#30
1102
1547
  def local_reference?(constant_name, location: T.unsafe(nil), namespace_path: T.unsafe(nil)); end
1103
1548
 
1104
1549
  private
1105
1550
 
1551
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#58
1106
1552
  def add_definition(constant_name, current_namespace_path, location); end
1553
+
1554
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#41
1107
1555
  def collect_local_definitions_from_root(node, current_namespace_path = T.unsafe(nil)); end
1108
1556
 
1109
1557
  class << self
1110
1558
  # What fully qualified constants can this constant refer to in this context?
1559
+ #
1560
+ # source://packwerk//lib/packwerk/parsed_constant_definitions.rb#11
1111
1561
  def reference_qualifications(constant_name, namespace_path:); end
1112
1562
  end
1113
1563
  end
1114
1564
 
1565
+ # source://packwerk//lib/packwerk/parsers.rb#5
1115
1566
  module Packwerk::Parsers; end
1116
1567
 
1568
+ # source://packwerk//lib/packwerk/parsers/erb.rb#11
1117
1569
  class Packwerk::Parsers::Erb
1118
1570
  include ::Packwerk::Parsers::ParserInterface
1119
1571
 
1120
1572
  # @return [Erb] a new instance of Erb
1573
+ #
1574
+ # source://packwerk//lib/packwerk/parsers/erb.rb#14
1121
1575
  def initialize(parser_class: T.unsafe(nil), ruby_parser: T.unsafe(nil)); end
1122
1576
 
1577
+ # source://packwerk//lib/packwerk/parsers/erb.rb#19
1123
1578
  def call(io:, file_path: T.unsafe(nil)); end
1579
+
1580
+ # source://packwerk//lib/packwerk/parsers/erb.rb#25
1124
1581
  def parse_buffer(buffer, file_path:); end
1125
1582
 
1126
1583
  private
1127
1584
 
1128
1585
  # @yield [node]
1586
+ #
1587
+ # source://packwerk//lib/packwerk/parsers/erb.rb#52
1129
1588
  def code_nodes(node, &block); end
1130
1589
 
1590
+ # source://packwerk//lib/packwerk/parsers/erb.rb#38
1131
1591
  def to_ruby_ast(erb_ast, file_path); end
1132
1592
  end
1133
1593
 
1594
+ # source://packwerk//lib/packwerk/parsers/factory.rb#8
1134
1595
  class Packwerk::Parsers::Factory
1135
1596
  include ::Singleton
1136
1597
  extend ::Singleton::SingletonClassMethods
1137
1598
 
1599
+ # source://packwerk//lib/packwerk/parsers/factory.rb#33
1138
1600
  def erb_parser_class; end
1601
+
1602
+ # source://packwerk//lib/packwerk/parsers/factory.rb#37
1139
1603
  def erb_parser_class=(klass); end
1140
1604
 
1605
+ # source://packwerk//lib/packwerk/parsers/factory.rb#24
1141
1606
  sig { params(path: ::String).returns(T.nilable(::Packwerk::Parsers::ParserInterface)) }
1142
1607
  def for_path(path); end
1143
1608
  end
1144
1609
 
1610
+ # source://packwerk//lib/packwerk/parsers/factory.rb#20
1145
1611
  Packwerk::Parsers::Factory::ERB_REGEX = T.let(T.unsafe(nil), Regexp)
1612
+
1613
+ # source://packwerk//lib/packwerk/parsers/factory.rb#12
1146
1614
  Packwerk::Parsers::Factory::RUBY_REGEX = T.let(T.unsafe(nil), Regexp)
1147
1615
 
1616
+ # source://packwerk//lib/packwerk/parsers.rb#13
1148
1617
  class Packwerk::Parsers::ParseError < ::StandardError
1149
1618
  # @return [ParseError] a new instance of ParseError
1619
+ #
1620
+ # source://packwerk//lib/packwerk/parsers.rb#16
1150
1621
  def initialize(result); end
1151
1622
 
1152
1623
  # Returns the value of attribute result.
1624
+ #
1625
+ # source://packwerk//lib/packwerk/parsers.rb#14
1153
1626
  def result; end
1154
1627
  end
1155
1628
 
1629
+ # source://packwerk//lib/packwerk/parsers.rb#11
1156
1630
  class Packwerk::Parsers::ParseResult < ::Packwerk::Offense; end
1157
1631
 
1158
1632
  # @abstract Subclasses must implement the `abstract` methods below.
1633
+ #
1634
+ # source://packwerk//lib/packwerk/parsers/parser_interface.rb#6
1159
1635
  module Packwerk::Parsers::ParserInterface
1160
1636
  requires_ancestor { Kernel }
1161
1637
 
1162
1638
  interface!
1163
1639
 
1164
1640
  # @abstract
1641
+ #
1642
+ # source://packwerk//lib/packwerk/parsers/parser_interface.rb#15
1165
1643
  sig { abstract.params(io: ::File, file_path: ::String).returns(T.untyped) }
1166
1644
  def call(io:, file_path:); end
1167
1645
  end
1168
1646
 
1647
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#9
1169
1648
  class Packwerk::Parsers::Ruby
1170
1649
  include ::Packwerk::Parsers::ParserInterface
1171
1650
 
1172
1651
  # @return [Ruby] a new instance of Ruby
1652
+ #
1653
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#25
1173
1654
  def initialize(parser_class: T.unsafe(nil)); end
1174
1655
 
1656
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#30
1175
1657
  def call(io:, file_path: T.unsafe(nil)); end
1176
1658
  end
1177
1659
 
1660
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#12
1178
1661
  class Packwerk::Parsers::Ruby::RaiseExceptionsParser < ::Parser::Ruby27
1179
1662
  # @return [RaiseExceptionsParser] a new instance of RaiseExceptionsParser
1663
+ #
1664
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#13
1180
1665
  def initialize(builder); end
1181
1666
  end
1182
1667
 
1668
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#19
1183
1669
  class Packwerk::Parsers::Ruby::TolerateInvalidUtf8Builder < ::Parser::Builders::Default
1670
+ # source://packwerk//lib/packwerk/parsers/ruby.rb#20
1184
1671
  def string_value(token); end
1185
1672
  end
1186
1673
 
1674
+ # source://packwerk//lib/packwerk/package_set.rb#8
1187
1675
  Packwerk::PathSpec = T.type_alias { T.any(::String, T::Array[::String]) }
1188
1676
 
1189
1677
  # A reference from a file in one package to a constant that may be defined in a different package.
1678
+ #
1679
+ # source://packwerk//lib/packwerk/reference.rb#6
1190
1680
  class Packwerk::Reference < ::Struct
1191
1681
  # Returns the value of attribute constant
1192
1682
  #
@@ -1197,8 +1687,23 @@ class Packwerk::Reference < ::Struct
1197
1687
  #
1198
1688
  # @param value [Object] the value to set the attribute constant to.
1199
1689
  # @return [Object] the newly set value
1690
+ #
1691
+ # source://packwerk//lib/packwerk/reference.rb#6
1200
1692
  def constant=(_); end
1201
1693
 
1694
+ # Returns the value of attribute package
1695
+ #
1696
+ # @return [Object] the current value of package
1697
+ def package; end
1698
+
1699
+ # Sets the attribute package
1700
+ #
1701
+ # @param value [Object] the value to set the attribute package to.
1702
+ # @return [Object] the newly set value
1703
+ #
1704
+ # source://packwerk//lib/packwerk/reference.rb#6
1705
+ def package=(_); end
1706
+
1202
1707
  # Returns the value of attribute relative_path
1203
1708
  #
1204
1709
  # @return [Object] the current value of relative_path
@@ -1208,6 +1713,8 @@ class Packwerk::Reference < ::Struct
1208
1713
  #
1209
1714
  # @param value [Object] the value to set the attribute relative_path to.
1210
1715
  # @return [Object] the newly set value
1716
+ #
1717
+ # source://packwerk//lib/packwerk/reference.rb#6
1211
1718
  def relative_path=(_); end
1212
1719
 
1213
1720
  # Returns the value of attribute source_location
@@ -1219,18 +1726,9 @@ class Packwerk::Reference < ::Struct
1219
1726
  #
1220
1727
  # @param value [Object] the value to set the attribute source_location to.
1221
1728
  # @return [Object] the newly set value
1222
- def source_location=(_); end
1223
-
1224
- # Returns the value of attribute source_package
1225
1729
  #
1226
- # @return [Object] the current value of source_package
1227
- def source_package; end
1228
-
1229
- # Sets the attribute source_package
1230
- #
1231
- # @param value [Object] the value to set the attribute source_package to.
1232
- # @return [Object] the newly set value
1233
- def source_package=(_); end
1730
+ # source://packwerk//lib/packwerk/reference.rb#6
1731
+ def source_location=(_); end
1234
1732
 
1235
1733
  class << self
1236
1734
  def [](*_arg0); end
@@ -1240,85 +1738,64 @@ class Packwerk::Reference < ::Struct
1240
1738
  end
1241
1739
  end
1242
1740
 
1741
+ # source://packwerk//lib/packwerk.rb#79
1243
1742
  module Packwerk::ReferenceChecking
1244
1743
  extend ::ActiveSupport::Autoload
1245
1744
  end
1246
1745
 
1746
+ # source://packwerk//lib/packwerk.rb#84
1247
1747
  module Packwerk::ReferenceChecking::Checkers
1248
1748
  extend ::ActiveSupport::Autoload
1249
1749
  end
1250
1750
 
1251
- # @abstract Subclasses must implement the `abstract` methods below.
1252
- module Packwerk::ReferenceChecking::Checkers::Checker
1253
- abstract!
1254
-
1255
- # @abstract
1256
- sig { abstract.params(reference: ::Packwerk::Reference).returns(T::Boolean) }
1257
- def invalid_reference?(reference); end
1258
-
1259
- # @abstract
1260
- sig { abstract.params(reference: ::Packwerk::Reference).returns(::String) }
1261
- def message(reference); end
1262
-
1263
- sig { params(reference: ::Packwerk::Reference).returns(::String) }
1264
- def standard_help_message(reference); end
1265
-
1266
- # @abstract
1267
- sig { abstract.returns(::Packwerk::ViolationType) }
1268
- def violation_type; end
1269
- end
1270
-
1271
1751
  # Checks whether a given reference conforms to the configured graph of dependencies.
1752
+ #
1753
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#8
1272
1754
  class Packwerk::ReferenceChecking::Checkers::DependencyChecker
1273
- include ::Packwerk::ReferenceChecking::Checkers::Checker
1755
+ include ::Packwerk::Checker
1274
1756
 
1757
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#24
1275
1758
  sig { override.params(reference: ::Packwerk::Reference).returns(T::Boolean) }
1276
1759
  def invalid_reference?(reference); end
1277
1760
 
1761
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#36
1278
1762
  sig { override.params(reference: ::Packwerk::Reference).returns(::String) }
1279
1763
  def message(reference); end
1280
1764
 
1281
- sig { override.returns(::Packwerk::ViolationType) }
1282
- def violation_type; end
1283
- end
1284
-
1285
- # Checks whether a given reference references a private constant of another package.
1286
- class Packwerk::ReferenceChecking::Checkers::PrivacyChecker
1287
- include ::Packwerk::ReferenceChecking::Checkers::Checker
1288
-
1289
- sig { override.params(reference: ::Packwerk::Reference).returns(T::Boolean) }
1290
- def invalid_reference?(reference); end
1291
-
1292
- sig { override.params(reference: ::Packwerk::Reference).returns(::String) }
1293
- def message(reference); end
1765
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#51
1766
+ sig { override.params(listed_offense: ::Packwerk::ReferenceOffense).returns(T::Boolean) }
1767
+ def strict_mode_violation?(listed_offense); end
1294
1768
 
1295
- sig { override.returns(::Packwerk::ViolationType) }
1769
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#15
1770
+ sig { override.returns(::String) }
1296
1771
  def violation_type; end
1297
1772
 
1298
1773
  private
1299
1774
 
1300
- sig { params(privacy_option: T.nilable(T.any(T::Array[::String], T::Boolean))).returns(T::Boolean) }
1301
- def enforcement_disabled?(privacy_option); end
1302
-
1303
- sig do
1304
- params(
1305
- constant: ::Packwerk::ConstantDiscovery::ConstantContext,
1306
- explicitly_private_constants: T::Array[::String]
1307
- ).returns(T::Boolean)
1308
- end
1309
- def explicitly_private_constant?(constant, explicitly_private_constants:); end
1775
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#59
1776
+ sig { params(reference: ::Packwerk::Reference).returns(::String) }
1777
+ def standard_help_message(reference); end
1310
1778
  end
1311
1779
 
1780
+ # source://packwerk//lib/packwerk/reference_checking/checkers/dependency_checker.rb#12
1781
+ Packwerk::ReferenceChecking::Checkers::DependencyChecker::VIOLATION_TYPE = T.let(T.unsafe(nil), String)
1782
+
1783
+ # source://packwerk//lib/packwerk/reference_checking/reference_checker.rb#6
1312
1784
  class Packwerk::ReferenceChecking::ReferenceChecker
1313
- sig { params(checkers: T::Array[::Packwerk::ReferenceChecking::Checkers::Checker]).void }
1785
+ # source://packwerk//lib/packwerk/reference_checking/reference_checker.rb#10
1786
+ sig { params(checkers: T::Array[::Packwerk::Checker]).void }
1314
1787
  def initialize(checkers); end
1315
1788
 
1789
+ # source://packwerk//lib/packwerk/reference_checking/reference_checker.rb#19
1316
1790
  sig { params(reference: ::Packwerk::Reference).returns(T::Array[::Packwerk::Offense]) }
1317
1791
  def call(reference); end
1318
1792
  end
1319
1793
 
1320
1794
  # Extracts a possible constant reference from a given AST node.
1795
+ #
1796
+ # source://packwerk//lib/packwerk/reference_extractor.rb#6
1321
1797
  class Packwerk::ReferenceExtractor
1798
+ # source://packwerk//lib/packwerk/reference_extractor.rb#59
1322
1799
  sig do
1323
1800
  params(
1324
1801
  constant_name_inspectors: T::Array[::Packwerk::ConstantNameInspector],
@@ -1328,6 +1805,7 @@ class Packwerk::ReferenceExtractor
1328
1805
  end
1329
1806
  def initialize(constant_name_inspectors:, root_node:, root_path:); end
1330
1807
 
1808
+ # source://packwerk//lib/packwerk/reference_extractor.rb#76
1331
1809
  sig do
1332
1810
  params(
1333
1811
  node: ::Parser::AST::Node,
@@ -1340,8 +1818,11 @@ class Packwerk::ReferenceExtractor
1340
1818
  private
1341
1819
 
1342
1820
  # @return [Boolean]
1821
+ #
1822
+ # source://packwerk//lib/packwerk/reference_extractor.rb#120
1343
1823
  def local_reference?(constant_name, name_location, namespace_path); end
1344
1824
 
1825
+ # source://packwerk//lib/packwerk/reference_extractor.rb#105
1345
1826
  sig do
1346
1827
  params(
1347
1828
  constant_name: ::String,
@@ -1353,6 +1834,7 @@ class Packwerk::ReferenceExtractor
1353
1834
  def reference_from_constant(constant_name, node:, ancestors:, relative_file:); end
1354
1835
 
1355
1836
  class << self
1837
+ # source://packwerk//lib/packwerk/reference_extractor.rb#18
1356
1838
  sig do
1357
1839
  params(
1358
1840
  unresolved_references: T::Array[::Packwerk::UnresolvedReference],
@@ -1364,35 +1846,45 @@ class Packwerk::ReferenceExtractor
1364
1846
  end
1365
1847
 
1366
1848
  # An offense related to a {Packwerk::Reference}.
1849
+ #
1850
+ # source://packwerk//lib/packwerk/reference_offense.rb#6
1367
1851
  class Packwerk::ReferenceOffense < ::Packwerk::Offense
1852
+ # source://packwerk//lib/packwerk/reference_offense.rb#25
1368
1853
  sig do
1369
1854
  params(
1370
1855
  reference: ::Packwerk::Reference,
1371
- violation_type: ::Packwerk::ViolationType,
1856
+ violation_type: ::String,
1372
1857
  message: ::String,
1373
1858
  location: T.nilable(::Packwerk::Node::Location)
1374
1859
  ).void
1375
1860
  end
1376
1861
  def initialize(reference:, violation_type:, message:, location: T.unsafe(nil)); end
1377
1862
 
1863
+ # source://packwerk//lib/packwerk/reference_offense.rb#11
1378
1864
  sig { returns(::Packwerk::Reference) }
1379
1865
  def reference; end
1380
1866
 
1381
- sig { returns(::Packwerk::ViolationType) }
1867
+ # source://packwerk//lib/packwerk/reference_offense.rb#14
1868
+ sig { returns(::String) }
1382
1869
  def violation_type; end
1383
1870
  end
1384
1871
 
1872
+ # source://packwerk//lib/packwerk/result.rb#5
1385
1873
  class Packwerk::Result < ::T::Struct
1386
1874
  const :message, ::String
1387
1875
  const :status, T::Boolean
1388
1876
 
1389
1877
  class << self
1878
+ # source://sorbet-runtime/0.5.10588/lib/types/struct.rb#13
1390
1879
  def inherited(s); end
1391
1880
  end
1392
1881
  end
1393
1882
 
1394
1883
  # Holds the context of a Packwerk run across multiple files.
1884
+ #
1885
+ # source://packwerk//lib/packwerk/run_context.rb#8
1395
1886
  class Packwerk::RunContext
1887
+ # source://packwerk//lib/packwerk/run_context.rb#46
1396
1888
  sig do
1397
1889
  params(
1398
1890
  root_path: ::String,
@@ -1402,47 +1894,55 @@ class Packwerk::RunContext
1402
1894
  config_path: T.nilable(::String),
1403
1895
  package_paths: T.nilable(T.any(::String, T::Array[::String])),
1404
1896
  custom_associations: T.any(T::Array[::Symbol], T::Set[::Symbol]),
1405
- checkers: T::Array[::Packwerk::ReferenceChecking::Checkers::Checker],
1897
+ checkers: T::Array[::Packwerk::Checker],
1406
1898
  cache_enabled: T::Boolean
1407
1899
  ).void
1408
1900
  end
1409
1901
  def initialize(root_path:, load_paths:, inflector:, cache_directory:, config_path: T.unsafe(nil), package_paths: T.unsafe(nil), custom_associations: T.unsafe(nil), checkers: T.unsafe(nil), cache_enabled: T.unsafe(nil)); end
1410
1902
 
1903
+ # source://packwerk//lib/packwerk/run_context.rb#90
1904
+ sig { returns(Packwerk::PackageSet) }
1905
+ def package_set; end
1906
+
1907
+ # source://packwerk//lib/packwerk/run_context.rb#77
1411
1908
  sig { params(relative_file: ::String).returns(T::Array[::Packwerk::Offense]) }
1412
1909
  def process_file(relative_file:); end
1413
1910
 
1414
1911
  private
1415
1912
 
1913
+ # source://packwerk//lib/packwerk/run_context.rb#128
1416
1914
  sig { returns(T::Array[::Packwerk::ConstantNameInspector]) }
1417
1915
  def constant_name_inspectors; end
1418
1916
 
1917
+ # source://packwerk//lib/packwerk/run_context.rb#111
1419
1918
  sig { returns(::Packwerk::ConstantDiscovery) }
1420
1919
  def context_provider; end
1421
1920
 
1921
+ # source://packwerk//lib/packwerk/run_context.rb#97
1422
1922
  sig { returns(::Packwerk::FileProcessor) }
1423
1923
  def file_processor; end
1424
1924
 
1925
+ # source://packwerk//lib/packwerk/run_context.rb#102
1425
1926
  sig { returns(::Packwerk::NodeProcessorFactory) }
1426
1927
  def node_processor_factory; end
1427
1928
 
1428
- sig { returns(Packwerk::PackageSet) }
1429
- def package_set; end
1430
-
1929
+ # source://packwerk//lib/packwerk/run_context.rb#119
1431
1930
  sig { returns(::ConstantResolver) }
1432
1931
  def resolver; end
1433
1932
 
1434
1933
  class << self
1934
+ # source://packwerk//lib/packwerk/run_context.rb#17
1435
1935
  sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::RunContext) }
1436
1936
  def from_configuration(configuration); end
1437
1937
  end
1438
1938
  end
1439
1939
 
1440
- Packwerk::RunContext::DEFAULT_CHECKERS = T.let(T.unsafe(nil), Array)
1441
-
1442
1940
  # An unresolved reference from a file in one package to a constant that may be defined in a different package.
1443
1941
  # Unresolved means that we know how it's referred to in the file,
1444
1942
  # and we have enough context on that reference to figure out the fully qualified reference such that we
1445
1943
  # can produce a Reference in a separate pass. However, we have not yet resolved it to its fully qualified version.
1944
+ #
1945
+ # source://packwerk//lib/packwerk/unresolved_reference.rb#9
1446
1946
  class Packwerk::UnresolvedReference < ::Struct
1447
1947
  # Returns the value of attribute constant_name
1448
1948
  #
@@ -1453,6 +1953,8 @@ class Packwerk::UnresolvedReference < ::Struct
1453
1953
  #
1454
1954
  # @param value [Object] the value to set the attribute constant_name to.
1455
1955
  # @return [Object] the newly set value
1956
+ #
1957
+ # source://packwerk//lib/packwerk/unresolved_reference.rb#9
1456
1958
  def constant_name=(_); end
1457
1959
 
1458
1960
  # Returns the value of attribute namespace_path
@@ -1464,6 +1966,8 @@ class Packwerk::UnresolvedReference < ::Struct
1464
1966
  #
1465
1967
  # @param value [Object] the value to set the attribute namespace_path to.
1466
1968
  # @return [Object] the newly set value
1969
+ #
1970
+ # source://packwerk//lib/packwerk/unresolved_reference.rb#9
1467
1971
  def namespace_path=(_); end
1468
1972
 
1469
1973
  # Returns the value of attribute relative_path
@@ -1475,6 +1979,8 @@ class Packwerk::UnresolvedReference < ::Struct
1475
1979
  #
1476
1980
  # @param value [Object] the value to set the attribute relative_path to.
1477
1981
  # @return [Object] the newly set value
1982
+ #
1983
+ # source://packwerk//lib/packwerk/unresolved_reference.rb#9
1478
1984
  def relative_path=(_); end
1479
1985
 
1480
1986
  # Returns the value of attribute source_location
@@ -1486,6 +1992,8 @@ class Packwerk::UnresolvedReference < ::Struct
1486
1992
  #
1487
1993
  # @param value [Object] the value to set the attribute source_location to.
1488
1994
  # @return [Object] the newly set value
1995
+ #
1996
+ # source://packwerk//lib/packwerk/unresolved_reference.rb#9
1489
1997
  def source_location=(_); end
1490
1998
 
1491
1999
  class << self
@@ -1496,11 +2004,124 @@ class Packwerk::UnresolvedReference < ::Struct
1496
2004
  end
1497
2005
  end
1498
2006
 
2007
+ # source://packwerk//lib/packwerk/version.rb#5
1499
2008
  Packwerk::VERSION = T.let(T.unsafe(nil), String)
1500
2009
 
1501
- class Packwerk::ViolationType < ::T::Enum
1502
- enums do
1503
- Privacy = new
1504
- Dependency = new
2010
+ # @abstract Subclasses must implement the `abstract` methods below.
2011
+ #
2012
+ # source://packwerk//lib/packwerk/validator.rb#9
2013
+ module Packwerk::Validator
2014
+ abstract!
2015
+
2016
+ # @abstract
2017
+ #
2018
+ # source://packwerk//lib/packwerk/validator.rb#36
2019
+ sig do
2020
+ abstract
2021
+ .params(
2022
+ package_set: Packwerk::PackageSet,
2023
+ configuration: ::Packwerk::Configuration
2024
+ ).returns(::Packwerk::ApplicationValidator::Result)
2025
+ end
2026
+ def call(package_set, configuration); end
2027
+
2028
+ # source://packwerk//lib/packwerk/validator.rb#67
2029
+ sig do
2030
+ params(
2031
+ results: T::Array[::Packwerk::ApplicationValidator::Result],
2032
+ separator: ::String,
2033
+ before_errors: ::String,
2034
+ after_errors: ::String
2035
+ ).returns(::Packwerk::ApplicationValidator::Result)
2036
+ end
2037
+ def merge_results(results, separator: T.unsafe(nil), before_errors: T.unsafe(nil), after_errors: T.unsafe(nil)); end
2038
+
2039
+ # source://packwerk//lib/packwerk/validator.rb#55
2040
+ sig { params(configuration: ::Packwerk::Configuration).returns(T.any(::String, T::Array[::String])) }
2041
+ def package_glob(configuration); end
2042
+
2043
+ # source://packwerk//lib/packwerk/validator.rb#48
2044
+ sig do
2045
+ params(
2046
+ configuration: ::Packwerk::Configuration,
2047
+ glob_pattern: T.nilable(T.any(::String, T::Array[::String]))
2048
+ ).returns(T::Array[::String])
1505
2049
  end
2050
+ def package_manifests(configuration, glob_pattern = T.unsafe(nil)); end
2051
+
2052
+ # source://packwerk//lib/packwerk/validator.rb#40
2053
+ sig { params(configuration: ::Packwerk::Configuration, setting: T.untyped).returns(T.untyped) }
2054
+ def package_manifests_settings_for(configuration, setting); end
2055
+
2056
+ # @abstract
2057
+ #
2058
+ # source://packwerk//lib/packwerk/validator.rb#32
2059
+ sig { abstract.returns(T::Array[::String]) }
2060
+ def permitted_keys; end
2061
+
2062
+ # source://packwerk//lib/packwerk/validator.rb#86
2063
+ sig { params(configuration: ::Packwerk::Configuration, path: ::String).returns(::Pathname) }
2064
+ def relative_path(configuration, path); end
2065
+
2066
+ class << self
2067
+ # source://packwerk//lib/packwerk/validator.rb#26
2068
+ sig { returns(T::Array[::Packwerk::Validator]) }
2069
+ def all; end
2070
+
2071
+ # source://packwerk//lib/packwerk/validator.rb#19
2072
+ sig { params(base: ::Class).void }
2073
+ def included(base); end
2074
+ end
2075
+ end
2076
+
2077
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#5
2078
+ module Packwerk::Validators; end
2079
+
2080
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#6
2081
+ class Packwerk::Validators::DependencyValidator
2082
+ include ::Packwerk::Validator
2083
+
2084
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#13
2085
+ sig do
2086
+ override
2087
+ .params(
2088
+ package_set: Packwerk::PackageSet,
2089
+ configuration: ::Packwerk::Configuration
2090
+ ).returns(::Packwerk::ApplicationValidator::Result)
2091
+ end
2092
+ def call(package_set, configuration); end
2093
+
2094
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#24
2095
+ sig { override.returns(T::Array[::String]) }
2096
+ def permitted_keys; end
2097
+
2098
+ private
2099
+
2100
+ # Convert the cycles:
2101
+ #
2102
+ # [[a, b, c], [b, c]]
2103
+ #
2104
+ # to the string:
2105
+ #
2106
+ # ["a -> b -> c -> a", "b -> c -> b"]
2107
+ #
2108
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#144
2109
+ sig { params(cycles: T.untyped).returns(T::Array[::String]) }
2110
+ def build_cycle_strings(cycles); end
2111
+
2112
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#66
2113
+ sig { params(package_set: Packwerk::PackageSet).returns(::Packwerk::ApplicationValidator::Result) }
2114
+ def check_acyclic_graph(package_set); end
2115
+
2116
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#34
2117
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
2118
+ def check_package_manifest_syntax(configuration); end
2119
+
2120
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#92
2121
+ sig { params(configuration: ::Packwerk::Configuration).returns(::Packwerk::ApplicationValidator::Result) }
2122
+ def check_valid_package_dependencies(configuration); end
2123
+
2124
+ # source://packwerk//lib/packwerk/validators/dependency_validator.rb#128
2125
+ sig { params(configuration: ::Packwerk::Configuration, path: T.untyped).returns(T::Boolean) }
2126
+ def invalid_package_path?(configuration, path); end
1506
2127
  end