-
-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not pusing mini_racer in default install. Closes #1438 #1437
Conversation
… it has less problems than mini_racer
8245fac
to
e10b3f5
Compare
From my perspective:
I've ran a few tests on my app that is using Happy for this one to go, will add some minor comments. |
1 similar comment
From my perspective:
I've ran a few tests on my app that is using Happy for this one to go, will add some minor comments. |
@@ -4,7 +4,7 @@ | |||
|
|||
In most cases, you should use the `prerender: false` (default behavior) with the provided helper method to render the React component from your Rails views. In some cases, such as when SEO is vital, or many users will not have JavaScript enabled, you can enable server-rendering by passing `prerender: true` to your helper, or you can simply change the default in `config/initializers/react_on_rails`. | |||
|
|||
Now the server will interpret your JavaScript. The default is to use [ExecJS](https://github.com/rails/execjs) and pass the resulting HTML to the client. We recommend using [mini_racer](https://github.com/discourse/mini_racer) as ExecJS's runtime. | |||
Now the server will interpret your JavaScript. The default is to use Node.js. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think ExecJS will still be used behind the scenes but with Node.js rather than mini_racer
. Maybe change this to reflect this and tell people they've got choice of alternative runtimes, as documented in ExecJS readme?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be my suggestion too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, can anything other than ExecJS be used? If not, the correct phrasing could be something like "Now the server will interpret your JavaScript using ExecJS. You can pick the engine as described in the documentation." If yes, this is a good place to explain how.
@@ -137,14 +137,14 @@ ReactOnRails.configure do |config| | |||
################################################################################ | |||
# Server Renderer Configuration for ExecJS | |||
################################################################################ | |||
# The default server rendering is ExecJS, probably using the mini_racer gem | |||
# The default server rendering is Node.js |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As above, still will be ExecJS but with Node runtime
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but since it already says "for ExecJS" just 2 lines above I don't know if it needs to be said again.
@@ -137,14 +137,14 @@ ReactOnRails.configure do |config| | |||
################################################################################ | |||
# Server Renderer Configuration for ExecJS | |||
################################################################################ | |||
# The default server rendering is ExecJS, probably using the mini_racer gem | |||
# The default server rendering is Node.js |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As above, still will be ExecJS but with Node runtime
# If you wish to use an alternative Node server rendering for higher performance, | ||
# contact justin@shakacode.com for details. | ||
# | ||
# For ExecJS: | ||
# You can configure your pool of JS virtual machines and specify where it should load code: | ||
# On MRI, use `mini_racer` for the best performance | ||
# (see [discussion](https://github.com/reactjs/react-rails/pull/290)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The discussion there has shown that mini_racer performed better than Node. That was quite a few years back, would be good to link to any benchmarks supporting the fact that Node is more peformant
# If you wish to use an alternative Node server rendering for higher performance, | ||
# contact justin@shakacode.com for details. | ||
# | ||
# For ExecJS: | ||
# You can configure your pool of JS virtual machines and specify where it should load code: | ||
# On MRI, use `mini_racer` for the best performance | ||
# (see [discussion](https://github.com/reactjs/react-rails/pull/290)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The discussion there has shown that mini_racer performed better than Node. That was quite a few years back, would be good to link to any benchmarks supporting the fact that Node is more peformant
@@ -73,7 +73,6 @@ def copy_webpacker_config | |||
end | |||
|
|||
def add_base_gems_to_gemfile | |||
gem "mini_racer", platforms: :ruby |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have a changelog entry reflecting that. If users already have mini_racer
in their Gemfiles, nothing will change. We should note that it's been removed and ask users to also remove and test their apps for any changes
@@ -73,7 +73,6 @@ def copy_webpacker_config | |||
end | |||
|
|||
def add_base_gems_to_gemfile | |||
gem "mini_racer", platforms: :ruby |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have a changelog entry reflecting that. If users already have mini_racer
in their Gemfiles, nothing will change. We should note that it's been removed and ask users to also remove and test their apps for any changes
node is used by default and usually it has less problems than mini_racer.
react_on_rails shouldn't push
mini_racer
in new installations. This patch removes such behavior.This change is