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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/AI_AGENT_INSTRUCTIONS.md +63 -0
  3. data/CHANGELOG.md +564 -85
  4. data/CLAUDE.md +135 -0
  5. data/CODING_AGENTS.md +313 -0
  6. data/CONTRIBUTING.md +448 -37
  7. data/Gemfile.development_dependencies +6 -1
  8. data/Gemfile.lock +13 -4
  9. data/KUDOS.md +22 -1
  10. data/LICENSE.md +30 -4
  11. data/LICENSES/README.md +14 -0
  12. data/NEWS.md +48 -48
  13. data/PROJECTS.md +45 -40
  14. data/REACT-ON-RAILS-PRO-LICENSE.md +129 -0
  15. data/README.md +113 -42
  16. data/SUMMARY.md +62 -52
  17. data/TODO.md +135 -0
  18. data/bin/lefthook/check-trailing-newlines +38 -0
  19. data/bin/lefthook/get-changed-files +26 -0
  20. data/bin/lefthook/prettier-format +26 -0
  21. data/bin/lefthook/ruby-autofix +26 -0
  22. data/bin/lefthook/ruby-lint +27 -0
  23. data/eslint.config.ts +232 -0
  24. data/knip.ts +40 -6
  25. data/lib/generators/USAGE +4 -5
  26. data/lib/generators/react_on_rails/USAGE +65 -0
  27. data/lib/generators/react_on_rails/base_generator.rb +276 -62
  28. data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -0
  29. data/lib/generators/react_on_rails/generator_helper.rb +35 -1
  30. data/lib/generators/react_on_rails/generator_messages.rb +138 -17
  31. data/lib/generators/react_on_rails/install_generator.rb +474 -26
  32. data/lib/generators/react_on_rails/react_no_redux_generator.rb +19 -6
  33. data/lib/generators/react_on_rails/react_with_redux_generator.rb +110 -18
  34. data/lib/generators/react_on_rails/templates/.eslintrc +1 -1
  35. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev +5 -0
  36. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-prod-assets +8 -0
  37. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static-assets +2 -0
  38. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +0 -5
  39. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +2 -2
  40. data/lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js +1 -1
  41. data/lib/generators/react_on_rails/templates/base/base/app/javascript/packs/server-bundle.js +1 -8
  42. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx +21 -0
  43. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.tsx +25 -0
  44. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.module.css +4 -0
  45. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.jsx +5 -0
  46. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.tsx +5 -0
  47. data/lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt +1 -1
  48. data/lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb +4 -2
  49. data/lib/generators/react_on_rails/templates/base/base/babel.config.js.tt +5 -2
  50. data/lib/generators/react_on_rails/templates/base/base/bin/dev +34 -0
  51. data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt +14 -5
  52. data/lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml +76 -7
  53. data/lib/generators/react_on_rails/templates/base/base/config/webpack/commonWebpackConfig.js.tt +1 -1
  54. data/lib/generators/react_on_rails/templates/base/base/config/webpack/development.js.tt +6 -10
  55. data/lib/generators/react_on_rails/templates/base/base/config/webpack/production.js.tt +2 -2
  56. data/lib/generators/react_on_rails/templates/base/base/config/webpack/serverWebpackConfig.js.tt +3 -2
  57. data/lib/generators/react_on_rails/templates/base/base/config/webpack/test.js.tt +2 -2
  58. data/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +0 -2
  59. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.ts +18 -0
  60. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx +0 -6
  61. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +4 -0
  62. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx +24 -0
  63. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.ts +6 -0
  64. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.ts +20 -0
  65. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js +1 -1
  66. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.ts +22 -0
  67. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.client.tsx +23 -0
  68. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.jsx +5 -0
  69. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.tsx +5 -0
  70. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.ts +18 -0
  71. data/lib/react_on_rails/configuration.rb +141 -57
  72. data/lib/react_on_rails/controller.rb +6 -2
  73. data/lib/react_on_rails/dev/file_manager.rb +78 -0
  74. data/lib/react_on_rails/dev/pack_generator.rb +27 -0
  75. data/lib/react_on_rails/dev/process_manager.rb +61 -0
  76. data/lib/react_on_rails/dev/server_manager.rb +487 -0
  77. data/lib/react_on_rails/dev.rb +20 -0
  78. data/lib/react_on_rails/doctor.rb +1149 -0
  79. data/lib/react_on_rails/engine.rb +6 -0
  80. data/lib/react_on_rails/git_utils.rb +12 -2
  81. data/lib/react_on_rails/helper.rb +176 -74
  82. data/lib/react_on_rails/json_parse_error.rb +6 -1
  83. data/lib/react_on_rails/packer_utils.rb +61 -71
  84. data/lib/react_on_rails/packs_generator.rb +221 -19
  85. data/lib/react_on_rails/prerender_error.rb +4 -0
  86. data/lib/react_on_rails/pro/NOTICE +21 -0
  87. data/lib/react_on_rails/pro/helper.rb +122 -0
  88. data/lib/react_on_rails/pro/utils.rb +53 -0
  89. data/lib/react_on_rails/react_component/render_options.rb +38 -6
  90. data/lib/react_on_rails/server_rendering_js_code.rb +0 -1
  91. data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +12 -5
  92. data/lib/react_on_rails/system_checker.rb +659 -0
  93. data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +1 -1
  94. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +6 -4
  95. data/lib/react_on_rails/test_helper.rb +2 -3
  96. data/lib/react_on_rails/utils.rb +139 -43
  97. data/lib/react_on_rails/version.rb +1 -1
  98. data/lib/react_on_rails/version_checker.rb +14 -20
  99. data/lib/react_on_rails/version_syntax_converter.rb +1 -1
  100. data/lib/react_on_rails.rb +1 -0
  101. data/lib/tasks/assets.rake +1 -1
  102. data/lib/tasks/doctor.rake +48 -0
  103. data/lib/tasks/generate_packs.rake +158 -1
  104. data/react_on_rails.gemspec +1 -0
  105. data/tsconfig.eslint.json +6 -0
  106. data/tsconfig.json +5 -3
  107. metadata +63 -14
  108. data/REACT-ON-RAILS-PRO-LICENSE +0 -95
  109. data/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +0 -41
  110. data/lib/generators/react_on_rails/bin/dev +0 -30
  111. data/lib/generators/react_on_rails/bin/dev-static +0 -30
  112. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static.tt +0 -9
  113. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt +0 -5
  114. data/lib/generators/react_on_rails/templates/base/base/app/javascript/packs/registration.js.tt +0 -8
  115. /data/lib/generators/react_on_rails/templates/base/base/config/webpack/{webpackConfig.js.tt → generateWebpackConfigs.js.tt} +0 -0
  116. /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 (14.2.0)
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.0.0)
340
- shakapacker (8.0.0)
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.0.0)
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
  ![2017-10-07_00-18-43](https://user-images.githubusercontent.com/1118459/31306902-341a537a-aaf5-11e7-8014-28c126a7c975.png)
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
  ![image](https://user-images.githubusercontent.com/1118459/26994714-9aac5bb4-4d1d-11e7-8091-a3b08da9b319.png)
17
18
 
18
19
  ### May 6, 2017
20
+
19
21
  By Email
20
22
 
21
23
  ![image](https://cloud.githubusercontent.com/assets/1118459/25869348/b1bd27ce-349b-11e7-912c-11d05ab2bf4d.png)
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
  ![2017-04-06_16-11-51](https://cloud.githubusercontent.com/assets/1118459/24786595/75bb2b9c-1afe-11e7-8051-8c9046c4e007.png)
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
  ![2017-03-23_17-43-17](https://cloud.githubusercontent.com/assets/1118459/24279884/badab166-0ff0-11e7-87ab-94253f55a3d9.png)
32
36
 
33
37
  ### March 21, 2017
38
+
34
39
  Twitter from [@rfc2616](https://twitter.com/rfc2616)
35
40
 
36
41
  ![2017-03-24_20-20-20](https://cloud.githubusercontent.com/assets/1118459/24319983/7adfd57a-10cf-11e7-9a50-5c23d5d5bcab.png)
37
42
 
38
43
  ### March 2, 2017
44
+
39
45
  ![2017-03-05_21-34-34](https://cloud.githubusercontent.com/assets/1118459/23600716/0d8c40d6-01ec-11e7-998d-4ce9e6abcacb.png)
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
  ![The Complete React on Rails course](https://raw.githubusercontent.com/learnetto/calreact/whyror/public/why_react_on_rails_gem.png)
44
51
 
45
52
  ### December 20, 2016
53
+
46
54
  ![2016-12-25_10-02-17](https://cloud.githubusercontent.com/assets/1118459/21472700/70242a1e-ca89-11e6-9522-fb45f7835bbb.png)
47
55
 
48
56
  ### December 12, 2016
57
+
49
58
  ![2016-12-17_13-23-21](https://cloud.githubusercontent.com/assets/1118459/21290377/1adacdf2-c45c-11e6-97c1-f726ab749b2d.png)
50
59
 
51
60
  ### November 15, 2016
61
+
52
62
  ![2016-11-15_18-15-31](https://cloud.githubusercontent.com/assets/1118459/20334680/23eaab0c-ab60-11e6-8830-8528c2f829a3.png)
53
63
 
54
64
  ### November 9, 2016, in our Slack Room for ShakaCode
65
+
55
66
  ![2016-11-09_19-28-32](https://cloud.githubusercontent.com/assets/1118459/20163679/405229ca-a6b3-11e6-8dff-6dc3f59bf341.png)
56
67
 
57
68
  ### November 6, 2016
69
+
58
70
  https://github.com/shakacode/react_on_rails/pull/591#issuecomment-258685925
59
71
  ![2016-11-15_08-36-29](https://cloud.githubusercontent.com/assets/1118459/20318599/ec4882b0-ab0e-11e6-83e2-7f398e2cdf5b.png)
60
72
 
61
73
  ### October 29, 2016
74
+
62
75
  by Email
63
76
  ![2016-10-29_17-10-25](https://cloud.githubusercontent.com/assets/1118459/20163712/72307a82-a6b3-11e6-9c46-aee526192b23.png)
64
77
 
65
78
  ### September 11, 2016
79
+
66
80
  ![2016-09-11_17-55-46](https://cloud.githubusercontent.com/assets/1118459/18424209/0c8bdade-7849-11e6-96a7-3b58b26308ce.png)
67
81
 
68
82
  ### August 9, 2016
83
+
69
84
  ![2016-08-09_13-39-08](https://cloud.githubusercontent.com/assets/1118459/17543077/bf7c2c6a-5e69-11e6-8370-d714015c0296.png)
70
85
 
71
86
  ### June 15, 2016
87
+
72
88
  ![2016-06-15_08-57-25](https://cloud.githubusercontent.com/assets/1118459/16093324/33077310-32d7-11e6-88f3-69aa73bd7d9f.png)
73
89
 
74
- ### May 11, 2016
90
+ ### May 11, 2016
91
+
75
92
  ![2016-05-11_01-17-57](https://cloud.githubusercontent.com/assets/1118459/15179255/47418adc-1716-11e6-975e-c659a7de54d7.png)
76
93
 
77
94
  ![2016-05-11_00-54-57](https://cloud.githubusercontent.com/assets/1118459/15178739/1549ec2a-1713-11e6-961c-dc064186fc69.png)
78
95
 
79
96
  ### May 10, 2016
97
+
80
98
  ![2016-05-10_18-19-32](https://cloud.githubusercontent.com/assets/1118459/15170483/f00e344c-16e1-11e6-93f6-ded2637b227b.png)
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
  ![2016-03-25_07-40-01](https://cloud.githubusercontent.com/assets/1118459/14053652/d05480f0-f276-11e5-9d9a-62d1146cd82d.png)
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
  ![2016-03-23_16-24-51](https://cloud.githubusercontent.com/assets/1118459/14006786/ebf8cac2-f114-11e5-80f9-4a6d437dd071.png)
data/LICENSE.md CHANGED
@@ -1,6 +1,19 @@
1
- # The MIT License (MIT)
1
+ # Licensing
2
2
 
3
- Copyright (c) 2017, 2018 Justin Gordon and ShakaCode, http://www.shakacode.com
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
- THE SOFTWARE.
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)
@@ -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
- *A history of the news. A few bullets at the top will also show on the [README.md](./README.md).*
3
+ _A history of the news. A few bullets at the top will also show on the [README.md](./README.md)._
4
4
 
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/).
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
- * **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 setup the creation of your SSR bundle with `rails/webpacker`.
11
- * July 8, 2020: Release **v12**.
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
- * 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://www.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`.
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
- * 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:
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
- * There was a fatal error when using the lastest 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:
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
- * 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).
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
- *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`**.*
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
- * **[Hawaii Chee](https://www.hawaiichee.com/)**, the signature product of [ShakaCode](http://www.shakacode.com), which is a vacation rental site focusing on Hawaii.
14
- * **[RedFlagDeals](https://www.redflagdeals.com/)**, Canadian shopping site.
15
- * **[YourMechanic](https://www.yourmechanic.com/)**, home calls for mechanics.
16
- * **[Suntransfers](https://www.suntransfers.com/)**, airport car rides site.
17
- * **[Decanter](http://www.decanter.com/)**, wine site.
18
- * **[LocalWise](https://www.localwise.com/)**, local job site.
19
- * **[Ellevest](https://www.ellevest.com/)**, investments for women.
20
- * **[OppenheimerFunds](https://www.oppenheimerfunds.com/)**, investment site.
21
- * **[KissKissBankBank](https://www.kisskissbankbank.com/)**, large French crowdfunding platform.
22
- * **[HVMN](https://hvmn.com)**: Web ecommerce site for "biohacking" products.
23
- * **[GuavaPass](https://guavapass.com/)**: Coaching client of [ShakaCode](http://www.shakacode.com) and React on Rails fan!
24
- * **[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!
25
- * **[Estately](https://www.estately.com)**: Home search.
26
- * **[Blink Inc](https://www.blinkinc.com)**: Website and more built by [ShakaCode](http://www.shakacode.com).
27
- * **[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/).
28
- * **[Deliveroo](https://deliveroo.co.uk/)**: The leading food delivery site in Europe has gone live with React on Rails, with multi-lingual JavaScript support!
29
- ![2016-05-03_19-18-34](https://cloud.githubusercontent.com/assets/1118459/15027253/91fd151a-11de-11e6-93e3-720518995fe0.png)
30
- * **[Airgoat](https://airgoat.com/)**: Marketplace for sneakers.
31
- * **[Apprentus](https://www.apprentus.com/)**: A marketplace to find the best private teachers. Using react-on-rails from the homepage to infinity!
32
- * **[Confident Financial Solutions](https://www.mycfsapp.com/)**: Auto Repair Financing to help people get back on the road and back to life.
33
- * **[Flyhomes](https://www.flyhomes.com/)**: Real estate brokerage service that awards frequent flyer miles.
34
- * **[Undeveloped](https://undeveloped.com/)**: Buy and sell domain names. ![image](https://cloud.githubusercontent.com/assets/1118459/19623703/7c6d63d0-9870-11e6-83f2-8b83ca49daa9.png)
35
- * **[Foxford.ru](http://foxford.ru/)**: Online School ![2016-12-17_13-23-21](https://cloud.githubusercontent.com/assets/1118459/21290377/1adacdf2-c45c-11e6-97c1-f726ab749b2d.png)
36
- * **[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!
37
- * **[first](https://first.io/)**: Data-driven Relational Marketing for Real Estate.
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
+ ![2016-05-03_19-18-34](https://cloud.githubusercontent.com/assets/1118459/15027253/91fd151a-11de-11e6-93e3-720518995fe0.png)
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. ![image](https://cloud.githubusercontent.com/assets/1118459/19623703/7c6d63d0-9870-11e6-83f2-8b83ca49daa9.png)
36
+ - **[Foxford.ru](http://foxford.ru/)**: Online School ![2016-12-17_13-23-21](https://cloud.githubusercontent.com/assets/1118459/21290377/1adacdf2-c45c-11e6-97c1-f726ab749b2d.png)
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
- ## Demos and Tutorials
45
- * [reactrails.com](http://www.reactrails.com), source code [github.com/shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial/)
46
- * [Relay Rails Blog](https://github.com/gauravtiwari/relay-rails-blog): Tutorial to learn Relay with Rails.
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
- ## Per Github.
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
- * [github.com/Limenius/symfony-react-sandbox](https://github.com/Limenius/symfony-react-sandbox)
56
- * [github.com/tswayne/react-helper](https://github.com/tswayne/react-helper)
57
- * [github.com/KissKissBankBank/kitten](https://github.com/KissKissBankBank/kitten)
58
- * [github.com/sharetribe/sharetribe](https://github.com/sharetribe/sharetribe): Open source marketplace platform.
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.