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.
- checksums.yaml +4 -4
- data/.eslintrc +4 -0
- data/.rubocop.yml +2 -2
- data/.travis.yml +3 -0
- data/CHANGELOG.md +81 -88
- data/CONTRIBUTING.md +0 -7
- data/Dockerfile_tests +12 -0
- data/Gemfile +8 -13
- data/NEWS.md +2 -0
- data/PROJECTS.md +10 -2
- data/README.md +137 -121
- data/app/helpers/react_on_rails_helper.rb +1 -533
- data/docker-compose.yml +11 -0
- data/docs/additional-reading/caching-and-performance.md +4 -0
- data/docs/additional-reading/capistrano-deployment.md +18 -0
- data/docs/additional-reading/elastic-beanstalk.md +53 -33
- data/docs/additional-reading/server-rendering-tips.md +4 -4
- data/docs/additional-reading/troubleshooting-when-using-webpacker.md +90 -0
- data/docs/api/ruby-api.md +7 -2
- data/docs/basics/configuration.md +23 -9
- data/docs/basics/i18n.md +4 -0
- data/docs/basics/upgrading-react-on-rails.md +181 -0
- data/docs/tutorial.md +7 -11
- data/lib/generators/react_on_rails/base_generator.rb +6 -3
- data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
- data/lib/generators/react_on_rails/install_generator.rb +1 -1
- data/lib/generators/react_on_rails/react_no_redux_generator.rb +1 -1
- data/lib/generators/react_on_rails/react_with_redux_generator.rb +2 -2
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +1 -1
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +3 -2
- data/lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb +2 -2
- data/lib/react_on_rails/assets_precompile.rb +8 -4
- data/lib/react_on_rails/configuration.rb +34 -20
- data/lib/react_on_rails/error.rb +4 -0
- data/lib/react_on_rails/locales_to_js.rb +2 -2
- data/lib/react_on_rails/prerender_error.rb +2 -2
- data/lib/react_on_rails/react_on_rails_helper.rb +547 -0
- data/lib/react_on_rails/server_rendering_pool/{exec.rb → ruby_embedded_java_script.rb} +37 -40
- data/lib/react_on_rails/server_rendering_pool.rb +21 -10
- data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +2 -2
- data/lib/react_on_rails/test_helper.rb +1 -1
- data/lib/react_on_rails/utils.rb +14 -52
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +33 -12
- data/lib/react_on_rails/webpacker_utils.rb +42 -0
- data/lib/react_on_rails.rb +3 -2
- data/package.json +2 -5
- data/rakelib/dummy_apps.rake +2 -1
- data/rakelib/example_type.rb +1 -1
- data/rakelib/examples.rake +3 -2
- data/rakelib/lint.rake +3 -2
- data/rakelib/node_package.rake +2 -1
- data/rakelib/release.rake +4 -5
- data/rakelib/run_rspec.rake +3 -4
- data/rakelib/task_helpers.rb +1 -1
- data/react_on_rails.gemspec +23 -13
- data/yarn.lock +3 -39
- metadata +75 -49
- data/lib/react_on_rails/server_rendering_pool/node.rb +0 -83
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 31c09a3e5f99dd68c101be042157d0df07ce3d28
|
|
4
|
+
data.tar.gz: c1b5a351538f6f66b02fd6b7d9dbc9016f9b7a5a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ed448da2f9649ab1fe01df7e3f9f5391a0ab0a0d00d19588d4d4ec7463d0967ba4680c820175e20dc4c9a083561aa7783c9d0925c0a9013c8e0af49755c23309
|
|
7
|
+
data.tar.gz: c4db1f97a32d563a83e11fd0987160cabe408caa88fef4880d96be89da8ca752a5218a426370cf1834bdbdc36ea537c3d97bd5b98eb70110fd299d2ac9a72072
|
data/.eslintrc
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
AllCops:
|
|
5
5
|
DisplayCopNames: true
|
|
6
|
-
TargetRubyVersion: 2.
|
|
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:
|
|
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/
|
|
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"
|
|
14
|
+
gem "jbuilder"
|
|
14
15
|
gem "jquery-rails"
|
|
15
16
|
gem "mini_racer"
|
|
16
17
|
gem "puma"
|
|
17
|
-
|
|
18
|
+
|
|
18
19
|
gem "rails_12factor"
|
|
19
|
-
gem "rubocop", "~> 0.50", require: false
|
|
20
20
|
gem "ruby-lint", require: false
|
|
21
|
-
gem "sass-rails"
|
|
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"
|
|
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"
|
|
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
|
-
* **[
|
|
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
|
-
* **[
|
|
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!
|