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,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)