Skip to content

Upgrade React on Rails and ShakaPacker to RC builds#710

Merged
justin808 merged 1 commit intomasterfrom
jg/upgrade-ror-shakapacker
Apr 4, 2026
Merged

Upgrade React on Rails and ShakaPacker to RC builds#710
justin808 merged 1 commit intomasterfrom
jg/upgrade-ror-shakapacker

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Apr 3, 2026

Bumps React on Rails and ShakaPacker to the newly published RC versions in both Ruby and npm manifests.
Updates Gemfile.lock and yarn.lock to the matching resolved RC packages only, with no unrelated dependency churn.
Validation included Ruby and Yarn version checks, and yarn build:test currently fails in this repo because client/app/generated/server-bundle-generated.js is missing.

Summary by CodeRabbit

  • Chores
    • Updated frontend framework and bundler tool dependencies to latest release candidate versions.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2026

🚀 Quick Review App Commands

Welcome! Here are the commands you can use in this PR:

/deploy-review-app

Deploy your PR branch for testing

/delete-review-app

Remove the review app when done

/help

Show detailed instructions, environment setup, and configuration options.


@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 3, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 89ff5b4b-ec8a-47d8-b274-f66d0196f61c

📥 Commits

Reviewing files that changed from the base of the PR and between 0d87508 and 7249d85.

⛔ Files ignored due to path filters (2)
  • Gemfile.lock is excluded by !**/*.lock
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (2)
  • Gemfile
  • package.json

Walkthrough

This PR updates two frontend integration dependencies to their release candidate versions—react_on_rails from 16.4.0 to 16.6.0.rc.0 and shakapacker from 9.7.0 to 10.0.0.rc.0—across both Ruby and JavaScript package managers.

Changes

Cohort / File(s) Summary
Frontend Integration Dependencies
Gemfile, package.json
Updated react_on_rails (16.4.0 → 16.6.0.rc.0) and shakapacker (9.7.0 → 10.0.0.rc.0) versions to release candidate releases in both Ruby gem and npm package manifests.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰✨ Two gems shine bright in RC glow,
React and Shakapacker steal the show,
Version bumps hop down the line,
Dependencies aligned, all fine!
Rails frontend tooling takes flight. 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and specifically describes the main change: upgrading React on Rails and ShakaPacker to RC versions, which matches the core modifications in both Gemfile and package.json.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg/upgrade-ror-shakapacker

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Apr 3, 2026

Greptile Summary

This PR bumps react_on_rails (Ruby + npm) from 16.4.016.6.0-rc.0 and shakapacker (Ruby + npm) from 9.7.010.0.0-rc.0 (a major version bump), updating both lock files to match. The changes are mechanically clean and limited to the four manifest/lock files.

  • Build is broken: The PR description's own build log shows a hard Module not found error for client/app/packs/server-bundle-generated.js. This file is generated by the react_on_rails:generate_packs rake task and must be present before merging; without it, the server bundle cannot compile.

Confidence Score: 4/5

Not safe to merge until the missing generated server bundle is committed or the generate_packs task is run as part of this PR.

The dependency version bumps themselves are clean, but the PR description explicitly confirms the build is broken due to a missing generated file. This is a P1 blocker that prevents the repo from building correctly after merge.

Gemfile — the missing client/app/packs/../generated/server-bundle-generated.js (produced by rake react_on_rails:generate_packs) must be committed or the rake task must run in CI before this is mergeable.

Important Files Changed

Filename Overview
Gemfile Bumps react_on_rails to 16.6.0.rc.0 and shakapacker to 10.0.0.rc.0 (major bump); build is known-broken per PR description due to missing generated server bundle.
Gemfile.lock Lock file correctly updated to match the Gemfile version constraints for react_on_rails and shakapacker; no unrelated churn.
package.json npm versions updated to match Ruby gems; exact RC version pins are appropriate for pre-release packages.
yarn.lock Lock file correctly resolves both RC packages from the npm registry; no unrelated dependency churn.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[master branch] -->|PR #710| B[Upgrade RC builds]
    B --> C[react_on_rails 16.4.0 → 16.6.0-rc.0]
    B --> D[shakapacker 9.7.0 → 10.0.0-rc.0]
    C --> E[Gemfile + Gemfile.lock]
    C --> F[package.json + yarn.lock]
    D --> E
    D --> F
    E --> G{Build status}
    F --> G
    G -->|Missing generated file| H["❌ Module not found:\nserver-bundle-generated.js"]
    G -->|Required step| I["rake react_on_rails:generate_packs"]
    I --> J["✅ Build succeeds"]
Loading

Reviews (1): Last reviewed commit: "Update React on Rails and ShakaPacker RC..." | Re-trigger Greptile

Comment thread Gemfile
Comment on lines +8 to +9
gem "react_on_rails", "16.6.0.rc.0"
gem "shakapacker", "10.0.0.rc.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Build is broken per the PR description

The PR description's own build output shows a hard error that prevents the app from functioning:

ERROR in ./client/app/packs/server-bundle.js 4:1-52
  × Module not found: Can't resolve './../generated/server-bundle-generated.js'

The server-bundle-generated.js file, which is expected to be produced by the react_on_rails:generate_packs rake task, is missing. The upgrade to react_on_rails 16.6.0.rc.0 / shakapacker 10.0.0.rc.0 appears to require this generated artefact, and it hasn't been committed or regenerated here. Merging this as-is will leave the repo in a broken state for anyone who pulls master.

Comment thread Gemfile

gem "react_on_rails", "16.4.0"
gem "shakapacker", "9.7.0"
gem "react_on_rails", "16.6.0.rc.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pinning to an RC version on the main branch is risky if this gem is used as a dependency reference by downstream projects. Consider whether this should live on a dedicated rc-testing branch until both gems reach stable release, or at minimum add a comment explaining the temporary nature of this pin.

Comment thread Gemfile
gem "react_on_rails", "16.4.0"
gem "shakapacker", "9.7.0"
gem "react_on_rails", "16.6.0.rc.0"
gem "shakapacker", "10.0.0.rc.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major version bump (9 → 10). Shakapacker 10.x may include breaking changes beyond just the version pin. The PR includes no code changes to configuration files (e.g. shakapacker.yml, webpack config) — please confirm that no configuration schema changes are required for v10, or link to the shakapacker migration guide.

Comment thread package.json
"react-dom": "^19.0.0",
"react-intl": "^6.4.4",
"react-on-rails": "16.4.0",
"react-on-rails": "16.6.0-rc.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rescript-react-on-rails package (line ~92) is still pinned to 1.1.0. Please verify it is compatible with react-on-rails@16.6.0-rc.0 — a major or minor version gap here can cause runtime issues with ReScript bindings.

@claude
Copy link
Copy Markdown

claude bot commented Apr 3, 2026

Review: Upgrade React on Rails and ShakaPacker to RC builds

Summary

The diff itself is clean — only the four manifest files are touched with no unrelated churn. Version format is correctly handled (16.6.0.rc.0 for RubyGems dot-notation vs 16.6.0-rc.0 for npm hyphen-notation).

That said, there are a few things worth resolving before merging:


🔴 Known broken build (blocker)

The PR description explicitly states:

yarn build:test currently fails in this repo because client/app/generated/server-bundle-generated.js is missing.

Merging with a known-broken test build means CI cannot validate the upgrade and any regression would be invisible. Options:

  • Generate the missing file as part of this PR, or
  • Open a follow-up issue and link it here so the breakage is tracked, and decide whether merging RC versions before the build is fixed is acceptable.

🟡 RC versions on the default branch

Pinning RC versions on master is fine for a tutorial repo that's actively testing pre-releases, but it carries two risks:

  1. API instability — RC gems/packages can change before stable release, which could silently break the tutorial.
  2. Downstream confusion — developers cloning the tutorial may unknowingly run on pre-release software.

Consider whether a short-lived rc-testing branch is more appropriate, or add a prominent note in the README that the current master intentionally tracks RC builds.


🟡 Shakapacker major version bump (9 → 10)

No webpack/shakapacker configuration files were changed. Please confirm:

  • shakapacker.yml schema is unchanged between v9 and v10
  • Webpack config helpers or environment files (config/webpack/*.js) don't require updates
  • The shakapacker v10 changelog/migration guide was reviewed for breaking changes

✅ What looks good

  • Lock files (Gemfile.lock, yarn.lock) are updated to match the new versions with no unrelated dependency churn.
  • Exact version pins (= 16.6.0.rc.0) prevent accidental upgrades to a different RC or stable release.
  • The integrity hashes in yarn.lock are present and match the resolved packages.

@justin808 justin808 merged commit 5cf245f into master Apr 4, 2026
17 checks passed
@justin808 justin808 deleted the jg/upgrade-ror-shakapacker branch April 4, 2026 09:53
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

✅ Review app for PR #710 was successfully deleted

View Completed Delete Logs

Control Plane Organization

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant