react_on_rails 13.3.5 → 13.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -2
- data/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
- data/.github/workflows/lint-js-and-ruby.yml +2 -2
- data/.github/workflows/main.yml +5 -5
- data/.github/workflows/rspec-package-specs.yml +1 -1
- data/CHANGELOG.md +77 -61
- data/Gemfile.development_dependencies +2 -3
- data/README.md +5 -0
- data/docs/additional-details/recommended-project-structure.md +6 -6
- data/docs/additional-details/tips-for-usage-with-sp6.md +15 -0
- data/docs/deployment/heroku-deployment.md +15 -11
- data/docs/getting-started.md +28 -27
- data/docs/guides/configuration.md +17 -17
- data/docs/guides/file-system-based-automated-bundle-generation.md +42 -50
- data/docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md +10 -10
- data/docs/guides/how-react-on-rails-works.md +1 -1
- data/docs/guides/installation-into-an-existing-rails-app.md +4 -4
- data/docs/guides/rails-webpacker-react-integration-options.md +4 -4
- data/docs/guides/react-on-rails-overview.md +6 -7
- data/docs/guides/rspec-configuration.md +11 -11
- data/docs/guides/tutorial.md +11 -14
- data/docs/guides/upgrading-react-on-rails.md +2 -2
- data/docs/guides/webpack-configuration.md +14 -14
- data/docs/home.md +3 -3
- data/docs/javascript/asset-pipeline.md +4 -4
- data/docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md +8 -8
- data/docs/javascript/server-rendering-tips.md +1 -1
- data/docs/javascript/troubleshooting-when-using-shakapacker.md +77 -0
- data/docs/outdated/rails-assets-relative-paths.md +1 -1
- data/docs/outdated/rails-assets.md +1 -1
- data/docs/react-on-rails-pro/react-on-rails-pro.md +1 -1
- data/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +41 -0
- data/lib/generators/react_on_rails/base_generator.rb +3 -47
- data/lib/generators/react_on_rails/generator_messages.rb +40 -0
- data/lib/generators/react_on_rails/install_generator.rb +21 -0
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev +2 -2
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/{webpacker.yml → shakapacker.yml} +3 -3
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/commonWebpackConfig.js.tt +3 -1
- data/lib/react_on_rails/helper.rb +23 -11
- data/lib/react_on_rails/packs_generator.rb +2 -0
- data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +1 -3
- data/lib/react_on_rails/version.rb +1 -1
- data/package.json +1 -1
- metadata +6 -3
@@ -313,20 +313,25 @@ module ReactOnRails
|
|
313
313
|
@rails_context.merge(serverSide: server_side)
|
314
314
|
end
|
315
315
|
|
316
|
-
def load_pack_for_generated_component(
|
317
|
-
|
316
|
+
def load_pack_for_generated_component(react_component_name, render_options)
|
317
|
+
return unless render_options.auto_load_bundle
|
318
318
|
|
319
|
-
|
319
|
+
ReactOnRails::WebpackerUtils.raise_nested_entries_disabled unless ReactOnRails::WebpackerUtils.nested_entries?
|
320
|
+
if Rails.env.development?
|
321
|
+
is_component_pack_present = File.exist?(generated_components_pack_path(react_component_name))
|
322
|
+
raise_missing_autoloaded_bundle(react_component_name) unless is_component_pack_present
|
323
|
+
end
|
324
|
+
append_javascript_pack_tag("generated/#{react_component_name}",
|
320
325
|
defer: ReactOnRails.configuration.defer_generated_component_packs)
|
321
|
-
append_stylesheet_pack_tag("generated/#{
|
326
|
+
append_stylesheet_pack_tag("generated/#{react_component_name}")
|
322
327
|
end
|
323
328
|
|
324
329
|
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity
|
325
330
|
|
326
331
|
private
|
327
332
|
|
328
|
-
def generated_components_pack_path(
|
329
|
-
"#{ReactOnRails::WebpackerUtils.webpacker_source_entry_path}/generated/#{
|
333
|
+
def generated_components_pack_path(react_component_name)
|
334
|
+
"#{ReactOnRails::WebpackerUtils.webpacker_source_entry_path}/generated/#{react_component_name}.js"
|
330
335
|
end
|
331
336
|
|
332
337
|
def build_react_component_result_for_server_rendered_string(
|
@@ -439,11 +444,7 @@ module ReactOnRails
|
|
439
444
|
# Create the HTML rendering part
|
440
445
|
result = server_rendered_react_component(render_options)
|
441
446
|
|
442
|
-
|
443
|
-
is_component_pack_present = File.exist?(generated_components_pack_path(react_component_name))
|
444
|
-
|
445
|
-
load_pack_for_generated_component(react_component_name) if is_component_pack_present
|
446
|
-
end
|
447
|
+
load_pack_for_generated_component(react_component_name, render_options)
|
447
448
|
|
448
449
|
{
|
449
450
|
render_options: render_options,
|
@@ -564,6 +565,17 @@ module ReactOnRails
|
|
564
565
|
instrument_method :react_component, type: "ReactOnRails", name: "react_component"
|
565
566
|
instrument_method :react_component_hash, type: "ReactOnRails", name: "react_component_hash"
|
566
567
|
end
|
568
|
+
|
569
|
+
def raise_missing_autoloaded_bundle(react_component_name)
|
570
|
+
msg = <<~MSG
|
571
|
+
**ERROR** ReactOnRails: Component "#{react_component_name}" is configured as "auto_load_bundle: true"
|
572
|
+
but the generated component entrypoint, which should have been at #{generated_components_pack_path(react_component_name)},
|
573
|
+
is missing. You might want to check that this component is in a directory named "#{ReactOnRails.configuration.components_subdirectory}"
|
574
|
+
& that "bundle exec rake react_on_rails:generate_packs" has been run.
|
575
|
+
MSG
|
576
|
+
|
577
|
+
raise ReactOnRails::Error, msg
|
578
|
+
end
|
567
579
|
end
|
568
580
|
end
|
569
581
|
# rubocop:enable Metrics/ModuleLength
|
@@ -13,6 +13,8 @@ module ReactOnRails
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def generate_packs_if_stale
|
16
|
+
return unless ReactOnRails.configuration.auto_load_bundle
|
17
|
+
|
16
18
|
are_generated_files_present_and_up_to_date = Dir.exist?(generated_packs_directory_path) &&
|
17
19
|
File.exist?(generated_server_bundle_file_path) &&
|
18
20
|
!stale_or_missing_packs?
|
@@ -113,9 +113,7 @@ module ReactOnRails
|
|
113
113
|
|
114
114
|
def eval_js(js_code, _render_options)
|
115
115
|
@js_context_pool.with do |js_context|
|
116
|
-
|
117
|
-
js_context.eval("console.history = []")
|
118
|
-
result
|
116
|
+
js_context.eval(js_code)
|
119
117
|
end
|
120
118
|
end
|
121
119
|
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_on_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gordon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -157,6 +157,7 @@ files:
|
|
157
157
|
- docs/additional-details/manual-installation-overview.md
|
158
158
|
- docs/additional-details/migrating-from-react-rails.md
|
159
159
|
- docs/additional-details/recommended-project-structure.md
|
160
|
+
- docs/additional-details/tips-for-usage-with-sp6.md
|
160
161
|
- docs/additional-details/updating-dependencies.md
|
161
162
|
- docs/additional-details/upgrade-webpacker-v3-to-v4.md
|
162
163
|
- docs/api/javascript-api.md
|
@@ -203,6 +204,7 @@ files:
|
|
203
204
|
- docs/javascript/react-helmet.md
|
204
205
|
- docs/javascript/react-router.md
|
205
206
|
- docs/javascript/server-rendering-tips.md
|
207
|
+
- docs/javascript/troubleshooting-when-using-shakapacker.md
|
206
208
|
- docs/javascript/troubleshooting-when-using-webpacker.md
|
207
209
|
- docs/javascript/webpack-v1-notes.md
|
208
210
|
- docs/javascript/webpack.md
|
@@ -225,6 +227,7 @@ files:
|
|
225
227
|
- docs/testimonials/testimonials.md
|
226
228
|
- jest.config.js
|
227
229
|
- lib/generators/USAGE
|
230
|
+
- lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb
|
228
231
|
- lib/generators/react_on_rails/base_generator.rb
|
229
232
|
- lib/generators/react_on_rails/bin/dev
|
230
233
|
- lib/generators/react_on_rails/bin/dev-static
|
@@ -247,6 +250,7 @@ files:
|
|
247
250
|
- lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb
|
248
251
|
- lib/generators/react_on_rails/templates/base/base/babel.config.js.tt
|
249
252
|
- lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb
|
253
|
+
- lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml
|
250
254
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/clientWebpackConfig.js.tt
|
251
255
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/commonWebpackConfig.js.tt
|
252
256
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/development.js.tt
|
@@ -255,7 +259,6 @@ files:
|
|
255
259
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/test.js.tt
|
256
260
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/webpack.config.js.tt
|
257
261
|
- lib/generators/react_on_rails/templates/base/base/config/webpack/webpackConfig.js.tt
|
258
|
-
- lib/generators/react_on_rails/templates/base/base/config/webpacker.yml
|
259
262
|
- lib/generators/react_on_rails/templates/dev_tests/.eslintrc
|
260
263
|
- lib/generators/react_on_rails/templates/dev_tests/.rspec
|
261
264
|
- lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb
|