Skip to content

Commit 3905a07

Browse files
justin808claude
andcommitted
Fix CI failure by skipping version validation during generator runtime
The strict version validation added in #1881 runs during Rails initialization via an after_initialize hook. However, when running `rails generate react_on_rails:install`, the npm packages haven't been installed yet, causing the validation to fail with: "No React on Rails npm package is installed." This fix adds a check to skip validation when running Rails generators (detected by checking if ARGV.first is "generate" or "g"). The generator will install packages during its execution, so validation at initialization time is not appropriate. This allows CI to successfully run example generation tasks without errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 777bee2 commit 3905a07

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lib/react_on_rails/engine.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@ module ReactOnRails
66
class Engine < ::Rails::Engine
77
# Validate package versions and compatibility on Rails startup
88
# This ensures the application fails fast if versions don't match or packages are misconfigured
9-
# Skip validation during installation tasks (e.g., shakapacker:install)
9+
# Skip validation during installation tasks (e.g., shakapacker:install) or generator runtime
1010
initializer "react_on_rails.validate_version_and_package_compatibility" do
1111
config.after_initialize do
12+
# Skip validation when running Rails generators - they will install packages during execution
13+
running_generator = ARGV.first == "generate" || ARGV.first == "g"
14+
next if running_generator
15+
1216
# Skip validation if package.json doesn't exist yet (during initial setup)
1317
package_json = VersionChecker::NodePackageVersion.package_json_path
1418
next unless File.exist?(package_json)

0 commit comments

Comments
 (0)