Update both demos to react_on_rails 16.3.0.rc.2#108
Conversation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
WalkthroughUpdate demo apps to use react_on_rails 16.3.0-rc.2 (Ruby gem and JS package), overhaul root package.json with expanded scripts, dependencies, and tooling, and replace static CI demo matrix with dynamic detect-and-test workflow in GitHub Actions. Changes
Sequence Diagram(s)sequenceDiagram
participant PR as "PR / Commit"
participant CI as "GitHub Actions"
participant Detector as "detect-changed-demos job"
participant Matrix as "test-demos (matrix runner)"
participant Runner as "Job Runner"
participant Postgres as "Postgres service"
participant App as "demo app (Ruby/Node)"
PR->>CI: push / open PR
CI->>Detector: run detection (diff vs base)
Detector-->>CI: outputs demos[] and has_changes
alt has_changes == true
CI->>Matrix: for each demo in demos[]
Matrix->>Runner: checkout & setup (Ruby, Node) in demos/<demo>
Runner->>Postgres: start service
Runner->>App: DB create/migrate/schema load
Runner->>App: install deps & compile assets
Runner->>App: run RuboCop
Runner->>App: run RSpec (if present)
Runner->>App: run Playwright (if present)
App-->>Runner: test results
Runner-->>Matrix: report status
else no changes
Detector-->>CI: skip test-demos
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Pull Request Review - react_on_rails 16.3.0.rc.2 UpgradeSummaryThis PR updates react_on_rails from 16.1.x to 16.3.0.rc.2 in both demo applications. The upgrade follows the CLAUDE.md guidelines by only updating version numbers and lock files without regenerating configuration files. Positive Findings1. Correct Upgrade Approach
2. Consistent Updates Across Both DemosBoth demos received identical updates:
3. Expected Dependency UpdatesTransitive dependency updates are appropriate:
Issues and Concerns1. Root package.json Appears Duplicated (MAJOR)The root package.json appears to have been replaced with the webpack demos package.json: Evidence:
Recommendation:
2. Version Constraint Changes (MINOR)Gemfile constraints changed from flexible to exact:
Analysis:
Security and PerformanceSecurity:
Performance:
Test CoverageAdditional recommended tests:
RecommendationsCritical:
Before Merging: Post-Merge: Compliance with CLAUDE.md
Final VerdictOverall Assessment: Good upgrade approach with one major concern The core upgrade follows best practices and CLAUDE.md guidelines correctly. However, the root package.json change needs clarification before merging. Recommended Action: Request clarification on the root package.json change, then approve pending test completion. Review generated with Claude Code |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@demos/basic-v16-rspack/package.json`:
- Line 18: The package version for the dependency "react-on-rails" in
package.json is invalid (16.3.0-rc.2); update the version string in the
dependencies section for "react-on-rails" to a released version (for example
"16.2.1" or the latest available RC "16.2.0-rc.0") so npm install will
succeed—locate the "react-on-rails" entry in package.json and replace the
version specifier accordingly.
| "react": "^19.2.0", | ||
| "react-dom": "^19.2.0", | ||
| "react-on-rails": "^16.1.1", | ||
| "react-on-rails": "16.3.0-rc.2", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
react-on-rails 16.3.0-rc.2 release notes npm
💡 Result:
I couldn’t find any public npm release (or release notes page) for react-on-rails@16.3.0-rc.2.
What is publicly visible:
- unpkg shows an RC at
react-on-rails@16.2.0-rc.0(so RCs exist, but not16.3.0-rc.2). (app.unpkg.com) - Yarn Classic package page lists the
rcdist-tag as16.0.1-rc.4and thelatestdist-tag as16.2.0-beta.19(Dec 11, 2025). (classic.yarnpkg.com) - The Ruby gem (
react_on_rails) has releases up through16.2.1(Jan 18, 2026). (rubygems.org)
If you expected 16.3.0-rc.2 to exist on npm, it may be a typo, a private/internal publish, or an unpublished tag. The quickest verification is running locally: npm view react-on-rails versions --json and searching for 16.3.0-rc.2.
Citations:
- 1: https://app.unpkg.com/react-on-rails%4016.2.0-rc.0/files/package.json?utm_source=openai
- 2: https://classic.yarnpkg.com/en/package/react-on-rails?utm_source=openai
- 3: https://rubygems.org/gems/react_on_rails/versions/16.1.1?utm_source=openai
🌐 Web query:
react-on-rails 16.3.0 React 19 Shakapacker 9.3 compatibility
💡 Result:
- React on Rails “16.3.0”: I couldn’t find a 16.3.0 release on RubyGems (or in the repo’s visible GitHub tags). The latest Ruby gem releases shown are 16.2.1 (Jan 18, 2026) and 16.2.0 (Jan 15, 2026). [1]
- Shakapacker 9.3.x compatibility: React on Rails 16’s README states it is CI tested with Shakapacker 8.2.0–9.5.0, so Shakapacker 9.3.0 (released Nov 2, 2025) is within the tested/supported range. [2][3]
- React 19 compatibility:
- The public README positions React on Rails as “React 18+” and explicitly says React on Rails Pro supports the latest features of React 19 (RSC/streaming)—implying React 19 feature-level support is a Pro focus, not a guaranteed OSS support statement. [3]
- Practically: React 19 client rendering will likely work, but SSR/streaming/RSC with React 19 is the area most likely to require Pro and/or specific setup. [3]
If you meant the npm package react-on-rails@16.3.0 specifically, paste your package.json (or the install error) and I can confirm by checking its peerDependencies and any 16.3.0 release notes.
Sources:
[1] https://rubygems.org/gems/react_on_rails/versions/16.1.1?locale=en
[2] https://rubygems.org/gems/shakapacker/versions/9.3.0
[3] https://github.com/shakacode/react_on_rails
The npm package version react-on-rails@16.3.0-rc.2 does not exist in the public npm registry. The latest RC release available is 16.2.0-rc.0, and the latest stable release is 16.2.0-beta.19 (Dec 11, 2025) on npm, with 16.2.1 available as the Ruby gem. This version specification will fail during npm install. Use an actual released version such as 16.2.1 instead.
🤖 Prompt for AI Agents
In `@demos/basic-v16-rspack/package.json` at line 18, The package version for the
dependency "react-on-rails" in package.json is invalid (16.3.0-rc.2); update the
version string in the dependencies section for "react-on-rails" to a released
version (for example "16.2.1" or the latest available RC "16.2.0-rc.0") so npm
install will succeed—locate the "react-on-rails" entry in package.json and
replace the version specifier accordingly.
- Add detect-changed-demos job that outputs a JSON array of changed demo names - Use dynamic matrix with fromJson() to create parallel test jobs - Only run test-demos when demos actually changed - Add proper PostgreSQL service for Rails tests - Include RuboCop, RSpec, and Playwright test steps - Build assets before running tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Pull Request ReviewSummaryThis PR updates both demo applications (rspack and webpack) to react_on_rails 16.3.0.rc.2. The changes follow the upgrade guidelines specified in CLAUDE.md and include improvements to the CI workflow. Positive Observations✅ Follows CLAUDE.md GuidelinesThe upgrade correctly follows the critical upgrade guidelines from CLAUDE.md:
✅ Consistent UpdatesBoth demos were updated consistently:
✅ CI Workflow ImprovementsThe .github/workflows/ci.yml changes add a smart demo detection system:
Issues and Concerns
|
Summary
Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit
Dependency Updates
Improvements
Chores (CI)