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,160 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `spring` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Spring
8
+ class << self
9
+ def after_fork(&block); end
10
+ def after_fork_callbacks; end
11
+ def application_root; end
12
+ def application_root=(_); end
13
+ def application_root_path; end
14
+ def command(name); end
15
+ def command?(name); end
16
+ def commands; end
17
+ def gemfile; end
18
+ def project_root_path; end
19
+ def quiet; end
20
+ def quiet=(_); end
21
+ def register_command(name, command = T.unsafe(nil)); end
22
+ def verify_environment; end
23
+ def watch(*items); end
24
+ def watch_interval; end
25
+ def watch_interval=(_); end
26
+ def watch_method; end
27
+ def watch_method=(method); end
28
+ def watcher; end
29
+ def watcher=(_); end
30
+
31
+ private
32
+
33
+ def find_project_root(current_dir); end
34
+ end
35
+ end
36
+
37
+ class Spring::ClientError < ::StandardError
38
+ end
39
+
40
+ class Spring::CommandNotFound < ::Spring::ClientError
41
+ end
42
+
43
+ class Spring::CommandWrapper
44
+ def initialize(name, command = T.unsafe(nil)); end
45
+
46
+ def binstub; end
47
+ def binstub_name; end
48
+ def call; end
49
+ def command; end
50
+ def description; end
51
+ def env(args); end
52
+ def exec; end
53
+ def exec_name; end
54
+ def gem_name; end
55
+ def name; end
56
+ def setup; end
57
+ def setup?; end
58
+ end
59
+
60
+ module Spring::Commands
61
+ end
62
+
63
+ class Spring::Commands::Rails
64
+ def call; end
65
+ def description; end
66
+ end
67
+
68
+ class Spring::Commands::RailsConsole < ::Spring::Commands::Rails
69
+ def command_name; end
70
+ def env(args); end
71
+ end
72
+
73
+ class Spring::Commands::RailsDestroy < ::Spring::Commands::Rails
74
+ def command_name; end
75
+ end
76
+
77
+ class Spring::Commands::RailsGenerate < ::Spring::Commands::Rails
78
+ def command_name; end
79
+ end
80
+
81
+ class Spring::Commands::RailsRunner < ::Spring::Commands::Rails
82
+ def call; end
83
+ def command_name; end
84
+ def env(args); end
85
+ def extract_environment(args); end
86
+ end
87
+
88
+ class Spring::Commands::RailsTest < ::Spring::Commands::Rails
89
+ def command_name; end
90
+ def env(args); end
91
+ end
92
+
93
+ class Spring::Commands::Rake
94
+ def env(args); end
95
+
96
+ class << self
97
+ def environment_matchers; end
98
+ def environment_matchers=(_); end
99
+ end
100
+ end
101
+
102
+ class Spring::MissingApplication < ::Spring::ClientError
103
+ def initialize(project_root); end
104
+
105
+ def message; end
106
+ def project_root; end
107
+ end
108
+
109
+ class Spring::UnknownProject < ::StandardError
110
+ def initialize(current_dir); end
111
+
112
+ def current_dir; end
113
+ def message; end
114
+ end
115
+
116
+ module Spring::Watcher
117
+ end
118
+
119
+ class Spring::Watcher::Abstract
120
+ include(::Mutex_m)
121
+
122
+ def initialize(root, latency); end
123
+
124
+ def add(*items); end
125
+ def debug; end
126
+ def directories; end
127
+ def files; end
128
+ def latency; end
129
+ def lock; end
130
+ def locked?; end
131
+ def mark_stale; end
132
+ def on_debug(&block); end
133
+ def on_stale(&block); end
134
+ def restart; end
135
+ def root; end
136
+ def stale?; end
137
+ def start; end
138
+ def stop; end
139
+ def subjects_changed; end
140
+ def synchronize(&block); end
141
+ def try_lock; end
142
+ def unlock; end
143
+ end
144
+
145
+ class Spring::Watcher::Polling < ::Spring::Watcher::Abstract
146
+ def initialize(root, latency); end
147
+
148
+ def add(*_); end
149
+ def check_stale; end
150
+ def mtime; end
151
+ def running?; end
152
+ def start; end
153
+ def stop; end
154
+ def subjects_changed; end
155
+
156
+ private
157
+
158
+ def compute_mtime; end
159
+ def expanded_files; end
160
+ end
@@ -0,0 +1,431 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `sprockets-rails` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Rails
8
+ extend(::ActiveSupport::Autoload)
9
+
10
+ class << self
11
+ def app_class; end
12
+ def app_class=(_); end
13
+ def application; end
14
+ def application=(_); end
15
+ def autoloaders; end
16
+ def backtrace_cleaner; end
17
+ def cache; end
18
+ def cache=(_); end
19
+ def configuration; end
20
+ def env; end
21
+ def env=(environment); end
22
+ def gem_version; end
23
+ def groups(*groups); end
24
+ def initialize!(*args, &block); end
25
+ def initialized?(*args, &block); end
26
+ def logger; end
27
+ def logger=(_); end
28
+ def public_path; end
29
+ def root; end
30
+ def version; end
31
+ end
32
+ end
33
+
34
+ class Rails::Application < ::Rails::Engine
35
+ def initialize(initial_variable_values = T.unsafe(nil), &block); end
36
+
37
+ def asset_precompiled?(logical_path); end
38
+ def assets; end
39
+ def assets=(_); end
40
+ def assets_manifest; end
41
+ def assets_manifest=(_); end
42
+ def build_middleware_stack; end
43
+ def config; end
44
+ def config=(_); end
45
+ def config_for(name, env: T.unsafe(nil)); end
46
+ def console(&blk); end
47
+ def credentials; end
48
+ def default_url_options(*args, &block); end
49
+ def default_url_options=(arg); end
50
+ def eager_load!; end
51
+ def encrypted(path, key_path: T.unsafe(nil), env_key: T.unsafe(nil)); end
52
+ def env_config; end
53
+ def executor; end
54
+ def generators(&blk); end
55
+ def helpers_paths; end
56
+ def initialize!(group = T.unsafe(nil)); end
57
+ def initialized?; end
58
+ def initializer(name, opts = T.unsafe(nil), &block); end
59
+ def initializers; end
60
+ def isolate_namespace(mod); end
61
+ def key_generator; end
62
+ def message_verifier(verifier_name); end
63
+ def migration_railties; end
64
+ def precompiled_assets(clear_cache = T.unsafe(nil)); end
65
+ def rake_tasks(&block); end
66
+ def reload_routes!; end
67
+ def reloader; end
68
+ def reloaders; end
69
+ def require_environment!; end
70
+ def routes_reloader; end
71
+ def run_load_hooks!; end
72
+ def runner(&blk); end
73
+ def sandbox; end
74
+ def sandbox=(_); end
75
+ def sandbox?; end
76
+ def secret_key_base; end
77
+ def secrets; end
78
+ def secrets=(_); end
79
+ def to_app; end
80
+ def watchable_args; end
81
+
82
+ protected
83
+
84
+ def default_middleware_stack; end
85
+ def ordered_railties; end
86
+ def railties_initializers(current); end
87
+ def run_console_blocks(app); end
88
+ def run_generators_blocks(app); end
89
+ def run_runner_blocks(app); end
90
+ def run_tasks_blocks(app); end
91
+ def validate_secret_key_base(secret_key_base); end
92
+
93
+ private
94
+
95
+ def build_middleware; end
96
+ def build_request(env); end
97
+ def generate_development_secret; end
98
+
99
+ class << self
100
+ def add_lib_to_load_path!(root); end
101
+ def create(initial_variable_values = T.unsafe(nil), &block); end
102
+ def find_root(from); end
103
+ def inherited(base); end
104
+ def instance; end
105
+ end
106
+ end
107
+
108
+ class Rails::Application::Configuration < ::Rails::Engine::Configuration
109
+ def initialize(*_); end
110
+
111
+ def add_autoload_paths_to_load_path; end
112
+ def add_autoload_paths_to_load_path=(_); end
113
+ def allow_concurrency; end
114
+ def allow_concurrency=(_); end
115
+ def annotations; end
116
+ def api_only; end
117
+ def api_only=(value); end
118
+ def asset_host; end
119
+ def asset_host=(_); end
120
+ def autoflush_log; end
121
+ def autoflush_log=(_); end
122
+ def autoloader; end
123
+ def autoloader=(autoloader); end
124
+ def beginning_of_week; end
125
+ def beginning_of_week=(_); end
126
+ def cache_classes; end
127
+ def cache_classes=(_); end
128
+ def cache_store; end
129
+ def cache_store=(_); end
130
+ def colorize_logging; end
131
+ def colorize_logging=(val); end
132
+ def consider_all_requests_local; end
133
+ def consider_all_requests_local=(_); end
134
+ def console; end
135
+ def console=(_); end
136
+ def content_security_policy(&block); end
137
+ def content_security_policy_nonce_directives; end
138
+ def content_security_policy_nonce_directives=(_); end
139
+ def content_security_policy_nonce_generator; end
140
+ def content_security_policy_nonce_generator=(_); end
141
+ def content_security_policy_report_only; end
142
+ def content_security_policy_report_only=(_); end
143
+ def credentials; end
144
+ def credentials=(_); end
145
+ def database_configuration; end
146
+ def debug_exception_response_format; end
147
+ def debug_exception_response_format=(_); end
148
+ def default_log_file; end
149
+ def disable_sandbox; end
150
+ def disable_sandbox=(_); end
151
+ def eager_load; end
152
+ def eager_load=(_); end
153
+ def enable_dependency_loading; end
154
+ def enable_dependency_loading=(_); end
155
+ def encoding; end
156
+ def encoding=(value); end
157
+ def exceptions_app; end
158
+ def exceptions_app=(_); end
159
+ def feature_policy(&block); end
160
+ def file_watcher; end
161
+ def file_watcher=(_); end
162
+ def filter_parameters; end
163
+ def filter_parameters=(_); end
164
+ def filter_redirect; end
165
+ def filter_redirect=(_); end
166
+ def force_ssl; end
167
+ def force_ssl=(_); end
168
+ def helpers_paths; end
169
+ def helpers_paths=(_); end
170
+ def hosts; end
171
+ def hosts=(_); end
172
+ def load_database_yaml; end
173
+ def load_defaults(target_version); end
174
+ def loaded_config_version; end
175
+ def log_formatter; end
176
+ def log_formatter=(_); end
177
+ def log_level; end
178
+ def log_level=(_); end
179
+ def log_tags; end
180
+ def log_tags=(_); end
181
+ def logger; end
182
+ def logger=(_); end
183
+ def paths; end
184
+ def public_file_server; end
185
+ def public_file_server=(_); end
186
+ def railties_order; end
187
+ def railties_order=(_); end
188
+ def rake_eager_load; end
189
+ def rake_eager_load=(_); end
190
+ def read_encrypted_secrets; end
191
+ def read_encrypted_secrets=(_); end
192
+ def relative_url_root; end
193
+ def relative_url_root=(_); end
194
+ def reload_classes_only_on_change; end
195
+ def reload_classes_only_on_change=(_); end
196
+ def require_master_key; end
197
+ def require_master_key=(_); end
198
+ def secret_key_base; end
199
+ def secret_key_base=(_); end
200
+ def session_options; end
201
+ def session_options=(_); end
202
+ def session_store(new_session_store = T.unsafe(nil), **options); end
203
+ def session_store?; end
204
+ def ssl_options; end
205
+ def ssl_options=(_); end
206
+ def time_zone; end
207
+ def time_zone=(_); end
208
+ def x; end
209
+ def x=(_); end
210
+
211
+ private
212
+
213
+ def credentials_available_for_current_env?; end
214
+ def default_credentials_content_path; end
215
+ def default_credentials_key_path; end
216
+ end
217
+
218
+ Rails::Application::INITIAL_VARIABLES = T.let(T.unsafe(nil), Array)
219
+
220
+ class Rails::Engine < ::Rails::Railtie
221
+ def initialize; end
222
+
223
+ def app; end
224
+ def call(env); end
225
+ def config; end
226
+ def eager_load!; end
227
+ def endpoint; end
228
+ def engine_name(*args, &block); end
229
+ def env_config; end
230
+ def helpers; end
231
+ def helpers_paths; end
232
+ def isolated?(*args, &block); end
233
+ def load_console(app = T.unsafe(nil)); end
234
+ def load_generators(app = T.unsafe(nil)); end
235
+ def load_runner(app = T.unsafe(nil)); end
236
+ def load_seed; end
237
+ def load_tasks(app = T.unsafe(nil)); end
238
+ def middleware(*args, &block); end
239
+ def paths(*args, &block); end
240
+ def railties; end
241
+ def root(*args, &block); end
242
+ def routes(&block); end
243
+ def routes?; end
244
+
245
+ protected
246
+
247
+ def run_tasks_blocks(*_); end
248
+
249
+ private
250
+
251
+ def _all_autoload_once_paths; end
252
+ def _all_autoload_paths; end
253
+ def _all_load_paths(add_autoload_paths_to_load_path); end
254
+ def build_middleware; end
255
+ def build_request(env); end
256
+ def default_middleware_stack; end
257
+ def has_migrations?; end
258
+ def load_config_initializer(initializer); end
259
+ def with_inline_jobs; end
260
+
261
+ class << self
262
+ def called_from; end
263
+ def called_from=(_); end
264
+ def eager_load!(*args, &block); end
265
+ def endpoint(endpoint = T.unsafe(nil)); end
266
+ def engine_name(name = T.unsafe(nil)); end
267
+ def find(path); end
268
+ def find_root(from); end
269
+ def find_root_with_flag(flag, root_path, default = T.unsafe(nil)); end
270
+ def inherited(base); end
271
+ def isolate_namespace(mod); end
272
+ def isolated; end
273
+ def isolated=(_); end
274
+ def isolated?; end
275
+ end
276
+ end
277
+
278
+ module Sprockets
279
+ extend(::Sprockets::Utils)
280
+ extend(::Sprockets::URIUtils)
281
+ extend(::Sprockets::PathUtils)
282
+ extend(::Sprockets::DigestUtils)
283
+ extend(::Sprockets::PathDigestUtils)
284
+ extend(::Sprockets::Dependencies)
285
+ extend(::Sprockets::Compressing)
286
+ extend(::Sprockets::Exporting)
287
+ extend(::Sprockets::ProcessorUtils)
288
+ extend(::Sprockets::Processing)
289
+ extend(::Sprockets::HTTPUtils)
290
+ extend(::Sprockets::Transformers)
291
+ extend(::Sprockets::Mime)
292
+ extend(::Sprockets::Paths)
293
+ extend(::Sprockets::Configuration)
294
+ end
295
+
296
+ module Sprockets::Rails
297
+ end
298
+
299
+ module Sprockets::Rails::Context
300
+ include(::ActionView::Helpers::AssetUrlHelper)
301
+ include(::ActionView::Helpers::CaptureHelper)
302
+ include(::ActionView::Helpers::OutputSafetyHelper)
303
+ include(::ActionView::Helpers::TagHelper)
304
+ include(::ActionView::Helpers::AssetTagHelper)
305
+
306
+ def compute_asset_path(path, options = T.unsafe(nil)); end
307
+
308
+ class << self
309
+ def included(klass); end
310
+ end
311
+ end
312
+
313
+ module Sprockets::Rails::Helper
314
+ include(::ActionView::Helpers::AssetUrlHelper)
315
+ include(::ActionView::Helpers::CaptureHelper)
316
+ include(::ActionView::Helpers::OutputSafetyHelper)
317
+ include(::ActionView::Helpers::TagHelper)
318
+ include(::ActionView::Helpers::AssetTagHelper)
319
+ include(::Sprockets::Rails::Utils)
320
+
321
+ def asset_digest_path(path, options = T.unsafe(nil)); end
322
+ def asset_integrity(path, options = T.unsafe(nil)); end
323
+ def compute_asset_path(path, options = T.unsafe(nil)); end
324
+ def javascript_include_tag(*sources); end
325
+ def resolve_asset_path(path, allow_non_precompiled = T.unsafe(nil)); end
326
+ def stylesheet_link_tag(*sources); end
327
+
328
+ protected
329
+
330
+ def asset_resolver_strategies; end
331
+ def compute_integrity?(options); end
332
+ def legacy_debug_path(path, debug); end
333
+ def lookup_debug_asset(path, options = T.unsafe(nil)); end
334
+ def path_with_extname(path, options); end
335
+ def request_debug_assets?; end
336
+ def resolve_asset; end
337
+ def secure_subresource_integrity_context?; end
338
+
339
+ class << self
340
+ def extended(obj); end
341
+ def included(klass); end
342
+ end
343
+ end
344
+
345
+ class Sprockets::Rails::Helper::AssetNotFound < ::StandardError
346
+ end
347
+
348
+ class Sprockets::Rails::Helper::AssetNotPrecompiled < ::StandardError
349
+ include(::Sprockets::Rails::Utils)
350
+
351
+ def initialize(source); end
352
+ end
353
+
354
+ Sprockets::Rails::Helper::VIEW_ACCESSORS = T.let(T.unsafe(nil), Array)
355
+
356
+ module Sprockets::Rails::HelperAssetResolvers
357
+ class << self
358
+ def [](name); end
359
+ end
360
+ end
361
+
362
+ class Sprockets::Rails::HelperAssetResolvers::Environment
363
+ def initialize(view); end
364
+
365
+ def asset_path(path, digest, allow_non_precompiled = T.unsafe(nil)); end
366
+ def digest_path(path, allow_non_precompiled = T.unsafe(nil)); end
367
+ def find_debug_asset(path); end
368
+ def integrity(path); end
369
+
370
+ private
371
+
372
+ def find_asset(path, options = T.unsafe(nil)); end
373
+ def precompiled?(path); end
374
+ def raise_unless_precompiled_asset(path); end
375
+ end
376
+
377
+ class Sprockets::Rails::HelperAssetResolvers::Manifest
378
+ def initialize(view); end
379
+
380
+ def asset_path(path, digest, allow_non_precompiled = T.unsafe(nil)); end
381
+ def digest_path(path, allow_non_precompiled = T.unsafe(nil)); end
382
+ def find_debug_asset(path); end
383
+ def integrity(path); end
384
+
385
+ private
386
+
387
+ def metadata(path); end
388
+ end
389
+
390
+ class Sprockets::Rails::QuietAssets
391
+ def initialize(app); end
392
+
393
+ def call(env); end
394
+ end
395
+
396
+ module Sprockets::Rails::RouteWrapper
397
+ def internal?; end
398
+ def internal_assets_path?; end
399
+
400
+ class << self
401
+ def included(klass); end
402
+ end
403
+ end
404
+
405
+ module Sprockets::Rails::Utils
406
+ def using_sprockets4?; end
407
+ end
408
+
409
+ Sprockets::Rails::VERSION = T.let(T.unsafe(nil), String)
410
+
411
+ class Sprockets::Railtie < ::Rails::Railtie
412
+ include(::Sprockets::Rails::Utils)
413
+
414
+ def build_environment(app, initialized = T.unsafe(nil)); end
415
+
416
+ class << self
417
+ def build_manifest(app); end
418
+ end
419
+ end
420
+
421
+ Sprockets::Railtie::LOOSE_APP_ASSETS = T.let(T.unsafe(nil), Proc)
422
+
423
+ class Sprockets::Railtie::ManifestNeededError < ::StandardError
424
+ def initialize; end
425
+ end
426
+
427
+ class Sprockets::Railtie::OrderedOptions < ::ActiveSupport::OrderedOptions
428
+ def configure(&block); end
429
+ end
430
+
431
+ Sprockets::VERSION = T.let(T.unsafe(nil), String)