packwerk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  3. data/.github/probots.yml +2 -0
  4. data/.github/pull_request_template.md +27 -0
  5. data/.github/workflows/ci.yml +50 -0
  6. data/.gitignore +12 -0
  7. data/.rubocop.yml +46 -0
  8. data/.ruby-version +1 -0
  9. data/CODEOWNERS +1 -0
  10. data/CODE_OF_CONDUCT.md +76 -0
  11. data/CONTRIBUTING.md +17 -0
  12. data/Gemfile +22 -0
  13. data/Gemfile.lock +236 -0
  14. data/LICENSE.md +7 -0
  15. data/README.md +73 -0
  16. data/Rakefile +13 -0
  17. data/TROUBLESHOOT.md +67 -0
  18. data/USAGE.md +250 -0
  19. data/bin/console +15 -0
  20. data/bin/setup +8 -0
  21. data/dev.yml +32 -0
  22. data/docs/cohesion.png +0 -0
  23. data/exe/packwerk +6 -0
  24. data/lib/packwerk.rb +44 -0
  25. data/lib/packwerk/application_validator.rb +343 -0
  26. data/lib/packwerk/association_inspector.rb +44 -0
  27. data/lib/packwerk/checking_deprecated_references.rb +40 -0
  28. data/lib/packwerk/cli.rb +238 -0
  29. data/lib/packwerk/configuration.rb +82 -0
  30. data/lib/packwerk/const_node_inspector.rb +44 -0
  31. data/lib/packwerk/constant_discovery.rb +60 -0
  32. data/lib/packwerk/constant_name_inspector.rb +22 -0
  33. data/lib/packwerk/dependency_checker.rb +28 -0
  34. data/lib/packwerk/deprecated_references.rb +92 -0
  35. data/lib/packwerk/file_processor.rb +43 -0
  36. data/lib/packwerk/files_for_processing.rb +67 -0
  37. data/lib/packwerk/formatters/progress_formatter.rb +46 -0
  38. data/lib/packwerk/generators/application_validation.rb +62 -0
  39. data/lib/packwerk/generators/configuration_file.rb +69 -0
  40. data/lib/packwerk/generators/inflections_file.rb +43 -0
  41. data/lib/packwerk/generators/root_package.rb +37 -0
  42. data/lib/packwerk/generators/templates/inflections.yml +6 -0
  43. data/lib/packwerk/generators/templates/package.yml +17 -0
  44. data/lib/packwerk/generators/templates/packwerk +23 -0
  45. data/lib/packwerk/generators/templates/packwerk.yml.erb +23 -0
  46. data/lib/packwerk/generators/templates/packwerk_validator_test.rb +11 -0
  47. data/lib/packwerk/graph.rb +74 -0
  48. data/lib/packwerk/inflections/custom.rb +33 -0
  49. data/lib/packwerk/inflections/default.rb +73 -0
  50. data/lib/packwerk/inflector.rb +41 -0
  51. data/lib/packwerk/node.rb +259 -0
  52. data/lib/packwerk/node_processor.rb +49 -0
  53. data/lib/packwerk/node_visitor.rb +22 -0
  54. data/lib/packwerk/offense.rb +44 -0
  55. data/lib/packwerk/output_styles.rb +41 -0
  56. data/lib/packwerk/package.rb +56 -0
  57. data/lib/packwerk/package_set.rb +59 -0
  58. data/lib/packwerk/parsed_constant_definitions.rb +62 -0
  59. data/lib/packwerk/parsers.rb +23 -0
  60. data/lib/packwerk/parsers/erb.rb +66 -0
  61. data/lib/packwerk/parsers/factory.rb +34 -0
  62. data/lib/packwerk/parsers/ruby.rb +42 -0
  63. data/lib/packwerk/privacy_checker.rb +45 -0
  64. data/lib/packwerk/reference.rb +6 -0
  65. data/lib/packwerk/reference_extractor.rb +81 -0
  66. data/lib/packwerk/reference_lister.rb +23 -0
  67. data/lib/packwerk/run_context.rb +103 -0
  68. data/lib/packwerk/sanity_checker.rb +10 -0
  69. data/lib/packwerk/spring_command.rb +28 -0
  70. data/lib/packwerk/updating_deprecated_references.rb +51 -0
  71. data/lib/packwerk/version.rb +6 -0
  72. data/lib/packwerk/violation_type.rb +13 -0
  73. data/library.yml +6 -0
  74. data/packwerk.gemspec +58 -0
  75. data/service.yml +6 -0
  76. data/shipit.rubygems.yml +1 -0
  77. data/sorbet/config +2 -0
  78. data/sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +840 -0
  79. data/sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +571 -0
  80. data/sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +568 -0
  81. data/sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +5216 -0
  82. data/sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +663 -0
  83. data/sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +2504 -0
  84. data/sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +635 -0
  85. data/sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +1201 -0
  86. data/sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8011 -0
  87. data/sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +904 -0
  88. data/sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +3888 -0
  89. data/sorbet/rbi/gems/ast@2.4.1.rbi +54 -0
  90. data/sorbet/rbi/gems/better_html@1.0.15.rbi +317 -0
  91. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  92. data/sorbet/rbi/gems/byebug@11.1.3.rbi +8 -0
  93. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  94. data/sorbet/rbi/gems/colorize@0.8.1.rbi +40 -0
  95. data/sorbet/rbi/gems/commander@4.5.2.rbi +8 -0
  96. data/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +1966 -0
  97. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +26 -0
  98. data/sorbet/rbi/gems/crass@1.0.6.rbi +138 -0
  99. data/sorbet/rbi/gems/erubi@1.9.0.rbi +39 -0
  100. data/sorbet/rbi/gems/globalid@0.4.2.rbi +178 -0
  101. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  102. data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +46 -0
  103. data/sorbet/rbi/gems/i18n@1.8.2.rbi +633 -0
  104. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +8 -0
  105. data/sorbet/rbi/gems/loofah@2.5.0.rbi +272 -0
  106. data/sorbet/rbi/gems/m@1.5.1.rbi +108 -0
  107. data/sorbet/rbi/gems/mail@2.7.1.rbi +2490 -0
  108. data/sorbet/rbi/gems/marcel@0.3.3.rbi +30 -0
  109. data/sorbet/rbi/gems/method_source@1.0.0.rbi +76 -0
  110. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +47 -0
  111. data/sorbet/rbi/gems/mini_mime@1.0.2.rbi +71 -0
  112. data/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +8 -0
  113. data/sorbet/rbi/gems/minitest@5.14.0.rbi +542 -0
  114. data/sorbet/rbi/gems/mocha@1.11.2.rbi +964 -0
  115. data/sorbet/rbi/gems/nio4r@2.5.2.rbi +89 -0
  116. data/sorbet/rbi/gems/nokogiri@1.10.9.rbi +1608 -0
  117. data/sorbet/rbi/gems/parallel@1.19.1.rbi +8 -0
  118. data/sorbet/rbi/gems/parlour@4.0.1.rbi +561 -0
  119. data/sorbet/rbi/gems/parser@2.7.1.4.rbi +1632 -0
  120. data/sorbet/rbi/gems/pry@0.13.1.rbi +8 -0
  121. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +335 -0
  122. data/sorbet/rbi/gems/rack@2.2.2.rbi +1730 -0
  123. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +123 -0
  124. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +213 -0
  125. data/sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8 -0
  126. data/sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +869 -0
  127. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +155 -0
  128. data/sorbet/rbi/gems/rake@13.0.1.rbi +841 -0
  129. data/sorbet/rbi/gems/rexml@3.2.4.rbi +8 -0
  130. data/sorbet/rbi/gems/rubocop-performance@1.5.2.rbi +8 -0
  131. data/sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi +8 -0
  132. data/sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi +8 -0
  133. data/sorbet/rbi/gems/rubocop@0.82.0.rbi +8 -0
  134. data/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +8 -0
  135. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +168 -0
  136. data/sorbet/rbi/gems/spoom@1.0.4.rbi +418 -0
  137. data/sorbet/rbi/gems/spring@2.1.0.rbi +160 -0
  138. data/sorbet/rbi/gems/sprockets-rails@3.2.1.rbi +431 -0
  139. data/sorbet/rbi/gems/sprockets@4.0.0.rbi +1132 -0
  140. data/sorbet/rbi/gems/tapioca@0.4.5.rbi +518 -0
  141. data/sorbet/rbi/gems/thor@1.0.1.rbi +892 -0
  142. data/sorbet/rbi/gems/tzinfo@2.0.2.rbi +547 -0
  143. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
  144. data/sorbet/rbi/gems/websocket-driver@0.7.1.rbi +438 -0
  145. data/sorbet/rbi/gems/websocket-extensions@0.1.4.rbi +71 -0
  146. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +8 -0
  147. data/sorbet/tapioca/require.rb +25 -0
  148. data/static/packwerk-check-demo.png +0 -0
  149. data/static/packwerk_check.gif +0 -0
  150. data/static/packwerk_check_violation.gif +0 -0
  151. data/static/packwerk_update.gif +0 -0
  152. data/static/packwerk_validate.gif +0 -0
  153. metadata +341 -0
@@ -0,0 +1,1132 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `sprockets` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Sprockets
8
+ extend(::Sprockets::Utils)
9
+ extend(::Sprockets::URIUtils)
10
+ extend(::Sprockets::PathUtils)
11
+ extend(::Sprockets::DigestUtils)
12
+ extend(::Sprockets::PathDigestUtils)
13
+ extend(::Sprockets::Dependencies)
14
+ extend(::Sprockets::Compressing)
15
+ extend(::Sprockets::Exporting)
16
+ extend(::Sprockets::ProcessorUtils)
17
+ extend(::Sprockets::Processing)
18
+ extend(::Sprockets::HTTPUtils)
19
+ extend(::Sprockets::Transformers)
20
+ extend(::Sprockets::Mime)
21
+ extend(::Sprockets::Paths)
22
+ extend(::Sprockets::Configuration)
23
+ end
24
+
25
+ class Sprockets::AddSourceMapCommentToAssetProcessor
26
+ class << self
27
+ def call(input); end
28
+ end
29
+ end
30
+
31
+ class Sprockets::ArgumentError < ::Sprockets::Error
32
+ end
33
+
34
+ class Sprockets::Asset
35
+ def initialize(attributes = T.unsafe(nil)); end
36
+
37
+ def ==(other); end
38
+ def base64digest; end
39
+ def bytesize; end
40
+ def charset; end
41
+ def content_type; end
42
+ def digest; end
43
+ def digest_path; end
44
+ def each; end
45
+ def eql?(other); end
46
+ def etag; end
47
+ def filename; end
48
+ def full_digest_path; end
49
+ def hash; end
50
+ def hexdigest; end
51
+ def id; end
52
+ def inspect; end
53
+ def integrity; end
54
+ def length; end
55
+ def links; end
56
+ def logical_path; end
57
+ def metadata; end
58
+ def source; end
59
+ def to_hash; end
60
+ def to_s; end
61
+ def uri; end
62
+ def write_to(filename); end
63
+ end
64
+
65
+ module Sprockets::Autoload
66
+ end
67
+
68
+ class Sprockets::BabelProcessor
69
+ def initialize(options = T.unsafe(nil)); end
70
+
71
+ def cache_key; end
72
+ def call(input); end
73
+
74
+ class << self
75
+ def cache_key; end
76
+ def call(input); end
77
+ def instance; end
78
+ end
79
+ end
80
+
81
+ Sprockets::BabelProcessor::VERSION = T.let(T.unsafe(nil), String)
82
+
83
+ class Sprockets::Base
84
+ include(::Sprockets::SourceMapUtils)
85
+ include(::Sprockets::PathUtils)
86
+ include(::Sprockets::DigestUtils)
87
+ include(::Sprockets::PathDigestUtils)
88
+ include(::Sprockets::Utils)
89
+ include(::Sprockets::URIUtils)
90
+ include(::Sprockets::PathDependencyUtils)
91
+ include(::Sprockets::Dependencies)
92
+ include(::Sprockets::Compressing)
93
+ include(::Sprockets::Exporting)
94
+ include(::Sprockets::ProcessorUtils)
95
+ include(::Sprockets::Resolve)
96
+ include(::Sprockets::Processing)
97
+ include(::Sprockets::HTTPUtils)
98
+ include(::Sprockets::Transformers)
99
+ include(::Sprockets::Mime)
100
+ include(::Sprockets::Paths)
101
+ include(::Sprockets::Configuration)
102
+ include(::Sprockets::Server)
103
+ include(::Sprockets::Loader)
104
+ include(::Sprockets::Bower)
105
+ include(::Sprockets::Npm)
106
+
107
+ def [](*args); end
108
+ def cache; end
109
+ def cache=(cache); end
110
+ def cached; end
111
+ def compress_from_root(uri); end
112
+ def expand_from_root(uri); end
113
+ def file_digest(path); end
114
+ def find_all_linked_assets(*args); end
115
+ def find_asset(*args, **options); end
116
+ def find_asset!(*args); end
117
+ def index; end
118
+ def inspect; end
119
+ end
120
+
121
+ module Sprockets::Bower
122
+ def read_bower_main(dirname, filename); end
123
+ def resolve_alternates(load_path, logical_path); end
124
+ end
125
+
126
+ Sprockets::Bower::POSSIBLE_BOWER_JSONS = T.let(T.unsafe(nil), Array)
127
+
128
+ class Sprockets::Bundle
129
+ class << self
130
+ def call(input); end
131
+ def dedup(required); end
132
+ def process_bundle_reducers(input, assets, reducers); end
133
+ end
134
+ end
135
+
136
+ class Sprockets::Cache
137
+ def initialize(cache = T.unsafe(nil), logger = T.unsafe(nil)); end
138
+
139
+ def clear(options = T.unsafe(nil)); end
140
+ def fetch(key); end
141
+ def get(key, local = T.unsafe(nil)); end
142
+ def inspect; end
143
+ def set(key, value, local = T.unsafe(nil)); end
144
+
145
+ private
146
+
147
+ def expand_key(key); end
148
+ def get_cache_wrapper(cache); end
149
+ def peek_key(key); end
150
+
151
+ class << self
152
+ def default_logger; end
153
+ end
154
+ end
155
+
156
+ class Sprockets::Cache::FileStore
157
+ def initialize(root, max_size = T.unsafe(nil), logger = T.unsafe(nil)); end
158
+
159
+ def clear(options = T.unsafe(nil)); end
160
+ def get(key); end
161
+ def inspect; end
162
+ def set(key, value); end
163
+
164
+ private
165
+
166
+ def compute_size(caches); end
167
+ def find_caches; end
168
+ def gc!; end
169
+ def safe_open(path, &block); end
170
+ def safe_stat(fn); end
171
+ def size; end
172
+
173
+ class << self
174
+ def default_logger; end
175
+ end
176
+ end
177
+
178
+ Sprockets::Cache::FileStore::DEFAULT_MAX_SIZE = T.let(T.unsafe(nil), Integer)
179
+
180
+ Sprockets::Cache::FileStore::EXCLUDED_DIRS = T.let(T.unsafe(nil), Array)
181
+
182
+ Sprockets::Cache::FileStore::GITKEEP_FILES = T.let(T.unsafe(nil), Array)
183
+
184
+ class Sprockets::Cache::GetWrapper < ::Sprockets::Cache::Wrapper
185
+ def clear(options = T.unsafe(nil)); end
186
+ def get(key); end
187
+ def set(key, value); end
188
+ end
189
+
190
+ class Sprockets::Cache::HashWrapper < ::Sprockets::Cache::Wrapper
191
+ def clear(options = T.unsafe(nil)); end
192
+ def get(key); end
193
+ def set(key, value); end
194
+ end
195
+
196
+ class Sprockets::Cache::MemoryStore
197
+ def initialize(max_size = T.unsafe(nil)); end
198
+
199
+ def clear(options = T.unsafe(nil)); end
200
+ def get(key); end
201
+ def inspect; end
202
+ def set(key, value); end
203
+ end
204
+
205
+ Sprockets::Cache::MemoryStore::DEFAULT_MAX_SIZE = T.let(T.unsafe(nil), Integer)
206
+
207
+ class Sprockets::Cache::NullStore
208
+ def clear(options = T.unsafe(nil)); end
209
+ def get(key); end
210
+ def inspect; end
211
+ def set(key, value); end
212
+ end
213
+
214
+ Sprockets::Cache::PEEK_SIZE = T.let(T.unsafe(nil), Integer)
215
+
216
+ class Sprockets::Cache::ReadWriteWrapper < ::Sprockets::Cache::Wrapper
217
+ def clear(options = T.unsafe(nil)); end
218
+ def get(key); end
219
+ def set(key, value); end
220
+ end
221
+
222
+ Sprockets::Cache::VERSION = T.let(T.unsafe(nil), String)
223
+
224
+ class Sprockets::Cache::Wrapper < ::Struct
225
+ end
226
+
227
+ class Sprockets::CachedEnvironment < ::Sprockets::Base
228
+ def initialize(environment); end
229
+
230
+ def cached; end
231
+ def entries(path); end
232
+ def index; end
233
+ def load(uri); end
234
+ def processor_cache_key(str); end
235
+ def resolve_dependency(str); end
236
+ def stat(path); end
237
+
238
+ private
239
+
240
+ def config=(config); end
241
+ end
242
+
243
+ class Sprockets::ClosureCompressor
244
+ def initialize(options = T.unsafe(nil)); end
245
+
246
+ def cache_key; end
247
+ def call(input); end
248
+
249
+ class << self
250
+ def cache_key; end
251
+ def call(input); end
252
+ def instance; end
253
+ end
254
+ end
255
+
256
+ Sprockets::ClosureCompressor::VERSION = T.let(T.unsafe(nil), String)
257
+
258
+ module Sprockets::CoffeeScriptProcessor
259
+ class << self
260
+ def cache_key; end
261
+ def call(input); end
262
+ end
263
+ end
264
+
265
+ Sprockets::CoffeeScriptProcessor::VERSION = T.let(T.unsafe(nil), String)
266
+
267
+ module Sprockets::Compressing
268
+ include(::Sprockets::Utils)
269
+
270
+ def compressors; end
271
+ def css_compressor; end
272
+ def css_compressor=(compressor); end
273
+ def gzip=(gzip); end
274
+ def gzip?; end
275
+ def js_compressor; end
276
+ def js_compressor=(compressor); end
277
+ def register_compressor(mime_type, sym, klass); end
278
+ def skip_gzip?; end
279
+ end
280
+
281
+ module Sprockets::Configuration
282
+ include(::Sprockets::Utils)
283
+ include(::Sprockets::URIUtils)
284
+ include(::Sprockets::PathUtils)
285
+ include(::Sprockets::DigestUtils)
286
+ include(::Sprockets::PathDigestUtils)
287
+ include(::Sprockets::Dependencies)
288
+ include(::Sprockets::Compressing)
289
+ include(::Sprockets::Exporting)
290
+ include(::Sprockets::ProcessorUtils)
291
+ include(::Sprockets::Processing)
292
+ include(::Sprockets::HTTPUtils)
293
+ include(::Sprockets::Transformers)
294
+ include(::Sprockets::Mime)
295
+ include(::Sprockets::Paths)
296
+
297
+ def config; end
298
+ def config=(config); end
299
+ def context_class; end
300
+ def digest_class; end
301
+ def digest_class=(klass); end
302
+ def initialize_configuration(parent); end
303
+ def logger; end
304
+ def logger=(_); end
305
+ def version; end
306
+ def version=(version); end
307
+ end
308
+
309
+ class Sprockets::ContentTypeMismatch < ::Sprockets::Error
310
+ end
311
+
312
+ class Sprockets::Context
313
+ def initialize(input); end
314
+
315
+ def asset_data_uri(path); end
316
+ def asset_path(path, options = T.unsafe(nil)); end
317
+ def audio_path(path); end
318
+ def content_type; end
319
+ def depend_on(path); end
320
+ def depend_on_asset(path); end
321
+ def depend_on_env(key); end
322
+ def env_proxy; end
323
+ def environment; end
324
+ def filename; end
325
+ def font_path(path); end
326
+ def image_path(path); end
327
+ def javascript_path(path); end
328
+ def link_asset(path); end
329
+ def load(uri); end
330
+ def load_path; end
331
+ def logical_path; end
332
+ def metadata; end
333
+ def require_asset(path); end
334
+ def resolve(path, **kargs); end
335
+ def root_path; end
336
+ def stub_asset(path); end
337
+ def stylesheet_path(path); end
338
+ def video_path(path); end
339
+
340
+ protected
341
+
342
+ def base64_asset_data_uri(asset); end
343
+ def optimize_quoted_uri_escapes!(escaped); end
344
+ def optimize_svg_for_uri_escaping!(svg); end
345
+ def svg_asset_data_uri(asset); end
346
+ end
347
+
348
+ class Sprockets::Context::ENVProxy < ::SimpleDelegator
349
+ def initialize(context); end
350
+
351
+ def [](key); end
352
+ def fetch(key, *_); end
353
+ end
354
+
355
+ class Sprockets::ConversionError < ::Sprockets::NotFound
356
+ end
357
+
358
+ module Sprockets::Dependencies
359
+ include(::Sprockets::URIUtils)
360
+ include(::Sprockets::PathUtils)
361
+ include(::Sprockets::DigestUtils)
362
+ include(::Sprockets::PathDigestUtils)
363
+
364
+ def add_dependency(uri); end
365
+ def depend_on(uri); end
366
+ def dependencies; end
367
+ def dependency_resolvers; end
368
+ def register_dependency_resolver(scheme, &block); end
369
+ def resolve_dependency(str); end
370
+ end
371
+
372
+ module Sprockets::DigestUtils
373
+ extend(::Sprockets::DigestUtils)
374
+
375
+ def detect_digest_class(bytes); end
376
+ def digest(obj); end
377
+ def digest_class; end
378
+ def hexdigest(obj); end
379
+ def hexdigest_integrity_uri(hexdigest); end
380
+ def integrity_uri(digest); end
381
+ def pack_base64digest(bin); end
382
+ def pack_hexdigest(bin); end
383
+ def pack_urlsafe_base64digest(bin); end
384
+ def unpack_hexdigest(hex); end
385
+
386
+ private
387
+
388
+ def build_digest(obj); end
389
+ end
390
+
391
+ Sprockets::DigestUtils::DIGEST_SIZES = T.let(T.unsafe(nil), Hash)
392
+
393
+ Sprockets::DigestUtils::HASH_ALGORITHMS = T.let(T.unsafe(nil), Hash)
394
+
395
+ class Sprockets::DirectiveProcessor
396
+ def initialize(comments: T.unsafe(nil)); end
397
+
398
+ def _call(input); end
399
+ def call(input); end
400
+
401
+ protected
402
+
403
+ def compile_header_pattern(comments); end
404
+ def extract_directives(header); end
405
+ def process_depend_on_asset_directive(path); end
406
+ def process_depend_on_directive(path); end
407
+ def process_directives(directives); end
408
+ def process_link_directive(path); end
409
+ def process_link_directory_directive(path = T.unsafe(nil), accept = T.unsafe(nil)); end
410
+ def process_link_tree_directive(path = T.unsafe(nil), accept = T.unsafe(nil)); end
411
+ def process_require_directive(path); end
412
+ def process_require_directory_directive(path = T.unsafe(nil)); end
413
+ def process_require_self_directive; end
414
+ def process_require_tree_directive(path = T.unsafe(nil)); end
415
+ def process_source(source); end
416
+ def process_stub_directive(path); end
417
+
418
+ private
419
+
420
+ def expand_accept_shorthand(accept); end
421
+ def expand_relative_dirname(directive, path); end
422
+ def link_paths(paths, deps, accept); end
423
+ def require_paths(paths, deps); end
424
+ def resolve(path, **kargs); end
425
+ def resolve_paths(paths, deps, **kargs); end
426
+ def to_load(uri); end
427
+
428
+ class << self
429
+ def call(input); end
430
+ def instance; end
431
+ end
432
+ end
433
+
434
+ Sprockets::DirectiveProcessor::DIRECTIVE_PATTERN = T.let(T.unsafe(nil), Regexp)
435
+
436
+ class Sprockets::DoubleLinkError < ::Sprockets::Error
437
+ def initialize(parent_filename:, logical_path:, last_filename:, filename:); end
438
+ end
439
+
440
+ class Sprockets::ERBProcessor
441
+ def initialize(&block); end
442
+
443
+ def call(input); end
444
+
445
+ class << self
446
+ def call(input); end
447
+ def instance; end
448
+ end
449
+ end
450
+
451
+ module Sprockets::EcoProcessor
452
+ class << self
453
+ def cache_key; end
454
+ def call(input); end
455
+ end
456
+ end
457
+
458
+ Sprockets::EcoProcessor::VERSION = T.let(T.unsafe(nil), String)
459
+
460
+ module Sprockets::EjsProcessor
461
+ class << self
462
+ def cache_key; end
463
+ def call(input); end
464
+ end
465
+ end
466
+
467
+ Sprockets::EjsProcessor::VERSION = T.let(T.unsafe(nil), String)
468
+
469
+ module Sprockets::EncodingUtils
470
+ extend(::Sprockets::EncodingUtils)
471
+
472
+ def base64(str); end
473
+ def charlock_detect(str); end
474
+ def deflate(str); end
475
+ def detect(str); end
476
+ def detect_css(str); end
477
+ def detect_html(str); end
478
+ def detect_unicode(str); end
479
+ def detect_unicode_bom(str); end
480
+ def gzip(str); end
481
+ def scan_css_charset(str); end
482
+ def unmarshaled_deflated(str, window_bits = T.unsafe(nil)); end
483
+ end
484
+
485
+ Sprockets::EncodingUtils::BOM = T.let(T.unsafe(nil), Hash)
486
+
487
+ Sprockets::EncodingUtils::CHARSET_DETECT = T.let(T.unsafe(nil), Hash)
488
+
489
+ Sprockets::EncodingUtils::CHARSET_SIZE = T.let(T.unsafe(nil), Integer)
490
+
491
+ Sprockets::EncodingUtils::CHARSET_START = T.let(T.unsafe(nil), Array)
492
+
493
+ class Sprockets::Environment < ::Sprockets::Base
494
+ def initialize(root = T.unsafe(nil)); end
495
+
496
+ def cached; end
497
+ def find_all_linked_assets(*args, &block); end
498
+ def find_asset(*args, **options); end
499
+ def find_asset!(*args); end
500
+ def index; end
501
+ def load(*args); end
502
+ end
503
+
504
+ class Sprockets::Error < ::StandardError
505
+ end
506
+
507
+ module Sprockets::Exporters
508
+ end
509
+
510
+ class Sprockets::Exporters::Base
511
+ def initialize(asset: T.unsafe(nil), environment: T.unsafe(nil), directory: T.unsafe(nil)); end
512
+
513
+ def asset; end
514
+ def call; end
515
+ def directory; end
516
+ def environment; end
517
+ def setup; end
518
+ def skip?(logger); end
519
+ def target; end
520
+ def write(filename = T.unsafe(nil)); end
521
+ end
522
+
523
+ class Sprockets::Exporters::FileExporter < ::Sprockets::Exporters::Base
524
+ def call; end
525
+ def skip?(logger); end
526
+ end
527
+
528
+ class Sprockets::Exporters::ZlibExporter < ::Sprockets::Exporters::Base
529
+ def call; end
530
+ def setup; end
531
+ def skip?(logger); end
532
+ end
533
+
534
+ class Sprockets::Exporters::ZopfliExporter < ::Sprockets::Exporters::ZlibExporter
535
+ def setup; end
536
+ end
537
+
538
+ module Sprockets::Exporting
539
+ def export_concurrent; end
540
+ def export_concurrent=(export_concurrent); end
541
+ def exporters; end
542
+ def register_exporter(mime_types, klass = T.unsafe(nil)); end
543
+ def unregister_exporter(mime_types, exporter = T.unsafe(nil)); end
544
+ end
545
+
546
+ class Sprockets::FileNotFound < ::Sprockets::NotFound
547
+ end
548
+
549
+ class Sprockets::FileOutsidePaths < ::Sprockets::NotFound
550
+ end
551
+
552
+ class Sprockets::FileReader
553
+ class << self
554
+ def call(input); end
555
+ end
556
+ end
557
+
558
+ module Sprockets::HTTPUtils
559
+ extend(::Sprockets::HTTPUtils)
560
+
561
+ def find_best_mime_type_match(q_value_header, available); end
562
+ def find_best_q_match(q_values, available, &matcher); end
563
+ def find_mime_type_matches(q_value_header, available); end
564
+ def find_q_matches(q_values, available, &matcher); end
565
+ def match_mime_type?(value, matcher); end
566
+ def match_mime_type_keys(hash, mime_type); end
567
+ def parse_q_values(values); end
568
+ end
569
+
570
+ class Sprockets::JSMincCompressor
571
+ def initialize(options = T.unsafe(nil)); end
572
+
573
+ def cache_key; end
574
+ def call(input); end
575
+
576
+ class << self
577
+ def cache_key; end
578
+ def call(input); end
579
+ def instance; end
580
+ end
581
+ end
582
+
583
+ Sprockets::JSMincCompressor::VERSION = T.let(T.unsafe(nil), String)
584
+
585
+ class Sprockets::JstProcessor
586
+ def initialize(namespace: T.unsafe(nil)); end
587
+
588
+ def call(input); end
589
+
590
+ class << self
591
+ def call(input); end
592
+ def default_namespace; end
593
+ def instance; end
594
+ end
595
+ end
596
+
597
+ module Sprockets::Loader
598
+ include(::Sprockets::URIUtils)
599
+ include(::Sprockets::Utils)
600
+ include(::Sprockets::ProcessorUtils)
601
+ include(::Sprockets::PathUtils)
602
+ include(::Sprockets::DigestUtils)
603
+ include(::Sprockets::PathDependencyUtils)
604
+ include(::Sprockets::HTTPUtils)
605
+ include(::Sprockets::Transformers)
606
+ include(::Sprockets::Resolve)
607
+ include(::Sprockets::Processing)
608
+ include(::Sprockets::Mime)
609
+
610
+ def load(uri); end
611
+
612
+ private
613
+
614
+ def asset_from_cache(key); end
615
+ def compress_key_from_hash(hash, key); end
616
+ def expand_key_from_hash(hash, key); end
617
+ def fetch_asset_from_dependency_cache(unloaded, limit = T.unsafe(nil)); end
618
+ def load_from_unloaded(unloaded); end
619
+ def resolve_dependencies(uris); end
620
+ def store_asset(asset, unloaded); end
621
+ end
622
+
623
+ class Sprockets::Manifest
624
+ include(::Sprockets::ManifestUtils)
625
+
626
+ def initialize(*args); end
627
+
628
+ def assets; end
629
+ def clean(count = T.unsafe(nil), age = T.unsafe(nil)); end
630
+ def clobber; end
631
+ def compile(*args); end
632
+ def dir; end
633
+ def directory; end
634
+ def environment; end
635
+ def filename; end
636
+ def files; end
637
+ def find(*args); end
638
+ def find_sources(*args); end
639
+ def path; end
640
+ def remove(filename); end
641
+ def save; end
642
+
643
+ private
644
+
645
+ def executor; end
646
+ def exporters_for_asset(asset); end
647
+ def json_decode(obj); end
648
+ def json_encode(obj); end
649
+ def logger; end
650
+ end
651
+
652
+ module Sprockets::ManifestUtils
653
+ extend(::Sprockets::ManifestUtils)
654
+
655
+ def find_directory_manifest(dirname, logger = T.unsafe(nil)); end
656
+ def generate_manifest_path; end
657
+ end
658
+
659
+ Sprockets::ManifestUtils::MANIFEST_RE = T.let(T.unsafe(nil), Regexp)
660
+
661
+ module Sprockets::Mime
662
+ include(::Sprockets::Utils)
663
+ include(::Sprockets::HTTPUtils)
664
+
665
+ def mime_exts; end
666
+ def mime_type_charset_detecter(mime_type); end
667
+ def mime_types; end
668
+ def read_file(filename, content_type = T.unsafe(nil)); end
669
+ def register_mime_type(mime_type, extensions: T.unsafe(nil), charset: T.unsafe(nil)); end
670
+ end
671
+
672
+ class Sprockets::NotFound < ::Sprockets::Error
673
+ end
674
+
675
+ class Sprockets::NotImplementedError < ::Sprockets::Error
676
+ end
677
+
678
+ module Sprockets::Npm
679
+ def read_package_directives(dirname, filename); end
680
+ def resolve_alternates(load_path, logical_path); end
681
+ end
682
+
683
+ module Sprockets::PathDependencyUtils
684
+ include(::Sprockets::PathUtils)
685
+ include(::Sprockets::URIUtils)
686
+
687
+ def entries_with_dependencies(path); end
688
+ def stat_directory_with_dependencies(dir); end
689
+ def stat_sorted_tree_with_dependencies(dir); end
690
+ end
691
+
692
+ module Sprockets::PathDigestUtils
693
+ include(::Sprockets::PathUtils)
694
+ include(::Sprockets::DigestUtils)
695
+
696
+ def file_digest(path); end
697
+ def files_digest(paths); end
698
+ def stat_digest(path, stat); end
699
+ end
700
+
701
+ module Sprockets::PathUtils
702
+ extend(::Sprockets::PathUtils)
703
+
704
+ def absolute_path?(path); end
705
+ def atomic_write(filename); end
706
+ def directory?(path); end
707
+ def entries(path); end
708
+ def file?(path); end
709
+ def find_matching_path_for_extensions(path, basename, extensions); end
710
+ def find_upwards(basename, path, root = T.unsafe(nil)); end
711
+ def join(base, path); end
712
+ def match_path_extname(path, extensions); end
713
+ def path_extnames(path); end
714
+ def path_parents(path, root = T.unsafe(nil)); end
715
+ def paths_split(paths, filename); end
716
+ def relative_path?(path); end
717
+ def relative_path_from(start, dest); end
718
+ def set_pipeline(path, mime_exts, pipeline_exts, pipeline); end
719
+ def split_subpath(path, subpath); end
720
+ def stat(path); end
721
+ def stat_directory(dir); end
722
+ def stat_sorted_tree(dir, &block); end
723
+ def stat_tree(dir, &block); end
724
+ end
725
+
726
+ Sprockets::PathUtils::SEPARATOR_PATTERN = T.let(T.unsafe(nil), String)
727
+
728
+ module Sprockets::Paths
729
+ include(::Sprockets::Utils)
730
+ include(::Sprockets::PathUtils)
731
+
732
+ def append_path(path); end
733
+ def clear_paths; end
734
+ def each_file; end
735
+ def paths; end
736
+ def prepend_path(path); end
737
+ def root; end
738
+
739
+ private
740
+
741
+ def root=(path); end
742
+ end
743
+
744
+ module Sprockets::Preprocessors
745
+ end
746
+
747
+ class Sprockets::Preprocessors::DefaultSourceMap
748
+ def call(input); end
749
+
750
+ private
751
+
752
+ def default_mappings(lines); end
753
+ end
754
+
755
+ module Sprockets::Processing
756
+ include(::Sprockets::Utils)
757
+ include(::Sprockets::URIUtils)
758
+ include(::Sprockets::ProcessorUtils)
759
+
760
+ def bundle_processors; end
761
+ def pipelines; end
762
+ def postprocessors; end
763
+ def preprocessors; end
764
+ def processors; end
765
+ def register_bundle_metadata_reducer(mime_type, key, *args, &block); end
766
+ def register_bundle_processor(*args, &block); end
767
+ def register_pipeline(name, proc = T.unsafe(nil), &block); end
768
+ def register_postprocessor(*args, &block); end
769
+ def register_preprocessor(*args, &block); end
770
+ def register_processor(*args, &block); end
771
+ def unregister_bundle_processor(*args); end
772
+ def unregister_postprocessor(*args); end
773
+ def unregister_preprocessor(*args); end
774
+ def unregister_processor(*args); end
775
+
776
+ protected
777
+
778
+ def build_processors_uri(type, file_type, pipeline); end
779
+ def default_processors_for(type, file_type); end
780
+ def processors_for(type, file_type, pipeline); end
781
+ def resolve_processors_cache_key_uri(uri); end
782
+ def self_processors_for(type, file_type); end
783
+
784
+ private
785
+
786
+ def register_config_processor(type, mime_type, processor = T.unsafe(nil), &block); end
787
+ def unregister_config_processor(type, mime_type, processor); end
788
+ end
789
+
790
+ module Sprockets::ProcessorUtils
791
+ extend(::Sprockets::ProcessorUtils)
792
+
793
+ def call_processor(processor, input); end
794
+ def call_processors(processors, input); end
795
+ def compose_processors(*processors); end
796
+ def processor_cache_key(processor); end
797
+ def processors_cache_keys(processors); end
798
+ def validate_processor_result!(result); end
799
+ end
800
+
801
+ class Sprockets::ProcessorUtils::CompositeProcessor < ::Struct
802
+ def cache_key; end
803
+ def call(input); end
804
+
805
+ class << self
806
+ def create(processors); end
807
+ end
808
+ end
809
+
810
+ Sprockets::ProcessorUtils::CompositeProcessor::PLURAL = T.let(T.unsafe(nil), Proc)
811
+
812
+ Sprockets::ProcessorUtils::CompositeProcessor::SINGULAR = T.let(T.unsafe(nil), Proc)
813
+
814
+ Sprockets::ProcessorUtils::VALID_METADATA_COMPOUND_TYPES = T.let(T.unsafe(nil), Set)
815
+
816
+ Sprockets::ProcessorUtils::VALID_METADATA_COMPOUND_TYPES_HASH = T.let(T.unsafe(nil), Hash)
817
+
818
+ Sprockets::ProcessorUtils::VALID_METADATA_TYPES = T.let(T.unsafe(nil), Set)
819
+
820
+ Sprockets::ProcessorUtils::VALID_METADATA_VALUE_TYPES = T.let(T.unsafe(nil), Set)
821
+
822
+ Sprockets::ProcessorUtils::VALID_METADATA_VALUE_TYPES_HASH = T.let(T.unsafe(nil), Hash)
823
+
824
+ module Sprockets::Resolve
825
+ include(::Sprockets::PathUtils)
826
+ include(::Sprockets::URIUtils)
827
+ include(::Sprockets::PathDependencyUtils)
828
+ include(::Sprockets::HTTPUtils)
829
+
830
+ def resolve(path, load_paths: T.unsafe(nil), accept: T.unsafe(nil), pipeline: T.unsafe(nil), base_path: T.unsafe(nil)); end
831
+ def resolve!(path, **kargs); end
832
+
833
+ protected
834
+
835
+ def parse_accept_options(mime_type, explicit_type); end
836
+ def resolve_absolute_path(paths, filename, accept); end
837
+ def resolve_alternates(load_path, logical_name); end
838
+ def resolve_alts_under_path(load_path, logical_name, mime_exts); end
839
+ def resolve_asset_uri(uri); end
840
+ def resolve_index_under_path(load_path, logical_name, mime_exts); end
841
+ def resolve_logical_path(paths, logical_path, accept); end
842
+ def resolve_main_under_path(load_path, logical_name, mime_exts); end
843
+ def resolve_relative_path(paths, path, dirname, accept); end
844
+ def resolve_under_paths(paths, logical_name, accepts); end
845
+ end
846
+
847
+ class Sprockets::SassCompressor
848
+ def initialize(options = T.unsafe(nil)); end
849
+
850
+ def cache_key; end
851
+ def call(input); end
852
+
853
+ class << self
854
+ def cache_key; end
855
+ def call(input); end
856
+ def instance; end
857
+ end
858
+ end
859
+
860
+ Sprockets::SassCompressor::VERSION = T.let(T.unsafe(nil), String)
861
+
862
+ class Sprockets::SasscCompressor
863
+ def initialize(options = T.unsafe(nil)); end
864
+
865
+ def call(input); end
866
+
867
+ class << self
868
+ def call(input); end
869
+ def instance; end
870
+ end
871
+ end
872
+
873
+ class Sprockets::SasscProcessor
874
+ def initialize(options = T.unsafe(nil), &block); end
875
+
876
+ def cache_key; end
877
+ def call(input); end
878
+
879
+ private
880
+
881
+ def engine_options(input, context); end
882
+ def merge_options(options); end
883
+
884
+ class << self
885
+ def cache_key; end
886
+ def call(input); end
887
+ def instance; end
888
+ def syntax; end
889
+ end
890
+ end
891
+
892
+ module Sprockets::SasscProcessor::Functions
893
+ def asset_data_url(path); end
894
+ def asset_path(path, options = T.unsafe(nil)); end
895
+ def asset_url(path, options = T.unsafe(nil)); end
896
+ def audio_path(path); end
897
+ def audio_url(path); end
898
+ def font_path(path); end
899
+ def font_url(path); end
900
+ def image_path(path); end
901
+ def image_url(path); end
902
+ def javascript_path(path); end
903
+ def javascript_url(path); end
904
+ def stylesheet_path(path); end
905
+ def stylesheet_url(path); end
906
+ def video_path(path); end
907
+ def video_url(path); end
908
+
909
+ protected
910
+
911
+ def sprockets_context; end
912
+ def sprockets_dependencies; end
913
+ def sprockets_environment; end
914
+ end
915
+
916
+ class Sprockets::ScsscProcessor < ::Sprockets::SasscProcessor
917
+ class << self
918
+ def syntax; end
919
+ end
920
+ end
921
+
922
+ module Sprockets::Server
923
+ def call(env); end
924
+
925
+ private
926
+
927
+ def bad_request_response(env); end
928
+ def cache_headers(env, etag); end
929
+ def css_exception_response(exception); end
930
+ def escape_css_content(content); end
931
+ def forbidden_request?(path); end
932
+ def forbidden_response(env); end
933
+ def head_request?(env); end
934
+ def headers(env, asset, length); end
935
+ def javascript_exception_response(exception); end
936
+ def method_not_allowed_response; end
937
+ def not_found_response(env); end
938
+ def not_modified_response(env, etag); end
939
+ def ok_response(asset, env); end
940
+ def path_fingerprint(path); end
941
+ def precondition_failed_response(env); end
942
+ end
943
+
944
+ Sprockets::Server::ALLOWED_REQUEST_METHODS = T.let(T.unsafe(nil), Set)
945
+
946
+ class Sprockets::SourceMapProcessor
947
+ class << self
948
+ def call(input); end
949
+ def original_content_type(source_map_content_type, error_when_not_found: T.unsafe(nil)); end
950
+ end
951
+ end
952
+
953
+ module Sprockets::SourceMapUtils
954
+ extend(::Sprockets::SourceMapUtils)
955
+
956
+ def bsearch_mappings(mappings, offset, from = T.unsafe(nil), to = T.unsafe(nil)); end
957
+ def combine_source_maps(first, second); end
958
+ def compare_source_offsets(a, b); end
959
+ def concat_source_maps(a, b); end
960
+ def decode_source_map(map); end
961
+ def decode_vlq_mappings(str, sources: T.unsafe(nil), names: T.unsafe(nil)); end
962
+ def encode_source_map(map); end
963
+ def encode_vlq_mappings(mappings, sources: T.unsafe(nil), names: T.unsafe(nil)); end
964
+ def format_source_map(map, input); end
965
+ def make_index_map(map); end
966
+ def vlq_decode(str); end
967
+ def vlq_decode_mappings(str); end
968
+ def vlq_encode(ary); end
969
+ def vlq_encode_mappings(ary); end
970
+ end
971
+
972
+ Sprockets::SourceMapUtils::BASE64_DIGITS = T.let(T.unsafe(nil), Array)
973
+
974
+ Sprockets::SourceMapUtils::BASE64_VALUES = T.let(T.unsafe(nil), Hash)
975
+
976
+ Sprockets::SourceMapUtils::VLQ_BASE = T.let(T.unsafe(nil), Integer)
977
+
978
+ Sprockets::SourceMapUtils::VLQ_BASE_MASK = T.let(T.unsafe(nil), Integer)
979
+
980
+ Sprockets::SourceMapUtils::VLQ_BASE_SHIFT = T.let(T.unsafe(nil), Integer)
981
+
982
+ Sprockets::SourceMapUtils::VLQ_CONTINUATION_BIT = T.let(T.unsafe(nil), Integer)
983
+
984
+ module Sprockets::Transformers
985
+ include(::Sprockets::Utils)
986
+ include(::Sprockets::ProcessorUtils)
987
+ include(::Sprockets::HTTPUtils)
988
+
989
+ def compose_transformers(transformers, types, preprocessors, postprocessors); end
990
+ def expand_transform_accepts(parsed_accepts); end
991
+ def register_transformer(from, to, proc); end
992
+ def register_transformer_suffix(types, type_format, extname, processor); end
993
+ def resolve_transform_type(type, accept); end
994
+ def transformers; end
995
+
996
+ private
997
+
998
+ def compose_transformer_list(transformers, preprocessors, postprocessors); end
999
+ def compute_transformers!(registered_transformers); end
1000
+ end
1001
+
1002
+ class Sprockets::Transformers::Transformer < ::Struct
1003
+ def from; end
1004
+ def from=(_); end
1005
+ def proc; end
1006
+ def proc=(_); end
1007
+ def to; end
1008
+ def to=(_); end
1009
+
1010
+ class << self
1011
+ def [](*_); end
1012
+ def inspect; end
1013
+ def members; end
1014
+ def new(*_); end
1015
+ end
1016
+ end
1017
+
1018
+ class Sprockets::URITar
1019
+ def initialize(uri, env); end
1020
+
1021
+ def absolute_path?; end
1022
+ def compress; end
1023
+ def compressed_path; end
1024
+ def expand; end
1025
+ def path; end
1026
+ def root; end
1027
+ def scheme; end
1028
+ end
1029
+
1030
+ module Sprockets::URIUtils
1031
+ extend(::Sprockets::URIUtils)
1032
+
1033
+ def build_asset_uri(path, params = T.unsafe(nil)); end
1034
+ def build_file_digest_uri(path); end
1035
+ def encode_uri_query_params(params); end
1036
+ def join_file_uri(scheme, host, path, query); end
1037
+ def join_uri(scheme, userinfo, host, port, registry, path, opaque, query, fragment); end
1038
+ def parse_asset_uri(uri); end
1039
+ def parse_file_digest_uri(uri); end
1040
+ def parse_uri_query_params(query); end
1041
+ def split_file_uri(uri); end
1042
+ def split_uri(uri); end
1043
+ def valid_asset_uri?(str); end
1044
+ end
1045
+
1046
+ class Sprockets::UglifierCompressor
1047
+ def initialize(options = T.unsafe(nil)); end
1048
+
1049
+ def cache_key; end
1050
+ def call(input); end
1051
+
1052
+ class << self
1053
+ def cache_key; end
1054
+ def call(input); end
1055
+ def instance; end
1056
+ end
1057
+ end
1058
+
1059
+ Sprockets::UglifierCompressor::VERSION = T.let(T.unsafe(nil), String)
1060
+
1061
+ class Sprockets::UnloadedAsset
1062
+ def initialize(uri, env); end
1063
+
1064
+ def asset_key; end
1065
+ def compressed_path; end
1066
+ def dependency_history_key; end
1067
+ def digest_key(digest); end
1068
+ def file_digest_key(stat); end
1069
+ def filename; end
1070
+ def params; end
1071
+ def uri; end
1072
+
1073
+ private
1074
+
1075
+ def load_file_params; end
1076
+ end
1077
+
1078
+ module Sprockets::Utils
1079
+ extend(::Sprockets::Utils)
1080
+
1081
+ def concat_javascript_sources(buf, source); end
1082
+ def dfs(initial); end
1083
+ def dfs_paths(path); end
1084
+ def duplicable?(obj); end
1085
+ def hash_reassoc(hash, key_a, key_b = T.unsafe(nil), &block); end
1086
+ def hash_reassoc1(hash, key); end
1087
+ def module_include(base, mod); end
1088
+ def string_end_with_semicolon?(str); end
1089
+ end
1090
+
1091
+ class Sprockets::Utils::Gzip
1092
+ def initialize(asset, archiver: T.unsafe(nil)); end
1093
+
1094
+ def archiver; end
1095
+ def can_compress?; end
1096
+ def cannot_compress?; end
1097
+ def charset; end
1098
+ def compress(file, target); end
1099
+ def content_type; end
1100
+ def source; end
1101
+ end
1102
+
1103
+ Sprockets::Utils::Gzip::COMPRESSABLE_MIME_TYPES = T.let(T.unsafe(nil), Hash)
1104
+
1105
+ module Sprockets::Utils::Gzip::ZlibArchiver
1106
+ class << self
1107
+ def call(file, source, mtime); end
1108
+ end
1109
+ end
1110
+
1111
+ module Sprockets::Utils::Gzip::ZopfliArchiver
1112
+ class << self
1113
+ def call(file, source, mtime); end
1114
+ end
1115
+ end
1116
+
1117
+ Sprockets::VERSION = T.let(T.unsafe(nil), String)
1118
+
1119
+ class Sprockets::YUICompressor
1120
+ def initialize(options = T.unsafe(nil)); end
1121
+
1122
+ def cache_key; end
1123
+ def call(input); end
1124
+
1125
+ class << self
1126
+ def cache_key; end
1127
+ def call(input); end
1128
+ def instance; end
1129
+ end
1130
+ end
1131
+
1132
+ Sprockets::YUICompressor::VERSION = T.let(T.unsafe(nil), String)