react_on_rails 10.0.0 → 11.0.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +4 -0
  3. data/.rubocop.yml +2 -2
  4. data/.travis.yml +3 -0
  5. data/CHANGELOG.md +81 -88
  6. data/CONTRIBUTING.md +0 -7
  7. data/Dockerfile_tests +12 -0
  8. data/Gemfile +8 -13
  9. data/NEWS.md +2 -0
  10. data/PROJECTS.md +10 -2
  11. data/README.md +137 -121
  12. data/app/helpers/react_on_rails_helper.rb +1 -533
  13. data/docker-compose.yml +11 -0
  14. data/docs/additional-reading/caching-and-performance.md +4 -0
  15. data/docs/additional-reading/capistrano-deployment.md +18 -0
  16. data/docs/additional-reading/elastic-beanstalk.md +53 -33
  17. data/docs/additional-reading/server-rendering-tips.md +4 -4
  18. data/docs/additional-reading/troubleshooting-when-using-webpacker.md +90 -0
  19. data/docs/api/ruby-api.md +7 -2
  20. data/docs/basics/configuration.md +23 -9
  21. data/docs/basics/i18n.md +4 -0
  22. data/docs/basics/upgrading-react-on-rails.md +181 -0
  23. data/docs/tutorial.md +7 -11
  24. data/lib/generators/react_on_rails/base_generator.rb +6 -3
  25. data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
  26. data/lib/generators/react_on_rails/install_generator.rb +1 -1
  27. data/lib/generators/react_on_rails/react_no_redux_generator.rb +1 -1
  28. data/lib/generators/react_on_rails/react_with_redux_generator.rb +2 -2
  29. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +1 -1
  30. data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +3 -2
  31. data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +2 -2
  32. data/lib/react_on_rails/assets_precompile.rb +8 -4
  33. data/lib/react_on_rails/configuration.rb +34 -20
  34. data/lib/react_on_rails/error.rb +4 -0
  35. data/lib/react_on_rails/locales_to_js.rb +2 -2
  36. data/lib/react_on_rails/prerender_error.rb +2 -2
  37. data/lib/react_on_rails/react_on_rails_helper.rb +547 -0
  38. data/lib/react_on_rails/server_rendering_pool/{exec.rb → ruby_embedded_java_script.rb} +37 -40
  39. data/lib/react_on_rails/server_rendering_pool.rb +21 -10
  40. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +2 -2
  41. data/lib/react_on_rails/test_helper.rb +1 -1
  42. data/lib/react_on_rails/utils.rb +14 -52
  43. data/lib/react_on_rails/version.rb +1 -1
  44. data/lib/react_on_rails/version_checker.rb +33 -12
  45. data/lib/react_on_rails/webpacker_utils.rb +42 -0
  46. data/lib/react_on_rails.rb +3 -2
  47. data/package.json +2 -5
  48. data/rakelib/dummy_apps.rake +2 -1
  49. data/rakelib/example_type.rb +1 -1
  50. data/rakelib/examples.rake +3 -2
  51. data/rakelib/lint.rake +3 -2
  52. data/rakelib/node_package.rake +2 -1
  53. data/rakelib/release.rake +4 -5
  54. data/rakelib/run_rspec.rake +3 -4
  55. data/rakelib/task_helpers.rb +1 -1
  56. data/react_on_rails.gemspec +23 -13
  57. data/yarn.lock +3 -39
  58. metadata +75 -49
  59. data/lib/react_on_rails/server_rendering_pool/node.rb +0 -83
  60. data/lib/react_on_rails/test_helper/node_process_launcher.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1c3ced829061ca6995dd0f55349112955883e87b
4
- data.tar.gz: be160b38edcaa90ae64ce0ea69a029f48505968b
3
+ metadata.gz: 31c09a3e5f99dd68c101be042157d0df07ce3d28
4
+ data.tar.gz: c1b5a351538f6f66b02fd6b7d9dbc9016f9b7a5a
5
5
  SHA512:
6
- metadata.gz: 69f0ea0f49b5a2e5eab554656ffe8b82b18cad3475ea963a5fced718d2af7498f5aaf23e4a0a9554382f32a6a24f1fa154b1d4e27d208286b54d757ac5032e48
7
- data.tar.gz: 7442ea55fa1d838d8c8f75dbfdb83c6db36bce40b5be5e3f10a9d38f8455d91930e7aa2bdfdd55ab3546f5c38a96bef1eef9f18f5b15f325c344c7492767dbc4
6
+ metadata.gz: ed448da2f9649ab1fe01df7e3f9f5391a0ab0a0d00d19588d4d4ec7463d0967ba4680c820175e20dc4c9a083561aa7783c9d0925c0a9013c8e0af49755c23309
7
+ data.tar.gz: c4db1f97a32d563a83e11fd0987160cabe408caa88fef4880d96be89da8ca752a5218a426370cf1834bdbdc36ea537c3d97bd5b98eb70110fd299d2ac9a72072
data/.eslintrc CHANGED
@@ -18,3 +18,7 @@ rules:
18
18
 
19
19
  # https://github.com/benmosher/eslint-plugin-import/issues/340
20
20
  import/no-extraneous-dependencies: 0
21
+
22
+ settings:
23
+ import/core-modules:
24
+ - react-redux
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  AllCops:
5
5
  DisplayCopNames: true
6
- TargetRubyVersion: 2.3
6
+ TargetRubyVersion: 2.1
7
7
 
8
8
  Include:
9
9
  - '**/Rakefile'
@@ -72,7 +72,7 @@ Metrics/PerceivedComplexity:
72
72
  Max: 10
73
73
 
74
74
  Metrics/ClassLength:
75
- Max: 140
75
+ Max: 150
76
76
 
77
77
  Metrics/ParameterLists:
78
78
  Max: 5
data/.travis.yml CHANGED
@@ -6,6 +6,7 @@ rvm:
6
6
  # Rails 5 requires 2.2
7
7
  - 2.3.1
8
8
  - 2.4.1
9
+ - 2.5.0
9
10
  - 2.2.6
10
11
  services:
11
12
  - docker
@@ -57,6 +58,8 @@ matrix:
57
58
  rvm: 2.3.1
58
59
  - gemfile: spec/dummy_no_webpacker/Gemfile.rails32
59
60
  rvm: 2.4.1
61
+ - gemfile: spec/dummy_no_webpacker/Gemfile.rails32
62
+ rvm: 2.5.0
60
63
  - gemfile: spec/dummy/Gemfile
61
64
  rvm: 2.2.6
62
65
 
data/CHANGELOG.md CHANGED
@@ -3,10 +3,76 @@ All notable changes to this project's source code will be documented in this fil
3
3
 
4
4
  Contributors: please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
5
5
 
6
+ See [Upgrading React on Rails](./docs/basics/upgrading-react-on-rails.md) for more concise instructions on upgrading.
7
+
6
8
  ## [Unreleased]
7
9
  Changes since last non-beta release.
8
10
 
9
- *Please add entries here for your pull requests.*
11
+ *Please add entries here for your pull requests that are not yet released.*
12
+
13
+ ## MIGRATION for v11
14
+ - Unused `server_render_method` was removed from the configuration. If you want to use a custom renderer, contact justin@shakacode.com. We have a custom node rendering solution in production for egghead.io.
15
+ - Removed ReactOnRails::Utils.server_bundle_file_name and ReactOnRails::Utils.bundle_file_name. These are part of the performance features of "React on Rails Pro".
16
+ - Removed ENV["TRACE_REACT_ON_RAILS"] usage and replacing it with config.trace.
17
+
18
+ #### Enhanchements: Better Error Messages, Support for React on Rails Pro
19
+ - Tracing (debugging) options are simplified with a single `config.trace` setting that defaults to true for development and false otherwise.
20
+ - Calls to setTimeout, setInterval, clearTimeout will now always log some message if config.trace is true. Your JavaScript code should not be calling setTimout when server rendering.
21
+ - Errors raised are of type ReactOnRailsError, so you can see they came from React on Rails for debugging.
22
+ - Removed ReactOnRails::Utils.server_bundle_file_name and ReactOnRails::Utils.bundle_file_name.
23
+ - No longer logging the `railsContext` when server logging.
24
+ - Rails.env is provided in the default railsContext, as suggested in [issue #697](https://github.com/shakacode/react_on_rails/issues/697).
25
+ [PR 1018](https://github.com/shakacode/react_on_rails/pull/1065) by [justin808](https://github.com/justin808).
26
+
27
+ #### Fixes
28
+ - More exact version checking. We keep the react_on_rails gem and the react-on-rails node package at
29
+ the same exact versions so that we can be sure that the interaction between them is precise.
30
+ This is so that if a bug is detected after some update, it's critical that
31
+ both the gem and the node package get the updates. This change ensures that the package.json specification does not use a
32
+ ~ or ^ as reported in [issue #1062](https://github.com/shakacode/react_on_rails/issues/1062). [PR 1063](https://github.com/shakacode/react_on_rails/pull/1063) by [justin808](https://github.com/justin808).
33
+ - Sprockets: Now use the most recent manifest when creating symlinks. See [issue #1023](https://github.com/shakacode/react_on_rails/issues/1023). [PR 1064](https://github.com/shakacode/react_on_rails/pull/1064) by [justin808](https://github.com/justin808).
34
+
35
+ ### [10.1.4] - 2018-04-11
36
+
37
+ #### Fixed
38
+ - Changed i18n parsing to convert ruby i18n argument syntax into FormatJS argument syntax. [PR 1046](https://github.com/shakacode/react_on_rails/pull/1046) by [sepehr500](https://github.com/sepehr500).
39
+
40
+ - Fixed an issue where the spec compiler check would fail if the project path contained spaces. [PR 1045](https://github.com/shakacode/react_on_rails/pull/1045) by [andrewmarkle](https://github.com/andrewmarkle).
41
+
42
+ - Updated the default `build_production_command` that caused production assets to be built with development settings. [PR 1053](https://github.com/shakacode/react_on_rails/pull/1053) by [Roman Kushnir](https://github.com/RKushnir).
43
+
44
+ ### [10.1.3] - 2018-02-28
45
+ #### Fixed
46
+ - Improved error reporting on version mismatches between Javascript and Ruby packages. [PR 1025](https://github.com/shakacode/react_on_rails/pull/1025) by [theJoeBiz](https://github.com/squadette).
47
+
48
+ ### [10.1.2] - 2018-02-27
49
+ #### Fixed
50
+ - Use ReactDOM.hydrate() for hydrating a SSR component if available. ReactDOM.render() has been deprecated for use on SSR components in React 16 and this addresses the warning. [PR 1028](https://github.com/shakacode/react_on_rails/pull/1028) by [theJoeBiz](https://github.com/theJoeBiz).
51
+
52
+ ### [10.1.1] - 2018-01-26
53
+ #### Fixed
54
+ - Fixed issue with server-rendering error handler: [PR 1020](https://github.com/shakacode/react_on_rails/pull/1020) by [jblasco3](https://github.com/jblasco3).
55
+
56
+ ### [10.1.0] - 2018-01-23
57
+ #### Added
58
+ - Added 2 cache helpers: ReactOnRails::Utils.bundle_file_name(bundle_name) and ReactOnRails::Utils.server_bundle_file_name
59
+ for easy access to the hashed filenames for use in cache keys. [PR 1018](https://github.com/shakacode/react_on_rails/pull/1018) by [justin808](https://github.com/justin808).
60
+
61
+ #### Fixed
62
+ - Use redux component in generated redux Hello World example: [PR 1006](https://github.com/shakacode/react_on_rails/pull/1006) by [lewaabahmad](https://github.com/lewaabahmad).
63
+ - Fixed `Utils.bundle_js_file_path` generating the incorrect path for `manifest.json` in webpacker projects: [Issue #1011](https://github.com/shakacode/react_on_rails/issues/1011) by [elstgav](https://github.com/elstgav)
64
+
65
+ ### [10.0.2] - 2017-11-10
66
+ #### Fixed
67
+ - Remove unnecessary dependencies from released NPM package: [PR 968](https://github.com/shakacode/react_on_rails/pull/968) by [tricknotes](https://github.com/tricknotes).
68
+
69
+ ### [10.0.1] - 2017-10-28
70
+ #### Fixed
71
+ - Fixed `react_component_hash` functionality in cases of prerendering errors: [PR 960](https://github.com/shakacode/react_on_rails/pull/960) by [Judahmeek](https://github.com/Judahmeek).
72
+ - Fix to add missing dependency to run generator spec individually: [PR 962](https://github.com/shakacode/react_on_rails/pull/962) by [tricknotes](https://github.com/tricknotes).
73
+ - Fixes check for i18n_dir in LocalesToJs returning false when i18n_dir was set. [PR 899](https://github.com/shakacode/react_on_rails/pull/899) by [hakongit](https://github.com/hakongit).
74
+ - Fixed mistake in rubocop comments that led to errors when handling exceptions in ReactOnRails::ServerRendering::Exec [PR 963](https://github.com/shakacode/react_on_rails/pull/963) by [railsme](https://github.com/railsme).
75
+ - Fixed and improved I18n directories checks: [PR 967](https://github.com/shakacode/react_on_rails/pull/967) by [railsme](https://github.com/railsme)
10
76
 
11
77
  ### [10.0.0] - 2017-10-08
12
78
  #### Created
@@ -14,108 +80,27 @@ Changes since last non-beta release.
14
80
  #### Deprecated
15
81
  - Deprecated `react_component` functionality for react_helmet support.
16
82
  To clarify, the method itself is not deprecated, only certain functionality which has been moved to `react_component_hash`
17
- [PR 951](https://github.com/shakacode/react_on_rails/pull/951) by [Judahmeek](https://github.com/Judahmeek)
83
+ [PR 951](https://github.com/shakacode/react_on_rails/pull/951) by [Judahmeek](https://github.com/Judahmeek).
18
84
 
19
85
  ### [9.0.3] - 2017-09-20
20
86
  #### Improved
21
- - Improved comments in generated Procfile.dev-server. [PR 940](https://github.com/shakacode/react_on_rails/pull/940) by [justin808](https://github.com/justin808 )
87
+ - Improved comments in generated Procfile.dev-server. [PR 940](https://github.com/shakacode/react_on_rails/pull/940) by [justin808](https://github.com/justin808).
22
88
 
23
89
  ### [9.0.2] - 2017-09-10
24
90
  #### Fixed
25
- - Improved post install doc comments for generator. [PR 933](https://github.com/shakacode/react_on_rails/pull/933) by [justin808](https://github.com/justin808 )
91
+ - Improved post install doc comments for generator. [PR 933](https://github.com/shakacode/react_on_rails/pull/933) by [justin808](https://github.com/justin808).
26
92
 
27
93
  ### [9.0.1] - 2017-09-10
28
94
 
29
95
  #### Fixed
30
- - Fixes Rails 3.2 compatability issues. [PR 926](https://github.com/shakacode/react_on_rails/pull/926) by [morozovm](https://github.com/morozovm )
96
+ - Fixes Rails 3.2 compatability issues. [PR 926](https://github.com/shakacode/react_on_rails/pull/926) by [morozovm](https://github.com/morozovm).
31
97
 
32
98
  ### [9.0.0] - 2017-09-06
33
99
  Updated React on Rails to depend on [rails/webpacker](https://github.com/rails/webpacker). [PR 908](https://github.com/shakacode/react_on_rails/pull/908) by [justin808](https://github.com/justin808).
34
100
 
35
101
 
36
102
  #### 9.0 from 8.x. Upgrade Instructions
37
-
38
- For an example of upgrading, see [react-webpack-rails-tutorial/pull/416](https://github.com/shakacode/react-webpack-rails-tutorial/pull/416).
39
-
40
- - Breaking Configuration Changes
41
- 1. Added `config.node_modules_location` which defaults to `""` if Webpacker is installed. You may want to set this to 'client'` to `config/initializers/react_on_rails.rb` to keep your node_modules inside of `/client`
42
- 2. Renamed
43
- * config.npm_build_test_command ==> config.build_test_command
44
- * config.npm_build_production_command ==> config.build_production_command
45
-
46
- - Update the gemfile. Switch over to using the webpacker gem.
47
-
48
- ```rb
49
- gem "webpacker"
50
- ```
51
-
52
- - Update for the renaming in the `WebpackConfigLoader` in your webpack configuration.
53
- You will need to rename the following object properties:
54
- - webpackOutputPath ==> output.path
55
- - webpackPublicOutputDir ==> output.publicPath
56
- - hotReloadingUrl ==> output.publicPathWithHost
57
- - hotReloadingHostname ==> settings.dev_server.host
58
- - hotReloadingPort ==> settings.dev_server.port
59
- - hmr ==> settings.dev_server.hmr
60
- - manifest ==> Remove this one. We use the default for Webpack of manifest.json
61
- - env ==> Use `const { env } = require('process');`
62
- - devBuild ==> Use `const devBuild = process.env.NODE_ENV !== 'production';`
63
-
64
- - Edit your Webpack.config files:
65
- - Change your Webpack output to be like this. **Be sure to have the hash or chunkhash in the filename,** unless the bundle is server side.:
66
- ```
67
- const webpackConfigLoader = require('react-on-rails/webpackConfigLoader');
68
- const configPath = resolve('..', 'config');
69
- const { output, settings } = webpackConfigLoader(configPath);
70
- const hmr = settings.dev_server.hmr;
71
- const devBuild = process.env.NODE_ENV !== 'production';
72
-
73
- output: {
74
- filename: isHMR ? '[name]-[hash].js' : '[name]-[chunkhash].js',
75
- chunkFilename: '[name]-[chunkhash].chunk.js',
76
-
77
- publicPath: output.publicPath,
78
- path: output.path,
79
- },
80
- ```
81
- - Change your ManifestPlugin definition to something like the following
82
- ```
83
- new ManifestPlugin({
84
- publicPath: output.publicPath,
85
- writeToFileEmit: true
86
- }),
87
-
88
- ```
89
-
90
- - Find your `webpacker_lite.yml` and rename it to `webpacker.yml`
91
- - Consider copying a default webpacker.yml setup such as https://github.com/shakacode/react-on-rails-v9-rc-generator/blob/master/config/webpacker.yml
92
- - If you are not using the webpacker webpacker setup, be sure to put in `compile: false` in the `default` section.
93
- - Alternately, if you are updating from webpacker_lite, you can manually change these:
94
- - Add a default setting
95
- ```
96
- cache_manifest: false
97
- ```
98
- - For production, set:
99
- ```
100
- cache_manifest: true
101
- ```
102
- - Add a section like this under your development env:
103
- ```
104
- dev_server:
105
- host: localhost
106
- port: 3035
107
- hmr: false
108
- ```
109
- Set hmr to your preference.
110
- - See the example `spec/dummy/config/webpacker.yml`.
111
- - Remove keys `hot_reloading_host` and `hot_reloading_enabled_by_default`. These are replaced by the `dev_server` key.
112
- - Rename `webpack_public_output_dir` to `public_output_path`.
113
-
114
- - Edit your Procfile.dev
115
- - Remove the env value WEBPACKER_DEV_SERVER as it's not used
116
- - For hot loading:
117
- - Set the `hmr` key in your `webpacker.yml` to `true`.
118
-
103
+ Moved to [our documentation](docs/basics/upgrading-react-on-rails.md#upgrading-to-version-9).
119
104
 
120
105
  ### [8.0.7] - 2017-08-16
121
106
  #### Fixed
@@ -739,7 +724,15 @@ Best done with Object destructing:
739
724
  ##### Fixed
740
725
  - Fix several generator related issues.
741
726
 
742
- [Unreleased]: https://github.com/shakacode/react_on_rails/compare/9.0.3...master
727
+ [Unreleased]: https://github.com/shakacode/react_on_rails/compare/10.1.4...master
728
+ [10.1.4]: https://github.com/shakacode/react_on_rails/compare/10.1.3...10.1.4
729
+ [10.1.3]: https://github.com/shakacode/react_on_rails/compare/10.1.2...10.1.3
730
+ [10.1.2]: https://github.com/shakacode/react_on_rails/compare/10.1.1...10.1.2
731
+ [10.1.1]: https://github.com/shakacode/react_on_rails/compare/10.1.0...10.1.1
732
+ [10.1.0]: https://github.com/shakacode/react_on_rails/compare/10.0.2...10.1.0
733
+ [10.0.2]: https://github.com/shakacode/react_on_rails/compare/10.0.1...10.0.2
734
+ [10.0.1]: https://github.com/shakacode/react_on_rails/compare/10.0.0...10.0.1
735
+ [10.0.0]: https://github.com/shakacode/react_on_rails/compare/9.0.3...10.0.0
743
736
  [9.0.3]: https://github.com/shakacode/react_on_rails/compare/9.0.2...9.0.3
744
737
  [9.0.2]: https://github.com/shakacode/react_on_rails/compare/9.0.1...9.0.2
745
738
  [9.0.1]: https://github.com/shakacode/react_on_rails/compare/9.0.0...9.0.1
data/CONTRIBUTING.md CHANGED
@@ -223,13 +223,6 @@ Run `rake -T` or `rake -D` to see testing options.
223
223
 
224
224
  See below for verifying changes to the generators.
225
225
 
226
- ### Debugging
227
- Start the sample app like this for some debug printing:
228
-
229
- ```sh
230
- TRACE_REACT_ON_RAILS=true && foreman start
231
- ```
232
-
233
226
  ### Install Generator
234
227
  In your Rails app add this gem with a path to your fork.
235
228
 
data/Dockerfile_tests ADDED
@@ -0,0 +1,12 @@
1
+ FROM dylangrafmyre/docker-ci
2
+
3
+ WORKDIR /app/
4
+
5
+ COPY ["/lib/react_on_rails/version.rb", "/app/lib/react_on_rails/"]
6
+ COPY ["Gemfile", "Gemfile.lock", "react_on_rails.gemspec", "rakelib/", "/app/"]
7
+ COPY ["/spec/dummy/Gemfile", "/spec/dummy/Gemfile.lock", "/app/spec/dummy/"]
8
+ RUN bundle install --gemfile=spec/dummy/Gemfile
9
+
10
+ ENV DISPLAY :99
11
+ ENTRYPOINT service xvfd start \
12
+ && rake
data/Gemfile CHANGED
@@ -9,39 +9,34 @@ gemspec
9
9
  # They must be defined here because of the way Travis CI works, in that it will only
10
10
  # bundle install from a single Gemfile. Therefore, all gems that we will need for any dummy/example
11
11
  # app have to be manually added to this file.
12
+ gem "bootsnap", ">= 1.1.0", require: false
12
13
  gem "bootstrap-sass"
13
- gem "jbuilder", "~> 2.0"
14
+ gem "jbuilder"
14
15
  gem "jquery-rails"
15
16
  gem "mini_racer"
16
17
  gem "puma"
17
- gem "rails", "5.1.2"
18
+
18
19
  gem "rails_12factor"
19
- gem "rubocop", "~> 0.50", require: false
20
20
  gem "ruby-lint", require: false
21
- gem "sass-rails", "~> 5.0"
21
+ gem "sass-rails"
22
22
  gem "scss_lint", require: false
23
23
  gem "sdoc", group: :doc
24
24
  gem "spring"
25
25
  gem "sqlite3"
26
- gem "turbolinks", "~> 5.0"
26
+ gem "turbolinks"
27
27
  gem "uglifier"
28
28
  gem "web-console", group: :development
29
29
 
30
30
  # below are copied from spec/dummy/Gemfile
31
31
  gem "capybara"
32
32
  gem "capybara-screenshot"
33
- gem "rspec-rails"
34
- gem "rspec-retry"
35
- # Trouble installing on Sierra
36
- # gem "capybara-webkit"
37
33
  gem "chromedriver-helper"
38
34
  gem "launchy"
39
35
  gem "poltergeist"
36
+ gem "rspec-rails"
37
+ gem "rspec-retry"
40
38
  gem "selenium-webdriver"
41
- gem "webpacker", "3.0.2"
42
-
43
- # TODO: remove once we get out of beta.
44
- # gem 'webpacker', path: "../../forks/webpacker"
39
+ gem "webpacker"
45
40
 
46
41
  gem "equivalent-xml", github: "mbklein/equivalent-xml"
47
42
  gem "rainbow"
data/NEWS.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  *We'll keep a history of the news. A few bullets at the top will also show on the [README.md](./README.md).*
4
4
 
5
+ * 2018-02-27: **Version 10.1.2** Supports the React API for ReactDOM.hydrate.
6
+ * 2017-09-06: **VERSION 9.0.0 shipped!** This version depends on Webpacker directly. See [Upgrading React on Rails](./docs/basics/upgrading-react-on-rails.md) for more concise instructions on upgrading.
5
7
  * Always see the [CHANGELOG.md](./CHANGELOG.md) for the latest project changes.
6
8
  * [VERSION 8.1.0](https://rubygems.org/gems/react_on_rails/) shipped with [webpacker_lite](https://github.com/shakacode/webpacker_lite) (soon [**webpacker**](https://github.com/rails/webpacker/issues/464#issuecomment-310986140) support! [react-webpack-rails-tutorial PR #395](https://github.com/shakacode/react-webpack-rails-tutorial/pull/395) shows the changes needed to migrate from the Asset Pipeline to Webpacker Lite. For more information, see my article: [Webpacker Lite: Why Fork Webpacker?](https://blog.shakacode.com/webpacker-lite-why-fork-webpacker-f0a7707fac92). Per recent discussions, we [will merge Webpacker Lite changes back into Webpacker](https://github.com/rails/webpacker/issues/464#issuecomment-310986140). There's no reason to wait for this. The upgrade will eventually be trivial.
7
9
  * 2017-04-25: 7.0.0 Shipped! Performance improvements! Please upgrade! Only "breaking" change is that you have to update both the node module and the Ruby gem.
data/PROJECTS.md CHANGED
@@ -1,13 +1,21 @@
1
1
  # Projects using React on Rails
2
2
 
3
+ [Click here](https://publicwww.com/websites/%22react-on-rails%22++-undeveloped.com/) for a search for public sites using React on Rails.
4
+
5
+ Public Sites Using React on Rails:
6
+
7
+ March 27, 2018: 2126<br>
8
+ April 11, 2018: 2138
9
+
3
10
  *Please support the project by [emailing Justin Gordon](mailto:justin@shakacode.com) of any projects, yours or others, that use React on Rails. You can confirm a project uses React on Rails as the source will contain **`js-react-on-rails`**.*
4
11
 
5
12
  ## Commercial Products Live
6
- * **[Friends and Guests](https://www.friendsandguests.com/)**, the signature product of [ShakaCode](http://www.shakacode.com), which is a "Network Connecting Hosts and Guests".
13
+ * **[Hawaii Chee](https://www.hawaiichee.com/)**, the signature product of [ShakaCode](http://www.shakacode.com), which is a vacation rental site focusing on Hawaii.
7
14
  * **[KissKissBankBank](https://www.kisskissbankbank.com/)**, large French crowdfunding platform.
8
- * **[Nootrobox](https://nootrobox.com)**: Web ecommerce site for "biohacking" products.
15
+ * **[HVMN](https://hvmn.com)**: Web ecommerce site for "biohacking" products.
9
16
  * **[GuavaPass](https://guavapass.com/)**: Coaching client of [ShakaCode](http://www.shakacode.com) and React on Rails fan!
10
17
  * **[Pivotal Tracker](http://www.pivotaltracker.com/)**: The first (and most-loved) agile project management tool built on Rails. React on Rails has greatly simplified integration and workflow for our React components in Rails!
18
+ * **[Estately](https://www.estately.com)**: Home search.
11
19
  * **[Blink Inc](https://www.blinkinc.com)**: Website and more built by [ShakaCode](http://www.shakacode.com).
12
20
  * **[Madrone Analytics](http://madroneco.com/)**: The original client of [ShakaCode](http://www.shakacode.com) that led to the development of React on Rails, as described in [Fast Rich Client Rails Development With Webpack and the ES6 Transpiler](http://www.railsonmaui.com/blog/2014/10/03/integrating-webpack-and-the-es6-transpiler-into-an-existing-rails-project/).
13
21
  * **[Deliveroo](https://deliveroo.co.uk/)**: The leading food delivery site in Europe has gone live with React on Rails, with multi-lingual JavaScript support!