react-on-rails
Advanced tools
Changelog
[14.0.0] - 2024-04-03
Major bump because dropping support for Ruby 2.7 and deprecated webpackConfigLoader.js
.
webpackConfigLoader.js
PR 1600 by ahangarha.webpacker_precompile?
method and webpacker:clean
rake task when using Shakapacker v7+ PR 1592 by ahangarha.JsonOutput#escape
for an no-longer supported Rails version. Additionally, removed Utils.rails_version_less_than_4_1_1
which was only used in the workaround. PR 1580 by wwahammyChangelog
[13.4.0] - 2023-07-30
assets:precompile
if auto_load_bundle
is false
& components_subdirectory
is not set. PR 1567 by blackjack26 & judahmeek.component_subdirectory
configuration is not present. PR 1567 by blackjack26.Changelog
[13.3.0] - 2023-01-29
react_component
and react_component_hash
helpers, even when corresponding chunks are present. PR 1511 by pulkitkkr.components_subdirectory
. PR 1506 by pulkitkkr.Changelog
[13.2.0] - 2022-12-23
Changelog
[13.1.0] - 2022-08-20
Removed addition of mini_racer
gem by default. PR 1453 by vtamara and tomdracz.
Using mini_racer
makes most sense when deploying or building in environments that do not have Javascript runtime present. Since react_on_rails
requires Node.js, there's no reason to override ExecJS
runtime with mini_racer
.
To migrate this change, remove mini_racer
gem from your Gemfile
and test your app for correct behaviour. You can continue using mini_racer
and it will be still picked as the default ExecJS
runtime, if present in your app Gemfile
.
Upgraded the example test app in spec/dummy
to React 18. PR 1463 by alexeyr.
Added file-system-based automatic bundle generation feature. PR 1455 by pulkitkkr.
Fixed the You are importing hydrateRoot from "react-dom" [...] You should instead import it from "react-dom/client"
warning under React 18 (#1441). PR 1460 by alexeyr.
In exchange, you may see a warning like this when building using any version of React below 18:
WARNING in ./node_modules/react-on-rails/node_package/lib/reactHydrateOrRender.js19:25-52
Module not found: Error: Can't resolve 'react-dom/client' in '/home/runner/work/react_on_rails/react_on_rails/spec/dummy/node_modules/react-on-rails/node_package/lib'
@ ./node_modules/react-on-rails/node_package/lib/ReactOnRails.js 34:45-78
@ ./client/app/packs/client-bundle.js 5:0-42 32:0-23 35:0-21 59:0-26
It can be safely suppressed in your Webpack configuration.