Skip to content

Commit 79793d1

Browse files
committed
Preserve --asset-pipeline when running app:update
1 parent 2fb0595 commit 79793d1

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

railties/lib/rails/app_updater.rb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,22 @@ def generator_options
3131
options[:skip_action_cable] = !defined?(ActionCable::Engine)
3232
options[:skip_test] = !defined?(Rails::TestUnitRailtie)
3333
options[:skip_system_test] = Rails.application.config.generators.system_tests.nil?
34-
options[:skip_asset_pipeline] = !defined?(Sprockets::Railtie) && !defined?(Propshaft::Railtie)
34+
options[:asset_pipeline] = asset_pipeline
35+
options[:skip_asset_pipeline] = asset_pipeline.nil?
3536
options[:skip_bootsnap] = !defined?(Bootsnap)
3637
options
3738
end
39+
40+
def asset_pipeline
41+
case
42+
when defined?(Sprockets::Railtie)
43+
"sprockets"
44+
when defined?(Propshaft::Railtie)
45+
"propshaft"
46+
else
47+
nil
48+
end
49+
end
3850
end
3951
end
4052
end

railties/test/generators/app_generator_test.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,17 @@ def test_app_update_preserves_skip_system_test
316316
end
317317
end
318318

319+
def test_app_update_preserves_propshaft
320+
run_generator [destination_root, "-a", "propshaft"]
321+
322+
FileUtils.cd(destination_root) do
323+
config = "config/environments/production.rb"
324+
assert_no_changes -> { File.readlines(config).grep(/config\.assets/) } do
325+
run_app_update
326+
end
327+
end
328+
end
329+
319330
def test_gem_for_active_storage
320331
run_generator
321332
assert_file "Gemfile", /^# gem "image_processing"/

0 commit comments

Comments
 (0)