Skip to content

Commit 5bd66fa

Browse files
authored
Merge pull request rails#54810 from brunoprietog/read-generator-options-properly
Read generator options properly
2 parents 2cf763e + 6746307 commit 5bd66fa

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

railties/lib/rails/generators/app_base.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ def jbuilder_gemfile_entry
494494
def javascript_gemfile_entry
495495
return if options[:skip_javascript]
496496

497-
if options[:javascript] == "importmap"
497+
if using_importmap?
498498
GemfileEntry.floats "importmap-rails", "Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]"
499499
else
500500
GemfileEntry.floats "jsbundling-rails", "Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]"
@@ -514,11 +514,11 @@ def hotwire_gemfile_entry
514514
end
515515

516516
def using_importmap?
517-
options[:javascript] == "importmap"
517+
!options.skip_javascript? && options[:javascript] == "importmap"
518518
end
519519

520520
def using_js_runtime?
521-
(options[:javascript] && !using_importmap?) || (options[:css] && !%w[tailwind sass].include?(options[:css]))
521+
!options.skip_javascript? && (!using_importmap? || (options[:css] && !%w[tailwind sass].include?(options[:css])))
522522
end
523523

524524
def using_node?

railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ class ApplicationController < ActionController::<%= options.api? ? "API" : "Base
22
<%- unless options.api? -%>
33
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
44
allow_browser versions: :modern
5-
<%- if options.using_importmap? -%>
5+
<%- if using_importmap? -%>
66

77
# Changes to the importmap will invalidate the etag for HTML responses
88
stale_when_importmap_changes

railties/lib/rails/generators/rails/app/templates/config/ci.rb.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ CI.run do
1010
<% if using_node? -%>
1111
step "Security: Yarn vulnerability audit", "yarn audit"
1212
<% end -%>
13-
<% if options[:javascript] == "importmap" && !options[:api] && !options[:skip_javascript] -%>
13+
<% if using_importmap? -%>
1414
step "Security: Importmap vulnerability audit", "bin/importmap audit"
1515
<% end -%>
1616
<% unless options.skip_brakeman? -%>

railties/lib/rails/generators/rails/app/templates/github/ci.yml.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
run: bin/bundler-audit
2828

2929
<% end -%>
30-
<%- if options[:javascript] == "importmap" && !options[:api] && !options[:skip_javascript] -%>
30+
<%- if using_importmap? -%>
3131
scan_js:
3232
runs-on: ubuntu-latest
3333

railties/test/generators/app_generator_test.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,10 +873,18 @@ def test_skip_javascript_option
873873
assert_no_gem "jsbundling-rails"
874874
assert_no_node_files
875875

876+
assert_file "app/controllers/application_controller.rb" do |content|
877+
assert_no_match(/importmap/, content)
878+
end
879+
876880
assert_file "config/initializers/content_security_policy.rb" do |content|
877881
assert_no_match(/policy\.connect_src/, content)
878882
end
879883

884+
assert_file "config/ci.rb" do |content|
885+
assert_no_match(/importmap|yarn/, content)
886+
end
887+
880888
assert_file ".gitattributes" do |content|
881889
assert_no_match(/yarn\.lock/, content)
882890
end

0 commit comments

Comments
 (0)