react_on_rails 14.2.1 → 16.1.1
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/AI_AGENT_INSTRUCTIONS.md +63 -0
- data/CHANGELOG.md +564 -85
- data/CLAUDE.md +135 -0
- data/CODING_AGENTS.md +313 -0
- data/CONTRIBUTING.md +448 -37
- data/Gemfile.development_dependencies +6 -1
- data/Gemfile.lock +13 -4
- data/KUDOS.md +22 -1
- data/LICENSE.md +30 -4
- data/LICENSES/README.md +14 -0
- data/NEWS.md +48 -48
- data/PROJECTS.md +45 -40
- data/REACT-ON-RAILS-PRO-LICENSE.md +129 -0
- data/README.md +113 -42
- data/SUMMARY.md +62 -52
- data/TODO.md +135 -0
- data/bin/lefthook/check-trailing-newlines +38 -0
- data/bin/lefthook/get-changed-files +26 -0
- data/bin/lefthook/prettier-format +26 -0
- data/bin/lefthook/ruby-autofix +26 -0
- data/bin/lefthook/ruby-lint +27 -0
- data/eslint.config.ts +232 -0
- data/knip.ts +40 -6
- data/lib/generators/USAGE +4 -5
- data/lib/generators/react_on_rails/USAGE +65 -0
- data/lib/generators/react_on_rails/base_generator.rb +276 -62
- data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -0
- data/lib/generators/react_on_rails/generator_helper.rb +35 -1
- data/lib/generators/react_on_rails/generator_messages.rb +138 -17
- data/lib/generators/react_on_rails/install_generator.rb +474 -26
- data/lib/generators/react_on_rails/react_no_redux_generator.rb +19 -6
- data/lib/generators/react_on_rails/react_with_redux_generator.rb +110 -18
- data/lib/generators/react_on_rails/templates/.eslintrc +1 -1
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev +5 -0
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-prod-assets +8 -0
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static-assets +2 -0
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +0 -5
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +2 -2
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js +1 -1
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/packs/server-bundle.js +1 -8
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx +21 -0
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.tsx +25 -0
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.module.css +4 -0
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.jsx +5 -0
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.tsx +5 -0
- data/lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt +1 -1
- data/lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb +4 -2
- data/lib/generators/react_on_rails/templates/base/base/babel.config.js.tt +5 -2
- data/lib/generators/react_on_rails/templates/base/base/bin/dev +34 -0
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt +14 -5
- data/lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml +76 -7
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/commonWebpackConfig.js.tt +1 -1
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/development.js.tt +6 -10
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/production.js.tt +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/serverWebpackConfig.js.tt +3 -2
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/test.js.tt +2 -2
- data/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +0 -2
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.ts +18 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +0 -6
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +4 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx +24 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.ts +6 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.ts +20 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js +1 -1
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.ts +22 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.client.tsx +23 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.jsx +5 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.tsx +5 -0
- data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.ts +18 -0
- data/lib/react_on_rails/configuration.rb +141 -57
- data/lib/react_on_rails/controller.rb +6 -2
- data/lib/react_on_rails/dev/file_manager.rb +78 -0
- data/lib/react_on_rails/dev/pack_generator.rb +27 -0
- data/lib/react_on_rails/dev/process_manager.rb +61 -0
- data/lib/react_on_rails/dev/server_manager.rb +487 -0
- data/lib/react_on_rails/dev.rb +20 -0
- data/lib/react_on_rails/doctor.rb +1149 -0
- data/lib/react_on_rails/engine.rb +6 -0
- data/lib/react_on_rails/git_utils.rb +12 -2
- data/lib/react_on_rails/helper.rb +176 -74
- data/lib/react_on_rails/json_parse_error.rb +6 -1
- data/lib/react_on_rails/packer_utils.rb +61 -71
- data/lib/react_on_rails/packs_generator.rb +221 -19
- data/lib/react_on_rails/prerender_error.rb +4 -0
- data/lib/react_on_rails/pro/NOTICE +21 -0
- data/lib/react_on_rails/pro/helper.rb +122 -0
- data/lib/react_on_rails/pro/utils.rb +53 -0
- data/lib/react_on_rails/react_component/render_options.rb +38 -6
- data/lib/react_on_rails/server_rendering_js_code.rb +0 -1
- data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +12 -5
- data/lib/react_on_rails/system_checker.rb +659 -0
- data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +1 -1
- data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +6 -4
- data/lib/react_on_rails/test_helper.rb +2 -3
- data/lib/react_on_rails/utils.rb +139 -43
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +14 -20
- data/lib/react_on_rails/version_syntax_converter.rb +1 -1
- data/lib/react_on_rails.rb +1 -0
- data/lib/tasks/assets.rake +1 -1
- data/lib/tasks/doctor.rake +48 -0
- data/lib/tasks/generate_packs.rake +158 -1
- data/react_on_rails.gemspec +1 -0
- data/tsconfig.eslint.json +6 -0
- data/tsconfig.json +5 -3
- metadata +63 -14
- data/REACT-ON-RAILS-PRO-LICENSE +0 -95
- data/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +0 -41
- data/lib/generators/react_on_rails/bin/dev +0 -30
- data/lib/generators/react_on_rails/bin/dev-static +0 -30
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static.tt +0 -9
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt +0 -5
- data/lib/generators/react_on_rails/templates/base/base/app/javascript/packs/registration.js.tt +0 -8
- /data/lib/generators/react_on_rails/templates/base/base/config/webpack/{webpackConfig.js.tt → generateWebpackConfigs.js.tt} +0 -0
- /data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/{HelloWorldApp.jsx → HelloWorldApp.client.jsx} +0 -0
data/Gemfile.lock
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
react_on_rails (
|
4
|
+
react_on_rails (16.1.0)
|
5
5
|
addressable
|
6
6
|
connection_pool
|
7
7
|
execjs (~> 2.5)
|
8
8
|
rails (>= 5.2)
|
9
9
|
rainbow (~> 3.0)
|
10
|
+
shakapacker (>= 6.0)
|
10
11
|
|
11
12
|
GEM
|
12
13
|
remote: https://rubygems.org/
|
@@ -90,6 +91,7 @@ GEM
|
|
90
91
|
amazing_print (1.6.0)
|
91
92
|
ast (2.4.2)
|
92
93
|
base64 (0.2.0)
|
94
|
+
benchmark (0.4.1)
|
93
95
|
bigdecimal (3.1.8)
|
94
96
|
bootsnap (1.18.3)
|
95
97
|
msgpack (~> 1.2)
|
@@ -155,9 +157,11 @@ GEM
|
|
155
157
|
launchy (3.0.1)
|
156
158
|
addressable (~> 2.8)
|
157
159
|
childprocess (~> 5.0)
|
160
|
+
lefthook (1.13.1)
|
158
161
|
listen (3.9.0)
|
159
162
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
160
163
|
rb-inotify (~> 0.9, >= 0.9.10)
|
164
|
+
logger (1.7.0)
|
161
165
|
loofah (2.22.0)
|
162
166
|
crass (~> 1.0.2)
|
163
167
|
nokogiri (>= 1.12.0)
|
@@ -187,6 +191,7 @@ GEM
|
|
187
191
|
nokogiri (1.16.6)
|
188
192
|
mini_portile2 (~> 2.8.2)
|
189
193
|
racc (~> 1.4)
|
194
|
+
ostruct (0.6.1)
|
190
195
|
package_json (0.1.0)
|
191
196
|
parallel (1.24.0)
|
192
197
|
parser (3.3.1.0)
|
@@ -336,8 +341,8 @@ GEM
|
|
336
341
|
rexml (~> 3.2, >= 3.2.5)
|
337
342
|
rubyzip (>= 1.2.2, < 3.0)
|
338
343
|
websocket (~> 1.0)
|
339
|
-
semantic_range (3.
|
340
|
-
shakapacker (8.
|
344
|
+
semantic_range (3.1.0)
|
345
|
+
shakapacker (8.2.0)
|
341
346
|
activesupport (>= 5.2)
|
342
347
|
package_json
|
343
348
|
rack-proxy (>= 0.6.1)
|
@@ -400,6 +405,7 @@ PLATFORMS
|
|
400
405
|
|
401
406
|
DEPENDENCIES
|
402
407
|
amazing_print
|
408
|
+
benchmark
|
403
409
|
bootsnap
|
404
410
|
capybara
|
405
411
|
capybara-screenshot
|
@@ -411,7 +417,10 @@ DEPENDENCIES
|
|
411
417
|
jbuilder
|
412
418
|
jquery-rails
|
413
419
|
launchy
|
420
|
+
lefthook
|
414
421
|
listen
|
422
|
+
logger
|
423
|
+
ostruct
|
415
424
|
package_json
|
416
425
|
pry
|
417
426
|
pry-byebug
|
@@ -431,7 +440,7 @@ DEPENDENCIES
|
|
431
440
|
scss_lint
|
432
441
|
sdoc
|
433
442
|
selenium-webdriver (= 4.9.0)
|
434
|
-
shakapacker (= 8.
|
443
|
+
shakapacker (= 8.2.0)
|
435
444
|
spring (~> 4.0)
|
436
445
|
sprockets (~> 4.0)
|
437
446
|
sqlite3 (~> 1.6)
|
data/KUDOS.md
CHANGED
@@ -11,83 +11,104 @@ I'm looking for quotes on why you like using React on Rails. You might mention a
|
|
11
11
|

|
12
12
|
|
13
13
|
## June 9, 2017
|
14
|
+
|
14
15
|
By Github Issue [#868](https://github.com/shakacode/react_on_rails/issues/868)
|
15
16
|
|
16
17
|

|
17
18
|
|
18
19
|
### May 6, 2017
|
20
|
+
|
19
21
|
By Email
|
20
22
|
|
21
23
|

|
22
24
|
|
23
25
|
### April 6, 2017
|
26
|
+
|
24
27
|
Tyler Swayne on Medium: [Adding react to your node app](https://medium.com/@Tswaynee/adding-react-to-your-node-app-8707c5464b3)
|
25
28
|
|
26
29
|

|
27
30
|
|
28
31
|
### March 23, 2017
|
32
|
+
|
29
33
|
Github issue [#766](https://github.com/shakacode/react_on_rails/issues/766).
|
30
34
|
|
31
35
|

|
32
36
|
|
33
37
|
### March 21, 2017
|
38
|
+
|
34
39
|
Twitter from [@rfc2616](https://twitter.com/rfc2616)
|
35
40
|
|
36
41
|

|
37
42
|
|
38
43
|
### March 2, 2017
|
44
|
+
|
39
45
|

|
40
46
|
|
41
47
|
### February 24, 2017
|
48
|
+
|
42
49
|
"I ❤️ React on Rails because it's easy to drop into a Rails project and still get all the power of native JavaScript tooling. The generators are great and the community is so awesome and welcoming. In fact, I love it so much I made a [course for learning React with Rails](https://goo.gl/uzu36X) using the react_on_rails gem!"
|
43
50
|

|
44
51
|
|
45
52
|
### December 20, 2016
|
53
|
+
|
46
54
|

|
47
55
|
|
48
56
|
### December 12, 2016
|
57
|
+
|
49
58
|

|
50
59
|
|
51
60
|
### November 15, 2016
|
61
|
+
|
52
62
|

|
53
63
|
|
54
64
|
### November 9, 2016, in our Slack Room for ShakaCode
|
65
|
+
|
55
66
|

|
56
67
|
|
57
68
|
### November 6, 2016
|
69
|
+
|
58
70
|
https://github.com/shakacode/react_on_rails/pull/591#issuecomment-258685925
|
59
71
|

|
60
72
|
|
61
73
|
### October 29, 2016
|
74
|
+
|
62
75
|
by Email
|
63
76
|

|
64
77
|
|
65
78
|
### September 11, 2016
|
79
|
+
|
66
80
|

|
67
81
|
|
68
82
|
### August 9, 2016
|
83
|
+
|
69
84
|

|
70
85
|
|
71
86
|
### June 15, 2016
|
87
|
+
|
72
88
|

|
73
89
|
|
74
|
-
### May 11, 2016
|
90
|
+
### May 11, 2016
|
91
|
+
|
75
92
|

|
76
93
|
|
77
94
|

|
78
95
|
|
79
96
|
### May 10, 2016
|
97
|
+
|
80
98
|

|
81
99
|
|
82
100
|
### March 30, 2016
|
101
|
+
|
83
102
|
"Gone are the days of using bower or rails gems to manage front end dependencies! React on Rails provides webpack integration to give us a modern build process, es6 syntax and the entire npm ecosystem of libraries to use, along with view helpers to make React integration with Rails feel better than a cool summer breeze." - [@kalamyty](https://twitter.com/kalamyty), [flynfish](https://github.com/flynfish).
|
84
103
|
|
85
104
|
### March 25, 2016
|
105
|
+
|
86
106
|
https://twitter.com/ollieglass/status/713372606804729856
|
87
107
|
|
88
108
|

|
89
109
|
|
90
110
|
### March 23, 2016, Compared to Browserify
|
111
|
+
|
91
112
|
See comments [here](https://lorefnon.me/2015/11/15/a-minimal-setup-for-using-es6-modules-in-rails.html)
|
92
113
|
|
93
114
|

|
data/LICENSE.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# Licensing
|
2
2
|
|
3
|
-
|
3
|
+
- **Core**: MIT (this file)
|
4
|
+
- **Pro**: see [REACT-ON-RAILS-PRO-LICENSE.md](./REACT-ON-RAILS-PRO-LICENSE.md)
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
## MIT License for Core React on Rails
|
9
|
+
|
10
|
+
This license applies to all files within this repository, with the exception of the code located in the following directories, which are licensed separately under the React on Rails Pro License:
|
11
|
+
|
12
|
+
- `lib/react_on_rails/pro/`
|
13
|
+
- `node_package/src/pro/`
|
14
|
+
|
15
|
+
Copyright (c) 2017, 2018 Justin Gordon and ShakaCode
|
16
|
+
Copyright (c) 2015–2025 ShakaCode, LLC
|
4
17
|
|
5
18
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
19
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -12,10 +25,23 @@ furnished to do so, subject to the following conditions:
|
|
12
25
|
The above copyright notice and this permission notice shall be included in
|
13
26
|
all copies or substantial portions of the Software.
|
14
27
|
|
28
|
+
---
|
29
|
+
|
30
|
+
## Disclaimer
|
31
|
+
|
15
32
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
33
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
34
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
35
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
36
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
|
37
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
38
|
+
SOFTWARE.
|
39
|
+
|
40
|
+
---
|
41
|
+
|
42
|
+
## React on Rails Pro License
|
43
|
+
|
44
|
+
The code in the directories listed above is part of the React on Rails Pro framework and is licensed under the React on Rails Pro License.
|
45
|
+
|
46
|
+
You can find the full text of the license agreement here:
|
47
|
+
[REACT-ON-RAILS-PRO-LICENSE.md](./REACT-ON-RAILS-PRO-LICENSE.md)
|
data/LICENSES/README.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Licensing Overview
|
2
|
+
|
3
|
+
This repository uses a dual-licensing model:
|
4
|
+
|
5
|
+
- [LICENSE.md](../LICENSE.md) – **MIT** license for the core React on Rails library
|
6
|
+
- [REACT-ON-RAILS-PRO-LICENSE.md](../REACT-ON-RAILS-PRO-LICENSE.md) – **commercial license** for React on Rails Pro
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
## Summary
|
11
|
+
|
12
|
+
- Core (MIT) → free and open-source for any use
|
13
|
+
- Pro → free for non-commercial, educational, and demo use
|
14
|
+
- **Production Use** (including by non-profits) requires a paid subscription
|
data/NEWS.md
CHANGED
@@ -1,62 +1,62 @@
|
|
1
1
|
# NEWS
|
2
2
|
|
3
|
-
|
3
|
+
_A history of the news. A few bullets at the top will also show on the [README.md](./README.md)._
|
4
4
|
|
5
|
-
|
6
|
-
RR 474: React on Rails V12 – Don’t Shave That Yak! with Justin Gordon](https://devchat.tv/ruby-rogues/rr-474-react-on-rails-v12-dont-shave-that-yak-with-justin-gordon/).
|
5
|
+
- **October 14, 2020**: [RUBY ROGUES
|
6
|
+
RR 474: React on Rails V12 – Don’t Shave That Yak! with Justin Gordon](https://devchat.tv/ruby-rogues/rr-474-react-on-rails-v12-dont-shave-that-yak-with-justin-gordon/).
|
7
7
|
|
8
|
-
|
9
|
-
that supports SSR.
|
10
|
-
|
11
|
-
|
8
|
+
- **October 1, 2020**: See the [spec/dummy](https://github.com/shakacode/react_on_rails/tree/master/spec/dummy) example repo for a simple configuration of Webpack via the rails/webpacker gem
|
9
|
+
that supports SSR.
|
10
|
+
- **August 2, 2020**: See the example repo of [React on Rails Tutorial With SSR, HMR fast refresh, and TypeScript](https://github.com/shakacode/react_on_rails_demo_ssr_hmr) for a new way to set up the creation of your SSR bundle with `rails/webpacker`.
|
11
|
+
- July 8, 2020: Release **v12**.
|
12
12
|
1. **React Hooks Support** for top level components
|
13
13
|
2. **Typescript bindings**
|
14
14
|
3. **rails/webpacker** "just works" with React on Rails by default.
|
15
15
|
4. i18n support for generating a JSON file rather than a JS file.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
16
|
+
- 2018-02-27: **Version 10.1.2** Supports the React API for ReactDOM.hydrate.
|
17
|
+
- 2017-09-06: **VERSION 9.0.0 shipped!** This version depends on Webpacker directly. See [Upgrading React on Rails](./docs/guides/upgrading-react-on-rails.md) for more concise instructions on upgrading.
|
18
|
+
- Always see the [CHANGELOG.md](./CHANGELOG.md) for the latest project changes.
|
19
|
+
- [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.
|
20
|
+
- 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.
|
21
|
+
- 2017-04-09: 8.0.0 beta work to include webpacker_lite gem has begun. See [#786](https://github.com/shakacode/react_on_rails/issues/786).
|
22
|
+
- 2017-04-03: 6.9.3 Released! Props rendered in JSON script tag. Page size is smaller now due to less escaping!
|
23
|
+
- 2017-03-06: Updated to Webpack v2!
|
24
|
+
- 2017-03-02: Demo of internationalization (i18n) is live at [reactrails.com](https://reactrails.com/). Docs [here](docs/guides/i18n.md).
|
25
|
+
- 2017-02-28: See [discussions here on Webpacker](https://github.com/rails/webpacker/issues/139) regarding how Webpacker will allow React on Rails to avoid using the asset pipeline in the near future.
|
26
|
+
- 2017-02-28: Upgrade to Webpack v2 or use the `--bail` option in your Webpack script for test and production builds. See the discussion on [PR #730](https://github.com/shakacode/react_on_rails/pull/730).
|
27
|
+
- 2016-11-03: Spoke at [LA Ruby: "React on Rails: Why, What, and How?"](http://www.meetup.com/laruby/events/234825187/). [Video and pictures in this article](https://blog.shakacode.com/my-react-on-rails-talk-at-the-la-ruby-rails-meetup-november-10-2016-eaaa83aff800#.ej6h4eglp).
|
28
|
+
- 2016-12-20: New Video on Egghead.io: [Creating a component with React on Rails](https://egghead.io/lessons/react-creating-a-component-with-react-on-rails)
|
29
|
+
- 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, What, and How?"](http://www.meetup.com/laruby/events/234825187/). [Video and pictures in this article](https://blog.shakacode.com/my-react-on-rails-talk-at-the-la-ruby-rails-meetup-november-10-2016-eaaa83aff800#.ej6h4eglp).
|
30
|
+
- 2016-08-27: We now have a [Documentation Gitbook](https://shakacode.gitbooks.io/react-on-rails/content/) for improved readability & reference.
|
31
|
+
- 2016-08-21: v6.1 ships with several new features and bug fixes. See the [Changelog](CHANGELOG.md).
|
32
|
+
- 2016-07-28: If you're doing server rendering, be sure to use mini_racer! See [issues/428](https://github.com/shakacode/react_on_rails/issues/428). It's supposedly much faster than `therubyracer`.
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
34
|
+
- 2016-08-27: We now have a [Documentation Gitbook](https://shakacode.gitbooks.io/react-on-rails/content/) for improved readability & reference.
|
35
|
+
- 2016-08-21: v6.1 ships with several new features and bug fixes. See the [Changelog](CHANGELOG.md).
|
36
|
+
- 2016-06-13: 6.0.4 shipped with a critical fix regarding a missing polyfill for `clearTimeout`, used by babel-polyfill.
|
37
|
+
- 2016-06-06: 6.0.2 shipped with a critical fix if you are fragment caching the server generated React.
|
38
|
+
- 2016-05-24: 6.0.0 Released! Simplified generator and install process! See the [CHANGELOG.md](./CHANGELOG.md) for details.
|
39
|
+
- 2016-04-08: 5.2.0 Released! Support for React 15.0 and updates to the Generator.
|
40
|
+
- 2016-03-18: [Slides on React on Rails](http://www.slideshare.net/justingordon/react-on-rails-v4032).
|
41
|
+
- 2016-03-17: **4.0.3** Shipped! Includes using the new Heroku buildpack steps, several smaller changes detailed in the [CHANGELOG.md](./CHANGELOG.md).
|
42
|
+
- 2016-03-17: **4.0.2** Shipped! Includes using the new Heroku buildpack steps.
|
43
|
+
- Better support for hot reloading of assets from Rails with new helpers and updates to the sample testing app, [spec/dummy](spec/dummy).
|
44
|
+
- Better support for Turbolinks 5.
|
45
|
+
- Controller rendering of shared Redux stores and ability to render store data at bottom of HTML page.
|
46
|
+
- See [#311](https://github.com/shakacode/react_on_rails/pull/311/files).
|
47
|
+
- Some breaking changes! See [CHANGELOG.md](./CHANGELOG.md) for details.
|
48
|
+
- 2016-02-28: We added a [Projects page](PROJECTS.md). Please edit the page your project or [email us](mailto:contact@shakacode.com) and we'll add you. We also love stars as it helps us attract new users and contributors. [jbhatab](https://github.com/jbhatab) is leading an effort to ease the onboarding process for newbies with simpler project generators. See [#245](https://github.com/shakacode/react_on_rails/issues/245).
|
49
|
+
- 3.0.6 shipped on Tuesday, 2016-03-01. Please see the [Changelog](CHANGELOG.md) for details, and let us know if you see any issues! [Migration steps from 1.x](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md#migration-steps-v1-to-v2). [Migration steps from 2.x](https://github.com/shakacode/react_on_rails/blob/master/CHANGELOG.md#migration-steps-v2-to-v3).
|
50
|
+
- [RubyGems](https://rubygems.org/gems/react_on_rails/)
|
51
|
+
- [NPM](https://www.npmjs.com/package/react-on-rails)
|
52
|
+
- 3.0.0 Highlights:
|
53
53
|
1. Support for ensuring JavaScript is current when running tests.
|
54
54
|
2. Support for multiple React components with one Redux store. So you can have a header React component and different body React components talking to the same Redux store!
|
55
55
|
3. Support for Turbolinks 5!
|
56
|
-
|
57
|
-
|
56
|
+
- There was a fatal error when using the latest version of Redux for server rendering. See [Redux #1335](https://github.com/reactjs/redux/issues/1335). See [diff 3.1.6...3.1.4](https://github.com/reactjs/redux/commit/e2e14d26f09ca729ae0555442f50fcfc45bfb423#diff-1fdf421c05c1140f6d71444ea2b27638). Workaround for server rendering: Use Redux 3.1.7 or upgrade to React On Rails v2.3.0. [this commit](https://github.com/shakacode/react_on_rails/commit/59f1e68d3d233775e6abc63bff180ea59ac2d79e) on [PR #244](https://github.com/shakacode/react_on_rails/pull/244/).
|
57
|
+
- 2.x Highlights:
|
58
58
|
1. Fixed a **critical** problem with TurboLinks. Be sure to see [turbolinks docs](docs/additional-reading/turbolinks.md) for more information on how to debug TurboLinks issues.
|
59
59
|
2. Provides a convenient helper to ensure that JavaScript assets are compiled before running tests.
|
60
|
-
|
61
|
-
|
62
|
-
|
60
|
+
- React on Rails does not yet have _generator_ support for building new apps that use CSS modules and hot reloading via the Rails server as is demonstrated in the [shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/). _We do support this, but we don't generate the code._ If you did generate a fresh app from react_on_rails and want to move to CSS Modules, then see [PR 175: Babel 6 / CSS Modules / Rails hot reloading](https://github.com/shakacode/react-webpack-rails-tutorial/pull/175). Note, while there are probably fixes after this PR was accepted, this has the majority of the changes. See [the tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/#news) for more information. Ping us if you want to help!
|
61
|
+
- [ShakaCode](http://www.shakacode.com) is doing Skype plus Slack/GitHub based coaching for "React on Rails". [Click here](http://www.shakacode.com/work/index.html) for more information.
|
62
|
+
- Be sure to read our article [The React on Rails Doctrine](https://medium.com/@railsonmaui/the-react-on-rails-doctrine-3c59a778c724).
|
data/PROJECTS.md
CHANGED
@@ -1,58 +1,63 @@
|
|
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.
|
3
|
+
[Click here](https://publicwww.com/websites/%22react-on-rails%22++-undeveloped.com/) for a search for public sites using React on Rails.
|
4
4
|
|
5
5
|
Public Sites Using React on Rails:
|
6
6
|
|
7
7
|
March 27, 2018: 2126<br>
|
8
8
|
April 11, 2018: 2138
|
9
9
|
|
10
|
-
|
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`**._
|
11
11
|
|
12
12
|
## Commercial Products Live
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
13
|
+
|
14
|
+
- **[Hawaii Chee](https://www.hawaiichee.com/)**, the signature product of [ShakaCode](http://www.shakacode.com), which is a vacation rental site focusing on Hawaii.
|
15
|
+
- **[RedFlagDeals](https://www.redflagdeals.com/)**, Canadian shopping site.
|
16
|
+
- **[YourMechanic](https://www.yourmechanic.com/)**, home calls for mechanics.
|
17
|
+
- **[Suntransfers](https://www.suntransfers.com/)**, airport car rides site.
|
18
|
+
- **[Decanter](http://www.decanter.com/)**, wine site.
|
19
|
+
- **[LocalWise](https://www.localwise.com/)**, local job site.
|
20
|
+
- **[Ellevest](https://www.ellevest.com/)**, investments for women.
|
21
|
+
- **[OppenheimerFunds](https://www.oppenheimerfunds.com/)**, investment site.
|
22
|
+
- **[KissKissBankBank](https://www.kisskissbankbank.com/)**, large French crowdfunding platform.
|
23
|
+
- **[HVMN](https://hvmn.com)**: Web ecommerce site for "biohacking" products.
|
24
|
+
- **[GuavaPass](https://guavapass.com/)**: Coaching client of [ShakaCode](http://www.shakacode.com) and React on Rails fan!
|
25
|
+
- **[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!
|
26
|
+
- **[Estately](https://www.estately.com)**: Home search.
|
27
|
+
- **[Blink Inc](https://www.blinkinc.com)**: Website and more built by [ShakaCode](http://www.shakacode.com).
|
28
|
+
- **[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/).
|
29
|
+
- **[Deliveroo](https://deliveroo.co.uk/)**: The leading food delivery site in Europe has gone live with React on Rails, with multi-lingual JavaScript support!
|
30
|
+

|
31
|
+
- **[Airgoat](https://airgoat.com/)**: Marketplace for sneakers.
|
32
|
+
- **[Apprentus](https://www.apprentus.com/)**: A marketplace to find the best private teachers. Using React on Rails from the homepage to infinity!
|
33
|
+
- **[Confident Financial Solutions](https://www.mycfsapp.com/)**: Auto Repair Financing to help people get back on the road and back to life.
|
34
|
+
- **[Flyhomes](https://www.flyhomes.com/)**: Real estate brokerage service that awards frequent flyer miles.
|
35
|
+
- **[Undeveloped](https://undeveloped.com/)**: Buy and sell domain names. 
|
36
|
+
- **[Foxford.ru](http://foxford.ru/)**: Online School 
|
37
|
+
- **[CareerBuilder for Employers](https://hiring.careerbuilder.com/)**: CareerBuilder's marketing/ecommerce website. We've integrated React on Rails and have deployed the application via Cloud 66, and are busy integrating this into other projects!
|
38
|
+
- **[first](https://first.io/)**: Data-driven Relational Marketing for Real Estate.
|
38
39
|
|
39
40
|
## Open Source Projects Live
|
40
|
-
* [github.com/empirical-org/Empirical-Core](https://github.com/empirical-org/Empirical-Core): [Quill.org](https://quill.org/) Provides free tools to make your students better writers.
|
41
|
-
* **[Coderwall](https://coderwall.com/)**: The latest development and design tips, tools, and projects from our developer community. Source at [github.com/coderwall/coderwall-next](https://github.com/coderwall/coderwall-next)
|
42
|
-
* [department-of-veterans-affairs/caseflow](https://github.com/department-of-veterans-affairs/caseflow): Caseflow is a web application that enables the tracking and processing of appealed claims at the Board of Veterans' Appeals.
|
43
41
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
* [Hot Module Replacement with react_on_rails](https://medium.com/@hrishio/lesson-5-hot-module-replacement-for-react-in-rails-using-the-react-on-rails-gem-643c5b01f3d7#.ehevxok16) : Step-by-step tutorial for a quick basic set up of hot asset reloading with HMR in a Rails 5 app. [Code on Github](https://github.com/learnetto/calreact-hmr).....
|
42
|
+
- [github.com/empirical-org/Empirical-Core](https://github.com/empirical-org/Empirical-Core): [Quill.org](https://quill.org/) Provides free tools to make your students better writers.
|
43
|
+
- **[Coderwall](https://coderwall.com/)**: The latest development and design tips, tools, and projects from our developer community. Source at [github.com/coderwall/coderwall-next](https://github.com/coderwall/coderwall-next)
|
44
|
+
- [department-of-veterans-affairs/caseflow](https://github.com/department-of-veterans-affairs/caseflow): Caseflow is a web application that enables the tracking and processing of appealed claims at the Board of Veterans' Appeals.
|
48
45
|
|
49
|
-
##
|
46
|
+
## Demos and Tutorials
|
50
47
|
|
51
|
-
|
48
|
+
- [reactrails.com](http://www.reactrails.com), source code [github.com/shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/)
|
49
|
+
- [Relay Rails Blog](https://github.com/gauravtiwari/relay-rails-blog): Tutorial to learn Relay with Rails.
|
50
|
+
- [Hot Module Replacement with react_on_rails](https://medium.com/@hrishio/lesson-5-hot-module-replacement-for-react-in-rails-using-the-react-on-rails-gem-643c5b01f3d7#.ehevxok16) : Step-by-step tutorial for a quick basic set up of hot asset reloading with HMR in a Rails 5 app. [Code on Github](https://github.com/learnetto/calreact-hmr).....
|
52
51
|
|
53
52
|
## Projects Based on React on Rails
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
54
|
+
- [github.com/Limenius/symfony-react-sandbox](https://github.com/Limenius/symfony-react-sandbox)
|
55
|
+
- [github.com/tswayne/react-helper](https://github.com/tswayne/react-helper)
|
56
|
+
- [github.com/KissKissBankBank/kitten](https://github.com/KissKissBankBank/kitten)
|
57
|
+
- [github.com/sharetribe/sharetribe](https://github.com/sharetribe/sharetribe): Open source marketplace platform.
|
58
|
+
- [GitHub search for repos using `react_on_rails`](https://github.com/search?q=gem+react_on_rails&ref=advsearch&type=repositories&utf8=%E2%9C%93) (may include some false positives)
|
59
|
+
|
60
|
+
## Reverse dependencies
|
61
|
+
|
62
|
+
- [Gems depending on `react_on_rails`](https://rubygems.org/gems/react_on_rails/reverse_dependencies)
|
63
|
+
- [NPM packages depending on `react-on-rails`](https://www.npmjs.com/browse/depended/react-on-rails)
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# ShakaCode React on Rails Pro – End User License Agreement (EULA)
|
2
|
+
|
3
|
+
_Version 2.0 — 2025-09-06_
|
4
|
+
© 2015–2025 ShakaCode, LLC. All rights reserved.
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
## 1. Definitions
|
9
|
+
|
10
|
+
- **Organization** – the single legal entity identified in the order (e.g., GitHub Sponsors, invoice).
|
11
|
+
- **Production Use** – any use of the Software in connection with a live application, website, or service accessed by end users **other than**:
|
12
|
+
- evaluation or testing
|
13
|
+
- classroom instruction, tutorials, workshops, coursework
|
14
|
+
- recorded demos, livestreams, or videos
|
15
|
+
- personal/hobby experiments not offered as a service
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
## 2. Grant of License (Per-Organization)
|
20
|
+
|
21
|
+
ShakaCode grants the subscribing Organization a **non-exclusive, non-transferable, revocable** license to install and use React on Rails Pro (“Software”) for the Organization’s internal applications.
|
22
|
+
|
23
|
+
- Internal modifications are allowed.
|
24
|
+
- Redistribution, sublicensing, or hosting the Software for third parties is prohibited.
|
25
|
+
|
26
|
+
---
|
27
|
+
|
28
|
+
## 3. Consulting Firms and Individual Consultants
|
29
|
+
|
30
|
+
- **Consulting Firms** – this license covers only the firm’s own internal systems. Each client Organization requires its own license for any Production Use.
|
31
|
+
- **Individual Consultants** – this license covers only the consultant’s own projects personally operated by them, not client organizations. Each client Organization must obtain its own license.
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
## 4. Non-Commercial / Educational / Demo Use (Free)
|
36
|
+
|
37
|
+
Free, royalty-free use is permitted for:
|
38
|
+
|
39
|
+
- classroom instruction, training, workshops, coursework;
|
40
|
+
- tutorials, blog posts, livestreams, or videos;
|
41
|
+
- personal/hobby projects not used in production;
|
42
|
+
- demo apps showcasing coding techniques.
|
43
|
+
|
44
|
+
**Note:** This clause does **not** permit any Production Use by any entity (commercial, non-profit, or individual). All Production Use requires a paid subscription under this Agreement.
|
45
|
+
|
46
|
+
---
|
47
|
+
|
48
|
+
## 5. Restrictions
|
49
|
+
|
50
|
+
The Organization shall not:
|
51
|
+
|
52
|
+
1. redistribute or resell the Software or derivatives;
|
53
|
+
2. remove, obfuscate, or disable required attribution;
|
54
|
+
3. use the Software to build a directly competing product exposing substantially similar functionality.
|
55
|
+
|
56
|
+
---
|
57
|
+
|
58
|
+
## 6. Attribution (HTML Source)
|
59
|
+
|
60
|
+
Pages rendered using the Software must include a retained non-visual attribution comment in the HTML source (provided by the software):
|
61
|
+
|
62
|
+
```html
|
63
|
+
<!-- Powered by React on Rails Pro (c) ShakaCode -->
|
64
|
+
```
|
65
|
+
|
66
|
+
The Organization may not remove or obfuscate this attribution.
|
67
|
+
|
68
|
+
---
|
69
|
+
|
70
|
+
## 7. Fees; Term; Termination
|
71
|
+
|
72
|
+
Fees and billing terms are as agreed in the applicable order (e.g., GitHub Sponsors subscription or annual invoice).
|
73
|
+
The license remains active only while fees are paid. ShakaCode may suspend or terminate for non-payment or material breach.
|
74
|
+
Upon termination or lapse, the Organization must immediately cease use and remove the Software (including derivatives) from all Production systems and repositories, except for non-commercial uses explicitly permitted in Section 4.
|
75
|
+
|
76
|
+
---
|
77
|
+
|
78
|
+
## 8. Updates & Support
|
79
|
+
|
80
|
+
While subscribed, the Organization receives software updates and reasonable support (email or issue tracker, business hours). No specific response or resolution times are guaranteed unless set out in an order or separate SLA.
|
81
|
+
|
82
|
+
---
|
83
|
+
|
84
|
+
## 9. Verification / Audit
|
85
|
+
|
86
|
+
If ShakaCode reasonably suspects non-compliance, the Organization will cooperate in good faith to verify compliance, including enabling inspection for attribution presence and providing a usage statement. ShakaCode will use commercially reasonable efforts to minimize disruption.
|
87
|
+
|
88
|
+
---
|
89
|
+
|
90
|
+
## 10. Feedback & Contributions
|
91
|
+
|
92
|
+
By submitting feedback or improvements, the Organization grants ShakaCode a worldwide, royalty-free, irrevocable license to use and incorporate them.
|
93
|
+
|
94
|
+
---
|
95
|
+
|
96
|
+
## 11. Intellectual Property
|
97
|
+
|
98
|
+
The Software is **licensed, not sold**. ShakaCode retains all rights, title, and interest, including all intellectual property rights.
|
99
|
+
|
100
|
+
---
|
101
|
+
|
102
|
+
## 12. Confidentiality
|
103
|
+
|
104
|
+
License keys and any non-public materials are ShakaCode confidential information. The Organization will protect them with at least reasonable care.
|
105
|
+
|
106
|
+
---
|
107
|
+
|
108
|
+
## 13. Warranty Disclaimer
|
109
|
+
|
110
|
+
> EXCEPT AS EXPRESSLY PROVIDED IN §8, THE SOFTWARE IS PROVIDED “AS IS,” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED.
|
111
|
+
|
112
|
+
---
|
113
|
+
|
114
|
+
## 14. Limitation of Liability
|
115
|
+
|
116
|
+
To the maximum extent permitted by law, ShakaCode is not liable for indirect, incidental, special, consequential, or punitive damages.
|
117
|
+
Direct damages are limited to amounts paid in the 12 months preceding the claim.
|
118
|
+
|
119
|
+
---
|
120
|
+
|
121
|
+
## 15. Governing Law; Venue
|
122
|
+
|
123
|
+
Choose one: **State of Hawaii**, USA. Exclusive jurisdiction and venue lie in the courts located therein.
|
124
|
+
|
125
|
+
---
|
126
|
+
|
127
|
+
## 16. Entire Agreement; Order of Precedence
|
128
|
+
|
129
|
+
This EULA and any order (pricing/term) are the entire agreement. If there is a conflict, the order controls.
|