packwerk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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)