- Notifications
You must be signed in to change notification settings - Fork 189
Closed
Description
Using versions: tailwindcss-rails 4.1.8
and rails 8.0.2
.
Rails projects created with the --skip-system-test --css=tailwind
combination of arguments get an exception when using the rails scaffold generator due to some code in this project.
To reproduce:
rails new --skip-system-test --css=tailwind bugdemo cd bugdemo rails generate scaffold demobug
That results in this stack trace:
rails generate scaffold demobug invoke active_record create db/migrate/20250701122835_create_demobugs.rb create app/models/demobug.rb invoke test_unit create test/models/demobug_test.rb create test/fixtures/demobugs.yml invoke resource_route route resources :demobugs invoke scaffold_controller create app/controllers/demobugs_controller.rb invoke tailwindcss create app/views/demobugs create app/views/demobugs/index.html.erb create app/views/demobugs/edit.html.erb create app/views/demobugs/show.html.erb create app/views/demobugs/new.html.erb create app/views/demobugs/_form.html.erb create app/views/demobugs/_demobug.html.erb invoke resource_route invoke test_unit create test/controllers/demobugs_controller_test.rb gsub test/system/demobugs_test.rb /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/actions/file_manipulation.rb:271:in 'IO.binread': No such file or directory @ rb_sysopen - /Users/rob/workspace/bugdemo/test/system/demobugs_test.rb (Errno::ENOENT) from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/actions/file_manipulation.rb:271:in 'Thor::Actions#gsub_file' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/tailwindcss-rails-4.2.3/lib/generators/test_unit/scaffold/scaffold_generator.rb:8:in 'TestUnit::Generators::ScaffoldGenerator#fix_system_test' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/command.rb:28:in 'Thor::Command#run' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'block in Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Hash#each' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Enumerable#map' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:243:in 'Thor::Group.dispatch' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:116:in 'Thor::Invocation#invoke' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:288:in 'block in Thor::Group#_invoke_for_class_method' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/shell.rb:68:in 'Thor::Shell#with_padding' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:277:in 'Thor::Group#_invoke_for_class_method' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:134:in 'Rails::Generators::ScaffoldControllerGenerator#_invoke_from_option_test_framework' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/command.rb:28:in 'Thor::Command#run' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'block in Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Hash#each' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Enumerable#map' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:243:in 'Thor::Group.dispatch' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:116:in 'Thor::Invocation#invoke' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:288:in 'block in Thor::Group#_invoke_for_class_method' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/shell.rb:68:in 'Thor::Shell#with_padding' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:277:in 'Thor::Group#_invoke_for_class_method' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:134:in 'Rails::Generators::ScaffoldGenerator#_invoke_from_option_scaffold_controller' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/command.rb:28:in 'Thor::Command#run' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'block in Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Hash#each' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Enumerable#map' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:134:in 'Thor::Invocation#invoke_all' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/group.rb:243:in 'Thor::Group.dispatch' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/base.rb:584:in 'Thor::Base::ClassMethods#start' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/generators.rb:265:in 'Rails::Generators.invoke' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/commands/generate/generate_command.rb:26:in 'Rails::Command::GenerateCommand#perform' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/command.rb:28:in 'Thor::Command#run' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/command/base.rb:178:in 'Rails::Command::Base#invoke_command' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/thor-1.3.2/lib/thor.rb:538:in 'Thor.dispatch' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/command/base.rb:73:in 'Rails::Command::Base.perform' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/command.rb:65:in 'block in Rails::Command.invoke' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/command.rb:143:in 'Rails::Command.with_argv' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/command.rb:63:in 'Rails::Command.invoke' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/commands.rb:18:in '<main>' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require' from /Users/rob/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in 'Kernel#require' from bin/rails:4:in '<main>'
The issue seems to be this bit of code assuming a system test file exists:
gsub_file File.join("test/system", class_path, "#{file_name.pluralize}_test.rb"), |
Metadata
Metadata
Assignees
Labels
No labels