react_on_rails 14.0.0 → 14.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -9
- data/Gemfile.development_dependencies +2 -3
- data/Gemfile.lock +434 -0
- data/README.md +23 -15
- data/lib/generators/react_on_rails/base_generator.rb +2 -10
- data/lib/generators/react_on_rails/install_generator.rb +4 -4
- data/lib/react_on_rails/git_utils.rb +1 -1
- data/lib/react_on_rails/helper.rb +1 -2
- data/lib/react_on_rails/packs_generator.rb +3 -2
- data/lib/react_on_rails/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87289fa53128766e9295ad92d57015cafddfc9668324e62977d90ace31cbac83
|
4
|
+
data.tar.gz: 7f1d8b3e048ff7e93d4b0506bc2421ae25d5b0961d24c1972c2ca78b26e87edf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1832bb6fbfe649168ff1de8a8d1a1f86f93ba52cf59c90fb2a2d23d28776240327521efc2d674b8d566f10bf1fa52da4390cc2b008b7c42c00901eea2a6a9e0
|
7
|
+
data.tar.gz: 8a7c5df6bcf809ee854e1b42b48219c46b4e0607e1f22f7a3f4a97cd30f5ef279a3a189d3055b118702d02bac4efc225693966b27a2d864932dd6065d0aadd3e
|
data/CHANGELOG.md
CHANGED
@@ -4,9 +4,12 @@ All notable changes to this project's source code will be documented in this fil
|
|
4
4
|
Migration instructions for the major updates can be found [here](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-version-9.md). Some smaller migration information can be found here.
|
5
5
|
|
6
6
|
## Want to Save Time Updating?
|
7
|
-
If you would like help in migrating between React on Rails versions or help with implementing server rendering, please contact [justin@shakacode.com](mailto:justin@shakacode.com) for information about our [React on Rails Pro Support Options](https://www.shakacode.com/react-on-rails-pro).
|
8
7
|
|
9
|
-
|
8
|
+
If you need help upgrading `react_on_rails`, `webpacker` to `shakapacker`, or JS packages, contact justin@shakacode.com. We can upgrade your project and improve your development and customer experiences, allowing you to focus on building new features or fixing bugs instead.
|
9
|
+
|
10
|
+
For an overview of working with us, see our [Client Engagement Model](https://www.shakacode.com/blog/client-engagement-model/) article and [how we bill for time](https://www.shakacode.com/blog/shortcut-jira-trello-github-toggl-time-and-task-tracking/).
|
11
|
+
|
12
|
+
If you think ShakaCode can help your project, [click here](https://meetings.hubspot.com/justingordon/30-minute-consultation) to book a call with [Justin Gordon](mailto:justin@shakacode.com), the creator of React on Rails and Shakapacker.
|
10
13
|
|
11
14
|
## Contributors
|
12
15
|
Please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
|
@@ -15,6 +18,16 @@ Please follow the recommendations outlined at [keepachangelog.com](http://keepac
|
|
15
18
|
### [Unreleased]
|
16
19
|
Changes since the last non-beta release.
|
17
20
|
|
21
|
+
### [14.0.2] - 2024-06-11
|
22
|
+
|
23
|
+
#### Fixed
|
24
|
+
- Project initialization with Shakapacker v8+ fixed [PR 1629](https://github.com/shakacode/react_on_rails/pull/1629) by [vaukalak](https://github.com/vaukalak)
|
25
|
+
|
26
|
+
### [14.0.1] - 2024-05-16
|
27
|
+
|
28
|
+
#### Fixed
|
29
|
+
- Pack Generation: Added functionality that will add an import statement, if missing, to the server bundle entry point even if the auto-bundle generated files still exist [PR 1610](https://github.com/shakacode/react_on_rails/pull/1610) by [judahmeek](https://github.com/judahmeek).
|
30
|
+
|
18
31
|
### [14.0.0] - 2024-04-03
|
19
32
|
_Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigLoader.js`._
|
20
33
|
|
@@ -25,11 +38,7 @@ _Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigL
|
|
25
38
|
#### Fixed
|
26
39
|
- Trimmed the Gem to remove package.json which could cause superflous security warnings. [PR 1605](https://github.com/shakacode/react_on_rails/pull/1605) by [justin808](https://github.com/justin808).
|
27
40
|
- Prevent displaying the deprecation message for using `webpacker_precompile?` method and `webpacker:clean` rake task when using Shakapacker v7+ [PR 1592](https://github.com/shakacode/react_on_rails/pull/1592) by [ahangarha](https://github.com/ahangarha).
|
28
|
-
|
29
|
-
### [13.4.1]
|
30
|
-
#### Fixed
|
31
41
|
- Fixed Typescript types for ServerRenderResult, ReactComponent, RenderFunction, and RailsContext interfaces. [PR 1582](https://github.com/shakacode/react_on_rails/pull/1582) & [PR 1585](https://github.com/shakacode/react_on_rails/pull/1585) by [kotarella1110](https://github.com/kotarella1110)
|
32
|
-
|
33
42
|
- Removed a workaround in `JsonOutput#escape` for an no-longer supported Rails version. Additionally, removed `Utils.rails_version_less_than_4_1_1`
|
34
43
|
which was only used in the workaround. [PR 1580](https://github.com/shakacode/react_on_rails/pull/1580) by [wwahammy](https://github.com/wwahammy)
|
35
44
|
|
@@ -1124,9 +1133,10 @@ Best done with Object destructing:
|
|
1124
1133
|
##### Fixed
|
1125
1134
|
- Fix several generator-related issues.
|
1126
1135
|
|
1127
|
-
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/14.0.
|
1128
|
-
[14.0.
|
1129
|
-
[
|
1136
|
+
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/14.0.2...master
|
1137
|
+
[14.0.2]: https://github.com/shakacode/react_on_rails/compare/14.0.1...14.0.2
|
1138
|
+
[14.0.1]: https://github.com/shakacode/react_on_rails/compare/14.0.0...14.0.1
|
1139
|
+
[14.0.0]: https://github.com/shakacode/react_on_rails/compare/13.4.0...14.0.0
|
1130
1140
|
[13.4.0]: https://github.com/shakacode/react_on_rails/compare/13.3.5...13.4.0
|
1131
1141
|
[13.3.5]: https://github.com/shakacode/react_on_rails/compare/13.3.4...13.3.5
|
1132
1142
|
[13.3.4]: https://github.com/shakacode/react_on_rails/compare/13.3.3...13.3.4
|
@@ -4,12 +4,11 @@ gem "shakapacker", "7.2.1"
|
|
4
4
|
gem "bootsnap", require: false
|
5
5
|
gem "rails", "~> 7.1"
|
6
6
|
|
7
|
-
gem "sqlite3"
|
7
|
+
gem "sqlite3", "~> 1.6"
|
8
8
|
gem "sass-rails", "~> 6.0"
|
9
9
|
gem "uglifier"
|
10
10
|
gem "jquery-rails"
|
11
11
|
gem "puma", "~> 6.0"
|
12
|
-
gem "bundler", "2.5.3"
|
13
12
|
|
14
13
|
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
|
15
14
|
gem "turbolinks" if ENV["DISABLE_TURBOLINKS"].nil? || ENV["DISABLE_TURBOLINKS"].strip.empty?
|
@@ -30,7 +29,7 @@ group :development, :test do
|
|
30
29
|
gem "pry-doc"
|
31
30
|
gem "pry-rails"
|
32
31
|
gem "pry-rescue"
|
33
|
-
gem "rubocop", "
|
32
|
+
gem "rubocop", "1.61.0", require: false
|
34
33
|
gem "rubocop-performance", "~>1.20.0", require: false
|
35
34
|
gem "rubocop-rspec", "~>2.26", require: false
|
36
35
|
gem "scss_lint", require: false
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,434 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
react_on_rails (14.0.0)
|
5
|
+
addressable
|
6
|
+
connection_pool
|
7
|
+
execjs (~> 2.5)
|
8
|
+
rails (>= 5.2)
|
9
|
+
rainbow (~> 3.0)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: https://rubygems.org/
|
13
|
+
specs:
|
14
|
+
actioncable (7.1.3.2)
|
15
|
+
actionpack (= 7.1.3.2)
|
16
|
+
activesupport (= 7.1.3.2)
|
17
|
+
nio4r (~> 2.0)
|
18
|
+
websocket-driver (>= 0.6.1)
|
19
|
+
zeitwerk (~> 2.6)
|
20
|
+
actionmailbox (7.1.3.2)
|
21
|
+
actionpack (= 7.1.3.2)
|
22
|
+
activejob (= 7.1.3.2)
|
23
|
+
activerecord (= 7.1.3.2)
|
24
|
+
activestorage (= 7.1.3.2)
|
25
|
+
activesupport (= 7.1.3.2)
|
26
|
+
mail (>= 2.7.1)
|
27
|
+
net-imap
|
28
|
+
net-pop
|
29
|
+
net-smtp
|
30
|
+
actionmailer (7.1.3.2)
|
31
|
+
actionpack (= 7.1.3.2)
|
32
|
+
actionview (= 7.1.3.2)
|
33
|
+
activejob (= 7.1.3.2)
|
34
|
+
activesupport (= 7.1.3.2)
|
35
|
+
mail (~> 2.5, >= 2.5.4)
|
36
|
+
net-imap
|
37
|
+
net-pop
|
38
|
+
net-smtp
|
39
|
+
rails-dom-testing (~> 2.2)
|
40
|
+
actionpack (7.1.3.2)
|
41
|
+
actionview (= 7.1.3.2)
|
42
|
+
activesupport (= 7.1.3.2)
|
43
|
+
nokogiri (>= 1.8.5)
|
44
|
+
racc
|
45
|
+
rack (>= 2.2.4)
|
46
|
+
rack-session (>= 1.0.1)
|
47
|
+
rack-test (>= 0.6.3)
|
48
|
+
rails-dom-testing (~> 2.2)
|
49
|
+
rails-html-sanitizer (~> 1.6)
|
50
|
+
actiontext (7.1.3.2)
|
51
|
+
actionpack (= 7.1.3.2)
|
52
|
+
activerecord (= 7.1.3.2)
|
53
|
+
activestorage (= 7.1.3.2)
|
54
|
+
activesupport (= 7.1.3.2)
|
55
|
+
globalid (>= 0.6.0)
|
56
|
+
nokogiri (>= 1.8.5)
|
57
|
+
actionview (7.1.3.2)
|
58
|
+
activesupport (= 7.1.3.2)
|
59
|
+
builder (~> 3.1)
|
60
|
+
erubi (~> 1.11)
|
61
|
+
rails-dom-testing (~> 2.2)
|
62
|
+
rails-html-sanitizer (~> 1.6)
|
63
|
+
activejob (7.1.3.2)
|
64
|
+
activesupport (= 7.1.3.2)
|
65
|
+
globalid (>= 0.3.6)
|
66
|
+
activemodel (7.1.3.2)
|
67
|
+
activesupport (= 7.1.3.2)
|
68
|
+
activerecord (7.1.3.2)
|
69
|
+
activemodel (= 7.1.3.2)
|
70
|
+
activesupport (= 7.1.3.2)
|
71
|
+
timeout (>= 0.4.0)
|
72
|
+
activestorage (7.1.3.2)
|
73
|
+
actionpack (= 7.1.3.2)
|
74
|
+
activejob (= 7.1.3.2)
|
75
|
+
activerecord (= 7.1.3.2)
|
76
|
+
activesupport (= 7.1.3.2)
|
77
|
+
marcel (~> 1.0)
|
78
|
+
activesupport (7.1.3.2)
|
79
|
+
base64
|
80
|
+
bigdecimal
|
81
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
82
|
+
connection_pool (>= 2.2.5)
|
83
|
+
drb
|
84
|
+
i18n (>= 1.6, < 2)
|
85
|
+
minitest (>= 5.1)
|
86
|
+
mutex_m
|
87
|
+
tzinfo (~> 2.0)
|
88
|
+
addressable (2.8.6)
|
89
|
+
public_suffix (>= 2.0.2, < 6.0)
|
90
|
+
amazing_print (1.6.0)
|
91
|
+
ast (2.4.2)
|
92
|
+
base64 (0.2.0)
|
93
|
+
bigdecimal (3.1.8)
|
94
|
+
bootsnap (1.18.3)
|
95
|
+
msgpack (~> 1.2)
|
96
|
+
builder (3.2.4)
|
97
|
+
byebug (11.1.3)
|
98
|
+
capybara (3.40.0)
|
99
|
+
addressable
|
100
|
+
matrix
|
101
|
+
mini_mime (>= 0.1.3)
|
102
|
+
nokogiri (~> 1.11)
|
103
|
+
rack (>= 1.6.0)
|
104
|
+
rack-test (>= 0.6.3)
|
105
|
+
regexp_parser (>= 1.5, < 3.0)
|
106
|
+
xpath (~> 3.2)
|
107
|
+
capybara-screenshot (1.0.26)
|
108
|
+
capybara (>= 1.0, < 4)
|
109
|
+
launchy
|
110
|
+
childprocess (5.0.0)
|
111
|
+
coderay (1.1.3)
|
112
|
+
concurrent-ruby (1.2.3)
|
113
|
+
connection_pool (2.4.1)
|
114
|
+
coveralls (0.8.23)
|
115
|
+
json (>= 1.8, < 3)
|
116
|
+
simplecov (~> 0.16.1)
|
117
|
+
term-ansicolor (~> 1.3)
|
118
|
+
thor (>= 0.19.4, < 2.0)
|
119
|
+
tins (~> 1.6)
|
120
|
+
crass (1.0.6)
|
121
|
+
date (3.3.4)
|
122
|
+
diff-lcs (1.5.1)
|
123
|
+
docile (1.4.0)
|
124
|
+
drb (2.2.1)
|
125
|
+
equivalent-xml (0.6.0)
|
126
|
+
nokogiri (>= 1.4.3)
|
127
|
+
erubi (1.12.0)
|
128
|
+
execjs (2.9.1)
|
129
|
+
ffi (1.16.3)
|
130
|
+
gem-release (2.2.2)
|
131
|
+
generator_spec (0.10.0)
|
132
|
+
activesupport (>= 3.0.0)
|
133
|
+
railties (>= 3.0.0)
|
134
|
+
globalid (1.2.1)
|
135
|
+
activesupport (>= 6.1)
|
136
|
+
i18n (1.14.5)
|
137
|
+
concurrent-ruby (~> 1.0)
|
138
|
+
interception (0.5)
|
139
|
+
io-console (0.7.2)
|
140
|
+
irb (1.13.1)
|
141
|
+
rdoc (>= 4.0.0)
|
142
|
+
reline (>= 0.4.2)
|
143
|
+
jbuilder (2.12.0)
|
144
|
+
actionview (>= 5.0.0)
|
145
|
+
activesupport (>= 5.0.0)
|
146
|
+
jquery-rails (4.6.0)
|
147
|
+
rails-dom-testing (>= 1, < 3)
|
148
|
+
railties (>= 4.2.0)
|
149
|
+
thor (>= 0.14, < 2.0)
|
150
|
+
json (2.7.2)
|
151
|
+
language_server-protocol (3.17.0.3)
|
152
|
+
launchy (3.0.1)
|
153
|
+
addressable (~> 2.8)
|
154
|
+
childprocess (~> 5.0)
|
155
|
+
listen (3.9.0)
|
156
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
157
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
158
|
+
loofah (2.22.0)
|
159
|
+
crass (~> 1.0.2)
|
160
|
+
nokogiri (>= 1.12.0)
|
161
|
+
mail (2.8.1)
|
162
|
+
mini_mime (>= 0.1.1)
|
163
|
+
net-imap
|
164
|
+
net-pop
|
165
|
+
net-smtp
|
166
|
+
marcel (1.0.4)
|
167
|
+
matrix (0.4.2)
|
168
|
+
method_source (1.1.0)
|
169
|
+
mini_mime (1.1.5)
|
170
|
+
mini_portile2 (2.8.6)
|
171
|
+
minitest (5.23.0)
|
172
|
+
msgpack (1.7.2)
|
173
|
+
mutex_m (0.2.0)
|
174
|
+
net-imap (0.4.11)
|
175
|
+
date
|
176
|
+
net-protocol
|
177
|
+
net-pop (0.1.2)
|
178
|
+
net-protocol
|
179
|
+
net-protocol (0.2.2)
|
180
|
+
timeout
|
181
|
+
net-smtp (0.5.0)
|
182
|
+
net-protocol
|
183
|
+
nio4r (2.7.3)
|
184
|
+
nokogiri (1.16.5)
|
185
|
+
mini_portile2 (~> 2.8.2)
|
186
|
+
racc (~> 1.4)
|
187
|
+
package_json (0.1.0)
|
188
|
+
parallel (1.24.0)
|
189
|
+
parser (3.3.1.0)
|
190
|
+
ast (~> 2.4.1)
|
191
|
+
racc
|
192
|
+
pry (0.14.2)
|
193
|
+
coderay (~> 1.1)
|
194
|
+
method_source (~> 1.0)
|
195
|
+
pry-byebug (3.10.1)
|
196
|
+
byebug (~> 11.0)
|
197
|
+
pry (>= 0.13, < 0.15)
|
198
|
+
pry-doc (1.5.0)
|
199
|
+
pry (~> 0.11)
|
200
|
+
yard (~> 0.9.11)
|
201
|
+
pry-rails (0.3.9)
|
202
|
+
pry (>= 0.10.4)
|
203
|
+
pry-rescue (1.6.0)
|
204
|
+
interception (>= 0.5)
|
205
|
+
pry (>= 0.12.0)
|
206
|
+
psych (5.1.2)
|
207
|
+
stringio
|
208
|
+
public_suffix (5.0.5)
|
209
|
+
puma (6.4.2)
|
210
|
+
nio4r (~> 2.0)
|
211
|
+
racc (1.7.3)
|
212
|
+
rack (3.0.11)
|
213
|
+
rack-proxy (0.7.7)
|
214
|
+
rack
|
215
|
+
rack-session (2.0.0)
|
216
|
+
rack (>= 3.0.0)
|
217
|
+
rack-test (2.1.0)
|
218
|
+
rack (>= 1.3)
|
219
|
+
rackup (2.1.0)
|
220
|
+
rack (>= 3)
|
221
|
+
webrick (~> 1.8)
|
222
|
+
rails (7.1.3.2)
|
223
|
+
actioncable (= 7.1.3.2)
|
224
|
+
actionmailbox (= 7.1.3.2)
|
225
|
+
actionmailer (= 7.1.3.2)
|
226
|
+
actionpack (= 7.1.3.2)
|
227
|
+
actiontext (= 7.1.3.2)
|
228
|
+
actionview (= 7.1.3.2)
|
229
|
+
activejob (= 7.1.3.2)
|
230
|
+
activemodel (= 7.1.3.2)
|
231
|
+
activerecord (= 7.1.3.2)
|
232
|
+
activestorage (= 7.1.3.2)
|
233
|
+
activesupport (= 7.1.3.2)
|
234
|
+
bundler (>= 1.15.0)
|
235
|
+
railties (= 7.1.3.2)
|
236
|
+
rails-dom-testing (2.2.0)
|
237
|
+
activesupport (>= 5.0.0)
|
238
|
+
minitest
|
239
|
+
nokogiri (>= 1.6)
|
240
|
+
rails-html-sanitizer (1.6.0)
|
241
|
+
loofah (~> 2.21)
|
242
|
+
nokogiri (~> 1.14)
|
243
|
+
railties (7.1.3.2)
|
244
|
+
actionpack (= 7.1.3.2)
|
245
|
+
activesupport (= 7.1.3.2)
|
246
|
+
irb
|
247
|
+
rackup (>= 1.0.0)
|
248
|
+
rake (>= 12.2)
|
249
|
+
thor (~> 1.0, >= 1.2.2)
|
250
|
+
zeitwerk (~> 2.6)
|
251
|
+
rainbow (3.1.1)
|
252
|
+
rake (13.2.1)
|
253
|
+
rb-fsevent (0.11.2)
|
254
|
+
rb-inotify (0.10.1)
|
255
|
+
ffi (~> 1.0)
|
256
|
+
rdoc (6.6.3.1)
|
257
|
+
psych (>= 4.0.0)
|
258
|
+
regexp_parser (2.9.2)
|
259
|
+
reline (0.5.7)
|
260
|
+
io-console (~> 0.5)
|
261
|
+
rexml (3.2.7)
|
262
|
+
strscan (>= 3.0.9)
|
263
|
+
rspec-core (3.13.0)
|
264
|
+
rspec-support (~> 3.13.0)
|
265
|
+
rspec-expectations (3.13.0)
|
266
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
267
|
+
rspec-support (~> 3.13.0)
|
268
|
+
rspec-mocks (3.13.1)
|
269
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
270
|
+
rspec-support (~> 3.13.0)
|
271
|
+
rspec-rails (6.1.2)
|
272
|
+
actionpack (>= 6.1)
|
273
|
+
activesupport (>= 6.1)
|
274
|
+
railties (>= 6.1)
|
275
|
+
rspec-core (~> 3.13)
|
276
|
+
rspec-expectations (~> 3.13)
|
277
|
+
rspec-mocks (~> 3.13)
|
278
|
+
rspec-support (~> 3.13)
|
279
|
+
rspec-retry (0.6.2)
|
280
|
+
rspec-core (> 3.3)
|
281
|
+
rspec-support (3.13.1)
|
282
|
+
rspec_junit_formatter (0.6.0)
|
283
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
284
|
+
rubocop (1.61.0)
|
285
|
+
json (~> 2.3)
|
286
|
+
language_server-protocol (>= 3.17.0)
|
287
|
+
parallel (~> 1.10)
|
288
|
+
parser (>= 3.3.0.2)
|
289
|
+
rainbow (>= 2.2.2, < 4.0)
|
290
|
+
regexp_parser (>= 1.8, < 3.0)
|
291
|
+
rexml (>= 3.2.5, < 4.0)
|
292
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
293
|
+
ruby-progressbar (~> 1.7)
|
294
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
295
|
+
rubocop-ast (1.31.3)
|
296
|
+
parser (>= 3.3.1.0)
|
297
|
+
rubocop-capybara (2.20.0)
|
298
|
+
rubocop (~> 1.41)
|
299
|
+
rubocop-factory_bot (2.25.1)
|
300
|
+
rubocop (~> 1.41)
|
301
|
+
rubocop-performance (1.20.2)
|
302
|
+
rubocop (>= 1.48.1, < 2.0)
|
303
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
304
|
+
rubocop-rspec (2.29.2)
|
305
|
+
rubocop (~> 1.40)
|
306
|
+
rubocop-capybara (~> 2.17)
|
307
|
+
rubocop-factory_bot (~> 2.22)
|
308
|
+
rubocop-rspec_rails (~> 2.28)
|
309
|
+
rubocop-rspec_rails (2.28.3)
|
310
|
+
rubocop (~> 1.40)
|
311
|
+
ruby-progressbar (1.13.0)
|
312
|
+
rubyzip (2.3.2)
|
313
|
+
sass (3.7.4)
|
314
|
+
sass-listen (~> 4.0.0)
|
315
|
+
sass-listen (4.0.0)
|
316
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
317
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
318
|
+
sass-rails (6.0.0)
|
319
|
+
sassc-rails (~> 2.1, >= 2.1.1)
|
320
|
+
sassc (2.4.0)
|
321
|
+
ffi (~> 1.9)
|
322
|
+
sassc-rails (2.1.2)
|
323
|
+
railties (>= 4.0.0)
|
324
|
+
sassc (>= 2.0)
|
325
|
+
sprockets (> 3.0)
|
326
|
+
sprockets-rails
|
327
|
+
tilt
|
328
|
+
scss_lint (0.60.0)
|
329
|
+
sass (~> 3.5, >= 3.5.5)
|
330
|
+
sdoc (2.6.1)
|
331
|
+
rdoc (>= 5.0)
|
332
|
+
selenium-webdriver (4.9.0)
|
333
|
+
rexml (~> 3.2, >= 3.2.5)
|
334
|
+
rubyzip (>= 1.2.2, < 3.0)
|
335
|
+
websocket (~> 1.0)
|
336
|
+
semantic_range (3.0.0)
|
337
|
+
shakapacker (7.2.1)
|
338
|
+
activesupport (>= 5.2)
|
339
|
+
package_json
|
340
|
+
rack-proxy (>= 0.6.1)
|
341
|
+
railties (>= 5.2)
|
342
|
+
semantic_range (>= 2.3.0)
|
343
|
+
simplecov (0.16.1)
|
344
|
+
docile (~> 1.1)
|
345
|
+
json (>= 1.8, < 3)
|
346
|
+
simplecov-html (~> 0.10.0)
|
347
|
+
simplecov-html (0.10.2)
|
348
|
+
spring (4.2.1)
|
349
|
+
sprockets (4.2.1)
|
350
|
+
concurrent-ruby (~> 1.0)
|
351
|
+
rack (>= 2.2.4, < 4)
|
352
|
+
sprockets-rails (3.4.2)
|
353
|
+
actionpack (>= 5.2)
|
354
|
+
activesupport (>= 5.2)
|
355
|
+
sprockets (>= 3.0.0)
|
356
|
+
sqlite3 (1.7.3)
|
357
|
+
mini_portile2 (~> 2.8.0)
|
358
|
+
stringio (3.1.0)
|
359
|
+
strscan (3.1.0)
|
360
|
+
sync (0.5.0)
|
361
|
+
term-ansicolor (1.8.0)
|
362
|
+
tins (~> 1.0)
|
363
|
+
thor (1.3.1)
|
364
|
+
tilt (2.3.0)
|
365
|
+
timeout (0.4.1)
|
366
|
+
tins (1.33.0)
|
367
|
+
bigdecimal
|
368
|
+
sync
|
369
|
+
turbolinks (5.2.1)
|
370
|
+
turbolinks-source (~> 5.2)
|
371
|
+
turbolinks-source (5.2.0)
|
372
|
+
tzinfo (2.0.6)
|
373
|
+
concurrent-ruby (~> 1.0)
|
374
|
+
uglifier (4.2.0)
|
375
|
+
execjs (>= 0.3.0, < 3)
|
376
|
+
unicode-display_width (2.5.0)
|
377
|
+
webdrivers (5.3.0)
|
378
|
+
nokogiri (~> 1.6)
|
379
|
+
rubyzip (>= 1.3.0)
|
380
|
+
selenium-webdriver (~> 4.0, < 4.11)
|
381
|
+
webrick (1.8.1)
|
382
|
+
websocket (1.2.10)
|
383
|
+
websocket-driver (0.7.6)
|
384
|
+
websocket-extensions (>= 0.1.0)
|
385
|
+
websocket-extensions (0.1.5)
|
386
|
+
xpath (3.2.0)
|
387
|
+
nokogiri (~> 1.8)
|
388
|
+
yard (0.9.36)
|
389
|
+
zeitwerk (2.6.14)
|
390
|
+
|
391
|
+
PLATFORMS
|
392
|
+
ruby
|
393
|
+
|
394
|
+
DEPENDENCIES
|
395
|
+
amazing_print
|
396
|
+
bootsnap
|
397
|
+
capybara
|
398
|
+
capybara-screenshot
|
399
|
+
coveralls
|
400
|
+
equivalent-xml
|
401
|
+
gem-release
|
402
|
+
generator_spec
|
403
|
+
jbuilder
|
404
|
+
jquery-rails
|
405
|
+
launchy
|
406
|
+
listen
|
407
|
+
pry
|
408
|
+
pry-byebug
|
409
|
+
pry-doc
|
410
|
+
pry-rails
|
411
|
+
pry-rescue
|
412
|
+
puma (~> 6.0)
|
413
|
+
rails (~> 7.1)
|
414
|
+
react_on_rails!
|
415
|
+
rspec-rails
|
416
|
+
rspec-retry
|
417
|
+
rspec_junit_formatter
|
418
|
+
rubocop (= 1.61.0)
|
419
|
+
rubocop-performance (~> 1.20.0)
|
420
|
+
rubocop-rspec (~> 2.26)
|
421
|
+
sass-rails (~> 6.0)
|
422
|
+
scss_lint
|
423
|
+
sdoc
|
424
|
+
selenium-webdriver (= 4.9.0)
|
425
|
+
shakapacker (= 7.2.1)
|
426
|
+
spring (~> 4.0)
|
427
|
+
sprockets (~> 4.0)
|
428
|
+
sqlite3 (~> 1.6)
|
429
|
+
turbolinks
|
430
|
+
uglifier
|
431
|
+
webdrivers (= 5.3.0)
|
432
|
+
|
433
|
+
BUNDLED WITH
|
434
|
+
2.5.9
|
data/README.md
CHANGED
@@ -24,17 +24,25 @@
|
|
24
24
|
|
25
25
|
*These are the docs for React on Rails 13. To see the older docs: [v12](https://github.com/shakacode/react_on_rails/tree/12.6.0) and [v11](https://github.com/shakacode/react_on_rails/tree/11.3.0).*
|
26
26
|
|
27
|
-
|
28
|
-
React on Rails integrates Rails with (server rendering of)
|
27
|
+
# About
|
28
|
+
React on Rails integrates Rails with (server rendering of) [React](https://github.com/facebook/react).
|
29
29
|
|
30
|
-
This project is maintained by
|
30
|
+
This project is maintained by [ShakaCode](https://www.shakacode.com).
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
[loadable-components](https://loadable-components.com/) with server-side rendering for SEO and hot-reloading for developers?
|
35
|
-
We did this for Popmenu, [lowering Heroku costs 20-25% while getting a 73% decrease in average response times](https://www.shakacode.com/recent-work/popmenu/). Several years later, Popmenu is serving millions of SSR requests per day with React on Rails.
|
32
|
+
## ShakaCode Upgrade Support
|
33
|
+
ShakaCode focuses on helping Ruby on Rails teams better use React and Webpack. We can upgrade your project and improve your development and customer experiences, allowing you to focus on building new features or fixing bugs instead.
|
36
34
|
|
37
|
-
|
35
|
+
For an overview of working with us, see our [Client Engagement Model](https://www.shakacode.com/blog/client-engagement-model/) article and [how we bill for time](https://www.shakacode.com/blog/shortcut-jira-trello-github-toggl-time-and-task-tracking/).
|
36
|
+
|
37
|
+
We also specialize in helping development teams lower infrastructure and CI costs. Check out our project [Control Plane Flow](https://github.com/shakacode/control-plane-flow/), which can allow you to get the ease of Heroku with the power of Kubernetes and big cost savings.
|
38
|
+
|
39
|
+
If you think ShakaCode can help your project, [click here](https://meetings.hubspot.com/justingordon/30-minute-consultation) to book a call with [Justin Gordon](mailto:justin@shakacode.com), the creator of React on Rails.
|
40
|
+
|
41
|
+
## React on Rails Pro
|
42
|
+
Are you interested in optimizing your webpack setup for React on Rails, including code splitting with [react-router](https://github.com/ReactTraining/react-router#readme) and [loadable-components](https://loadable-components.com/) with server-side rendering for SEO and hot-reloading for developers?
|
43
|
+
We did this for Popmenu, [lowering Heroku costs 20-25% while getting a 73% decrease in average response times](https://www.shakacode.com/recent-work/popmenu/). Several years later, Popmenu serves tens of millions of SSR requests daily with React on Rails Pro.
|
44
|
+
|
45
|
+
If you're interested, read more about [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/) and [book a call](https://meetings.hubspot.com/justingordon/30-minute-consultation).
|
38
46
|
|
39
47
|
# Documentation
|
40
48
|
|
@@ -42,16 +50,16 @@ See the documentation at **[shakacode.com/react-on-rails/docs](https://www.shaka
|
|
42
50
|
|
43
51
|
## Project Objective
|
44
52
|
|
45
|
-
To provide a high
|
53
|
+
To provide a high-performance framework for integrating Ruby on Rails with React, especially regarding React Server-Side Rendering for better SEO and improved performance.
|
46
54
|
|
47
55
|
## Features and Why React on Rails?
|
48
56
|
|
49
|
-
Given that `
|
57
|
+
Given that `shakacode/shakapacker` gem already provides basic React integration, why would you use "React on Rails"?
|
50
58
|
|
51
59
|
1. Automatic configuration of what bundles are added to the page based on what React components are on the page. This results in faster browser loading time via smaller bundle sizes.
|
52
|
-
1. Keep up with the latest changes
|
60
|
+
1. Keep up with the latest changes in different versions of React. React 18 is supported.
|
53
61
|
1. Easy passing of props directly from your Rails view to your React components rather than having your Rails view load and then make a separate request to your API.
|
54
|
-
Tight integration with [shakapacker](https://github.com/shakacode/shakapacker) (or
|
62
|
+
Tight integration with [shakapacker](https://github.com/shakacode/shakapacker) (or its predecessor [rails/webpacker](https://github.com/rails/webpacker)).
|
55
63
|
1. Server-Side Rendering (SSR), often used for SEO crawler indexing and UX performance.
|
56
64
|
1. [Automated optimized entry-point creation and bundle inclusion when placing a component on a page. With this feature, you no longer need to configure `javascript_pack_tags` and `stylesheet_pack_tags` on your layouts based on what’s shown. “It just works!”](https://www.shakacode.com/react-on-rails/docs/guides/file-system-based-automated-bundle-generation/)
|
57
65
|
1. [Redux](https://github.com/reactjs/redux) and [React Router](https://github.com/ReactTraining/react-router#readme) integration with server-side-rendering.
|
@@ -87,7 +95,7 @@ Ruby on Rails >=5, rails/webpacker >= 4.2 or shakapacker > 6, Ruby >= 3.0.0
|
|
87
95
|
|
88
96
|
## Contributing
|
89
97
|
|
90
|
-
Bug reports and pull requests are welcome.
|
98
|
+
Bug reports and pull requests are welcome. To get started, see [Contributing](https://github.com/shakacode/react_on_rails/tree/master/CONTRIBUTING.md) and the [list of help wanted issues](https://github.com/shakacode/react_on_rails/labels/contributions%3A%20up%20for%20grabs%21).
|
91
99
|
|
92
100
|
# Work with Us
|
93
101
|
ShakaCode is **[hiring passionate software engineers](http://www.shakacode.com/career)** to work on our projects, including [HiChee](https://hichee.com)!
|
@@ -98,7 +106,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
98
106
|
|
99
107
|
# Supporters
|
100
108
|
|
101
|
-
The following companies support our open
|
109
|
+
The following companies support our open-source projects, and ShakaCode uses their products!
|
102
110
|
|
103
111
|
<br />
|
104
112
|
<br />
|
@@ -113,7 +121,7 @@ The following companies support our open source projects, and ShakaCode uses the
|
|
113
121
|
<img alt="ScoutAPM" src="https://user-images.githubusercontent.com/4244251/184881152-9f2d8fba-88ac-4ba6-873b-22387f8711c5.png" height="120px">
|
114
122
|
</picture>
|
115
123
|
</a>
|
116
|
-
<a href="https://controlplane.com">
|
124
|
+
<a href="https://shakacode.controlplane.com">
|
117
125
|
<picture>
|
118
126
|
<img alt="Control Plane" src="https://github.com/shakacode/.github/assets/20628911/90babd87-62c4-4de3-baa4-3d78ef4bec25" height="120px">
|
119
127
|
</picture>
|
@@ -40,8 +40,7 @@ module ReactOnRails
|
|
40
40
|
def copy_js_bundle_files
|
41
41
|
base_path = "base/base/"
|
42
42
|
base_files = %w[app/javascript/packs/server-bundle.js
|
43
|
-
app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
|
44
|
-
app/javascript/bundles/HelloWorld/components/HelloWorld.module.css]
|
43
|
+
app/javascript/bundles/HelloWorld/components/HelloWorldServer.js]
|
45
44
|
base_files.each { |file| copy_file("#{base_path}#{file}", file) }
|
46
45
|
end
|
47
46
|
|
@@ -92,14 +91,7 @@ module ReactOnRails
|
|
92
91
|
|
93
92
|
puts "Adding CSS handlers"
|
94
93
|
|
95
|
-
|
96
|
-
# When we bump our minimum Nodejs version to 18, we can remove this logic
|
97
|
-
# and install css_minimizer_webpack_plugin directly.
|
98
|
-
node_major_version = `node -v`.match(/^v(\d{,2})\./)[1]&.to_i
|
99
|
-
css_minimizer_webpack_plugin_version = node_major_version >= 18 ? "" : "@<6.0.0"
|
100
|
-
css_minimizer_webpack_plugin = "css-minimizer-webpack-plugin#{css_minimizer_webpack_plugin_version}"
|
101
|
-
|
102
|
-
run "yarn add css-loader '#{css_minimizer_webpack_plugin}' mini-css-extract-plugin style-loader"
|
94
|
+
run "yarn add css-loader css-minimizer-webpack-plugin mini-css-extract-plugin style-loader@"
|
103
95
|
|
104
96
|
puts "Adding dev dependencies"
|
105
97
|
run "yarn add -D @pmmmwh/react-refresh-webpack-plugin react-refresh"
|
@@ -54,7 +54,7 @@ module ReactOnRails
|
|
54
54
|
invoke "react_on_rails:react_no_redux"
|
55
55
|
end
|
56
56
|
|
57
|
-
invoke "react_on_rails:adapt_for_older_shakapacker" unless
|
57
|
+
invoke "react_on_rails:adapt_for_older_shakapacker" unless using_shakapacker_7_or_above?
|
58
58
|
end
|
59
59
|
|
60
60
|
# NOTE: other requirements for existing files such as .gitignore or application.
|
@@ -95,7 +95,7 @@ module ReactOnRails
|
|
95
95
|
|
96
96
|
def add_post_install_message
|
97
97
|
message = GeneratorMessages.helpful_message_after_installation
|
98
|
-
unless
|
98
|
+
unless using_shakapacker_7_or_above?
|
99
99
|
message = message.gsub("config/shakapacker", "config/webpacker")
|
100
100
|
message = message.gsub("bin/shakapacker", "bin/webpacker")
|
101
101
|
end
|
@@ -103,9 +103,9 @@ module ReactOnRails
|
|
103
103
|
GeneratorMessages.add_info(message)
|
104
104
|
end
|
105
105
|
|
106
|
-
def
|
106
|
+
def using_shakapacker_7_or_above?
|
107
107
|
shakapacker_gem = Gem::Specification.find_by_name("shakapacker")
|
108
|
-
shakapacker_gem.version.segments.first
|
108
|
+
shakapacker_gem.version.segments.first >= 7
|
109
109
|
rescue Gem::MissingSpecError
|
110
110
|
# In case using Webpacker
|
111
111
|
false
|
@@ -4,7 +4,7 @@ require "English"
|
|
4
4
|
|
5
5
|
module ReactOnRails
|
6
6
|
module GitUtils
|
7
|
-
def self.uncommitted_changes?(message_handler, git_installed
|
7
|
+
def self.uncommitted_changes?(message_handler, git_installed: true)
|
8
8
|
return false if ENV["COVERAGE"] == "true"
|
9
9
|
|
10
10
|
status = `git status --porcelain`
|
@@ -441,11 +441,10 @@ module ReactOnRails
|
|
441
441
|
"data-trace" => (render_options.trace ? true : nil),
|
442
442
|
"data-dom-id" => render_options.dom_id)
|
443
443
|
|
444
|
+
load_pack_for_generated_component(react_component_name, render_options)
|
444
445
|
# Create the HTML rendering part
|
445
446
|
result = server_rendered_react_component(render_options)
|
446
447
|
|
447
|
-
load_pack_for_generated_component(react_component_name, render_options)
|
448
|
-
|
449
448
|
{
|
450
449
|
render_options: render_options,
|
451
450
|
tag: component_specification_tag,
|
@@ -15,6 +15,7 @@ module ReactOnRails
|
|
15
15
|
def generate_packs_if_stale
|
16
16
|
return unless ReactOnRails.configuration.auto_load_bundle
|
17
17
|
|
18
|
+
add_generated_pack_to_server_bundle
|
18
19
|
are_generated_files_present_and_up_to_date = Dir.exist?(generated_packs_directory_path) &&
|
19
20
|
File.exist?(generated_server_bundle_file_path) &&
|
20
21
|
!stale_or_missing_packs?
|
@@ -99,8 +100,8 @@ module ReactOnRails
|
|
99
100
|
def generated_server_bundle_file_path
|
100
101
|
return server_bundle_entrypoint if ReactOnRails.configuration.make_generated_server_bundle_the_entrypoint
|
101
102
|
|
102
|
-
|
103
|
-
generated_server_bundle_file_name = component_name(
|
103
|
+
generated_interim_server_bundle_path = server_bundle_entrypoint.sub(".js", "-generated.js")
|
104
|
+
generated_server_bundle_file_name = component_name(generated_interim_server_bundle_path)
|
104
105
|
source_entrypoint_parent = Pathname(ReactOnRails::WebpackerUtils.webpacker_source_entry_path).parent
|
105
106
|
generated_nonentrypoints_path = "#{source_entrypoint_parent}/generated"
|
106
107
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_on_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.0.
|
4
|
+
version: 14.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gordon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- Dockerfile_tests
|
107
107
|
- Gemfile
|
108
108
|
- Gemfile.development_dependencies
|
109
|
+
- Gemfile.lock
|
109
110
|
- KUDOS.md
|
110
111
|
- LICENSE.md
|
111
112
|
- NEWS.md
|
@@ -219,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
220
|
- !ruby/object:Gem::Version
|
220
221
|
version: '0'
|
221
222
|
requirements: []
|
222
|
-
rubygems_version: 3.
|
223
|
+
rubygems_version: 3.5.11
|
223
224
|
signing_key:
|
224
225
|
specification_version: 4
|
225
226
|
summary: Rails with react server rendering with webpack.
|