react_on_rails 11.0.0 → 11.1.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.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +1 -1
  3. data/.travis.yml +2 -2
  4. data/CHANGELOG.md +80 -3
  5. data/CONTRIBUTING.md +7 -8
  6. data/{docs/LICENSE.md → LICENSE.md} +1 -1
  7. data/PROJECTS.md +7 -1
  8. data/README.md +175 -637
  9. data/Rakefile +4 -1
  10. data/SUMMARY.md +39 -26
  11. data/docs/additional-reading/convert-rails-5-api-only-app.md +19 -0
  12. data/docs/additional-reading/credits.md +10 -0
  13. data/docs/additional-reading/rails-assets-relative-paths.md +2 -2
  14. data/docs/additional-reading/rails-engine-integration.md +7 -0
  15. data/docs/additional-reading/server-rendering-tips.md +2 -4
  16. data/docs/additional-reading/webpack.md +2 -2
  17. data/docs/api/javascript-api.md +21 -1
  18. data/docs/api/redux-store-api.md +100 -0
  19. data/docs/api/view-helpers-api.md +130 -0
  20. data/docs/articles.md +20 -0
  21. data/docs/basics/client-vs-server-rendering.md +17 -0
  22. data/docs/basics/configuration.md +39 -5
  23. data/docs/basics/deployment.md +6 -0
  24. data/docs/basics/{generator.md → generator-details.md} +4 -7
  25. data/docs/basics/generator-functions-and-railscontext.md +157 -0
  26. data/docs/basics/how-react-on-rails-works.md +40 -0
  27. data/docs/basics/installation-into-an-existing-rails-app.md +64 -0
  28. data/docs/basics/react-server-rendering.md +27 -0
  29. data/docs/{additional-reading → basics}/recommended-project-structure.md +26 -4
  30. data/docs/{additional-reading → basics}/rspec-configuration.md +12 -6
  31. data/docs/basics/upgrading-react-on-rails.md +3 -3
  32. data/docs/basics/webpack-configuration.md +29 -0
  33. data/docs/misc/doctrine.md +1 -1
  34. data/docs/{additional-reading → misc-pending}/code-splitting.md +8 -2
  35. data/docs/{basics/installation-overview.md → misc-pending/manual-installation-overview.md} +3 -8
  36. data/docs/{additional-reading → misc-pending}/rails-assets.md +3 -1
  37. data/docs/testimonials.md +11 -0
  38. data/docs/tutorial.md +4 -4
  39. data/lib/generators/USAGE +1 -1
  40. data/lib/react_on_rails/configuration.rb +139 -97
  41. data/lib/react_on_rails/{react_on_rails_helper.rb → helper.rb} +104 -79
  42. data/lib/react_on_rails/json_parse_error.rb +26 -0
  43. data/lib/react_on_rails/prerender_error.rb +48 -6
  44. data/lib/react_on_rails/react_component/render_options.rb +94 -0
  45. data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +58 -50
  46. data/lib/react_on_rails/server_rendering_pool.rb +4 -16
  47. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +10 -6
  48. data/lib/react_on_rails/test_helper.rb +8 -7
  49. data/lib/react_on_rails/utils.rb +38 -6
  50. data/lib/react_on_rails/version.rb +1 -1
  51. data/lib/react_on_rails/version_syntax_converter.rb +14 -12
  52. data/lib/react_on_rails/webpacker_utils.rb +11 -8
  53. data/lib/react_on_rails.rb +4 -2
  54. data/package.json +3 -2
  55. data/rakelib/release.rake +1 -1
  56. data/react_on_rails.gemspec +2 -2
  57. metadata +32 -21
  58. data/docs/additional-reading/caching-and-performance.md +0 -4
  59. data/docs/additional-reading/node-server-rendering.md +0 -5
  60. data/docs/api/ruby-api.md +0 -8
  61. data/lib/react_on_rails/react_component/options.rb +0 -64
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: 11.0.0
4
+ version: 11.1.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: 2018-04-22 00:00:00.000000000 Z
11
+ date: 2018-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.2'
75
+ version: '3.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.2'
82
+ version: '3.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: awesome_print
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -308,16 +308,16 @@ dependencies:
308
308
  name: rubocop
309
309
  requirement: !ruby/object:Gem::Requirement
310
310
  requirements:
311
- - - '='
311
+ - - "~>"
312
312
  - !ruby/object:Gem::Version
313
- version: 0.55.0
313
+ version: 0.58.1
314
314
  type: :development
315
315
  prerelease: false
316
316
  version_requirements: !ruby/object:Gem::Requirement
317
317
  requirements:
318
- - - '='
318
+ - - "~>"
319
319
  - !ruby/object:Gem::Version
320
- version: 0.55.0
320
+ version: 0.58.1
321
321
  description: See README.md
322
322
  email:
323
323
  - justin@shakacode.com
@@ -342,6 +342,7 @@ files:
342
342
  - Gemfile
343
343
  - Gemfile.rails32
344
344
  - KUDOS.md
345
+ - LICENSE.md
345
346
  - NEWS.md
346
347
  - PROJECTS.md
347
348
  - README.md
@@ -350,29 +351,24 @@ files:
350
351
  - app/helpers/react_on_rails_helper.rb
351
352
  - book.json
352
353
  - docker-compose.yml
353
- - docs/LICENSE.md
354
354
  - docs/additional-reading/angular-js-integration-migration.md
355
355
  - docs/additional-reading/asset-pipeline.md
356
356
  - docs/additional-reading/babel.md
357
- - docs/additional-reading/caching-and-performance.md
358
357
  - docs/additional-reading/capistrano-deployment.md
359
- - docs/additional-reading/code-splitting.md
358
+ - docs/additional-reading/convert-rails-5-api-only-app.md
359
+ - docs/additional-reading/credits.md
360
360
  - docs/additional-reading/elastic-beanstalk.md
361
361
  - docs/additional-reading/foreman-issues.md
362
362
  - docs/additional-reading/heroku-deployment.md
363
363
  - docs/additional-reading/hot-reloading-rails-development.md
364
364
  - docs/additional-reading/images.md
365
365
  - docs/additional-reading/node-dependencies-and-npm.md
366
- - docs/additional-reading/node-server-rendering.md
367
366
  - docs/additional-reading/rails-assets-relative-paths.md
368
- - docs/additional-reading/rails-assets.md
369
367
  - docs/additional-reading/rails-engine-integration.md
370
368
  - docs/additional-reading/rails_view_rendering_from_inline_javascript.md
371
369
  - docs/additional-reading/react-and-redux.md
372
370
  - docs/additional-reading/react-helmet.md
373
371
  - docs/additional-reading/react-router.md
374
- - docs/additional-reading/recommended-project-structure.md
375
- - docs/additional-reading/rspec-configuration.md
376
372
  - docs/additional-reading/server-rendering-tips.md
377
373
  - docs/additional-reading/tips.md
378
374
  - docs/additional-reading/troubleshooting-when-using-webpacker.md
@@ -382,21 +378,35 @@ files:
382
378
  - docs/additional-reading/webpack-v1-notes.md
383
379
  - docs/additional-reading/webpack.md
384
380
  - docs/api/javascript-api.md
381
+ - docs/api/redux-store-api.md
385
382
  - docs/api/ruby-api-hot-reload-view-helpers.md
386
- - docs/api/ruby-api.md
383
+ - docs/api/view-helpers-api.md
384
+ - docs/articles.md
385
+ - docs/basics/client-vs-server-rendering.md
387
386
  - docs/basics/configuration.md
388
- - docs/basics/generator.md
387
+ - docs/basics/deployment.md
388
+ - docs/basics/generator-details.md
389
+ - docs/basics/generator-functions-and-railscontext.md
390
+ - docs/basics/how-react-on-rails-works.md
389
391
  - docs/basics/i18n.md
390
- - docs/basics/installation-overview.md
392
+ - docs/basics/installation-into-an-existing-rails-app.md
391
393
  - docs/basics/migrating-from-react-rails.md
394
+ - docs/basics/react-server-rendering.md
395
+ - docs/basics/recommended-project-structure.md
396
+ - docs/basics/rspec-configuration.md
392
397
  - docs/basics/upgrading-react-on-rails.md
398
+ - docs/basics/webpack-configuration.md
393
399
  - docs/coding-style/style.md
394
400
  - docs/contributor-info/generator-testing.md
395
401
  - docs/contributor-info/linters.md
396
402
  - docs/contributor-info/releasing.md
403
+ - docs/misc-pending/code-splitting.md
404
+ - docs/misc-pending/manual-installation-overview.md
405
+ - docs/misc-pending/rails-assets.md
397
406
  - docs/misc/code_of_conduct.md
398
407
  - docs/misc/doctrine.md
399
408
  - docs/misc/rails3.md
409
+ - docs/testimonials.md
400
410
  - docs/tutorial.md
401
411
  - lib/generators/USAGE
402
412
  - lib/generators/react_on_rails/base_generator.rb
@@ -435,11 +445,12 @@ files:
435
445
  - lib/react_on_rails/engine.rb
436
446
  - lib/react_on_rails/error.rb
437
447
  - lib/react_on_rails/git_utils.rb
448
+ - lib/react_on_rails/helper.rb
438
449
  - lib/react_on_rails/json_output.rb
450
+ - lib/react_on_rails/json_parse_error.rb
439
451
  - lib/react_on_rails/locales_to_js.rb
440
452
  - lib/react_on_rails/prerender_error.rb
441
- - lib/react_on_rails/react_component/options.rb
442
- - lib/react_on_rails/react_on_rails_helper.rb
453
+ - lib/react_on_rails/react_component/render_options.rb
443
454
  - lib/react_on_rails/server_rendering_pool.rb
444
455
  - lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb
445
456
  - lib/react_on_rails/test_helper.rb
@@ -497,7 +508,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
508
  version: '0'
498
509
  requirements: []
499
510
  rubyforge_project:
500
- rubygems_version: 2.6.14
511
+ rubygems_version: 2.7.7
501
512
  signing_key:
502
513
  specification_version: 4
503
514
  summary: Rails with react server rendering with webpack.
@@ -1,4 +0,0 @@
1
- # Caching and Performance
2
-
3
- Caching and performance optimizations are now part of React on Rails Pro. For more information,
4
- [contact Justin](mailto:justin@shakacode.com).
@@ -1,5 +0,0 @@
1
- # Node.js for Server Rendering
2
-
3
- Node.js can be used as the backend for server-side rendering instead of [execJS](https://github.com/rails/execjs). Before you try this, consider the tradeoff of extra complexity with your deployments versus *potential* performance gains. While often ExecJS with [mini_racer](https://github.com/discourse/mini_racer) is "fast enough", we've heard of other large websites using Node.js for better server rendering performance.
4
-
5
- If you want to use a node server for server rendering, [get in touch](mailto:justin@shakacode.com). ShakaCode has built a premium Node rendering server for React on Rails.
data/docs/api/ruby-api.md DELETED
@@ -1,8 +0,0 @@
1
- # View Helpers
2
- See the [app/helpers/react_on_rails_helper.rb](../../app/helpers/react_on_rails_helper.rb) source.
3
-
4
- # Controller Helpers
5
- See the [lib/react_on_rails/controller.rb](../../lib/react_on_rails/controller.rb) source.
6
-
7
- # Utility Methods
8
- See the [lib/react_on_rails/utils.rb](../../lib/react_on_rails/utils.rb) source.
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "react_on_rails/utils"
4
-
5
- module ReactOnRails
6
- module ReactComponent
7
- class Options
8
- include Utils::Required
9
-
10
- NO_PROPS = {}.freeze
11
-
12
- def initialize(name: required("name"), options: required("options"))
13
- @name = name
14
- @options = options
15
- end
16
-
17
- def props
18
- options.fetch(:props) { NO_PROPS }
19
- end
20
-
21
- def name
22
- @name.camelize
23
- end
24
-
25
- def dom_id
26
- @dom_id ||= options.fetch(:id) { generate_unique_dom_id }
27
- end
28
-
29
- def html_options
30
- options[:html_options].to_h
31
- end
32
-
33
- def prerender
34
- retrieve_key(:prerender)
35
- end
36
-
37
- def trace
38
- retrieve_key(:trace)
39
- end
40
-
41
- def replay_console
42
- retrieve_key(:replay_console)
43
- end
44
-
45
- def raise_on_prerender_error
46
- retrieve_key(:raise_on_prerender_error)
47
- end
48
-
49
- private
50
-
51
- attr_reader :options
52
-
53
- def generate_unique_dom_id
54
- "#{@name}-react-component-#{SecureRandom.uuid}"
55
- end
56
-
57
- def retrieve_key(key)
58
- options.fetch(key) do
59
- ReactOnRails.configuration.public_send(key)
60
- end
61
- end
62
- end
63
- end
64
- end