From d45c412df2acdf8aa71eb54587947ac3a704de02 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Fri, 14 Sep 2018 11:30:07 -1000 Subject: [PATCH 1/3] Update configuration.md --- docs/basics/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/basics/configuration.md b/docs/basics/configuration.md index cea8c1a0c..1bed8e2bf 100644 --- a/docs/basics/configuration.md +++ b/docs/basics/configuration.md @@ -147,7 +147,7 @@ ReactOnRails.configure do |config| # Default is to false to NOT raise exception on server if the JS code throws. # Reason is that it's easier to debug this when you get the error over to the client. # - config.raise_on_prerender_error = false + config.raise_on_prerender_error = Rails.env.development? ################################################################################ # Server Renderer Configuration for ExecJS From d9dc56886f3e78fcbbbc83bbd3b42d50d39fba16 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 2 Oct 2018 21:21:53 -1000 Subject: [PATCH 2/3] WIP --- docs/api/view-helpers-api.md | 14 +++++++++----- lib/react_on_rails/configuration.rb | 3 +++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/api/view-helpers-api.md b/docs/api/view-helpers-api.md index 32096fc4e..304c504cc 100644 --- a/docs/api/view-helpers-api.md +++ b/docs/api/view-helpers-api.md @@ -10,14 +10,18 @@ Once the bundled files have been generated in your `app/assets/webpack` folder a ```ruby react_component(component_name, props: {}, - prerender: nil, - trace: nil, - replay_console: nil, - raise_on_prerender_error: nil, - id: nil, + prerender: nil) html_options: {}) ``` +Uncommonly used options: +``` + trace: nil, + replay_console: nil, + raise_on_prerender_error: nil, + id: nil, +``` + - **component_name:** Can be a React component, created using an ES6 class or a generator function that returns a React component (or, only on the server side, an object with shape { redirectLocation, error, renderedHtml }), or a "renderer function" that manually renders a React component to the dom (client side only). All options except `props, id, html_options` will inherit from your `react_on_rails.rb` initializer, as described [here](../basics/configuration.md). - **general options:** diff --git a/lib/react_on_rails/configuration.rb b/lib/react_on_rails/configuration.rb index c0e3bf1cc..b930586b3 100644 --- a/lib/react_on_rails/configuration.rb +++ b/lib/react_on_rails/configuration.rb @@ -22,6 +22,9 @@ def self.configuration replay_console: true, logging_on_server: true, raise_on_prerender_error: false, + # Should we change? + # raise_on_prerender_error: Rails.env.development?, + trace: Rails.env.development?, development_mode: Rails.env.development?, server_renderer_pool_size: DEFAULT_POOL_SIZE, From 73f32e1ddf0543daf09a9bb1ee6da8fce4883593 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Wed, 5 Dec 2018 18:43:53 -1000 Subject: [PATCH 3/3] Changed default for raise_on_prerender_error Now set to raise during development. config.raise_on_prerender_error = Rails.env.development? --- CHANGELOG.md | 9 +++++++++ docs/basics/configuration.md | 5 +++-- lib/react_on_rails/configuration.rb | 5 +---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58a258d06..10b16e16b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,15 @@ Changes since last non-beta release. - Enabled the use of webpack-dev-server with Server-side rendering. (https://github.com/shakacode/react_on_rails/pull/1173) by [justin808](https://github.com/justin808) and [judahmeek](https://github.com/judahmeek). +#### Changed +- Changed the default for: + ```rb + config.raise_on_prerender_error = Rails.env.development? + ``` + + Thus, developers will need to fix server rendering errors before continuing. + [PR 1145](https://github.com/shakacode/react_on_rails/pull/1145) by [justin808](https://github.com/justin808). + ### [11.1.8] - 2018-10-14 #### Improved diff --git a/docs/basics/configuration.md b/docs/basics/configuration.md index 1bed8e2bf..7919d849a 100644 --- a/docs/basics/configuration.md +++ b/docs/basics/configuration.md @@ -144,8 +144,9 @@ ReactOnRails.configure do |config| # config.logging_on_server = true - # Default is to false to NOT raise exception on server if the JS code throws. - # Reason is that it's easier to debug this when you get the error over to the client. + # Default is true only for development? to raise exception on server if the JS code throws for + # server rendering. The reason is that the server logs will show the error and force you to fix + # any server rendering issues immediately during development. # config.raise_on_prerender_error = Rails.env.development? diff --git a/lib/react_on_rails/configuration.rb b/lib/react_on_rails/configuration.rb index b930586b3..89e641f58 100644 --- a/lib/react_on_rails/configuration.rb +++ b/lib/react_on_rails/configuration.rb @@ -21,10 +21,7 @@ def self.configuration prerender: false, replay_console: true, logging_on_server: true, - raise_on_prerender_error: false, - # Should we change? - # raise_on_prerender_error: Rails.env.development?, - + raise_on_prerender_error: Rails.env.development?, trace: Rails.env.development?, development_mode: Rails.env.development?, server_renderer_pool_size: DEFAULT_POOL_SIZE,