react_on_rails 14.0.0 → 14.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37cf3a6fba0b83dec923947d8cc8f883f3f4f8ff06c51760347bbe41a79ee35a
4
- data.tar.gz: 522f25ca29ebd985f975d9f8dd7ab8947ef4ccacc7591f28db176b0c2964f444
3
+ metadata.gz: 5571e179d7451741df128172dc7da1c9ee868bec5402d3c152dd520e419dc568
4
+ data.tar.gz: 82459cc9c15135a2634f19e3e938460b52978d36c62f9ad9d9cb5f79fbce7aa5
5
5
  SHA512:
6
- metadata.gz: 873fc4c65b407b3982ef2761d0e5e346ef8eb04dc9468b074db188f641537634578b057b59a3b4b12135a988bd725207ded6a20e9b4a97ca42f39c31ea934928
7
- data.tar.gz: 6f46192a308e4d636bbe954e3c34bc256aab07c9b42bf177c9254fde495e37726a46b285df1124ef2ebc859b2311cf77afca8bb16158f39a5eb9fec013d714b2
6
+ metadata.gz: 279a35587bcc88ef9a1bbfcc556ee9c9b9f539af7860d588175e24f2360174fab715acd8bdc5f9632110d9ede4bc91b98f24a99aa924034c2fea1c8159168b1c
7
+ data.tar.gz: a6dbedbcf05fb241d717c9761779c868e397262c54ffa747bf0f1f4d2aed7b9f1d95b61aa337ea3b200027ffbbd2638e50249f6dabff9e46cf0842ec0f5f1a1f
data/CHANGELOG.md CHANGED
@@ -14,6 +14,8 @@ Please follow the recommendations outlined at [keepachangelog.com](http://keepac
14
14
  ## Versions
15
15
  ### [Unreleased]
16
16
  Changes since the last non-beta release.
17
+ #### Added
18
+ - Pack Generation: Added functionality that will add an import statement, if missing, to the server bundle entrypoint even if the autobundle generated files still exist [PR 1610](https://github.com/shakacode/react_on_rails/pull/1610) by [judahmeek](https://github.com/judahmeek).
17
19
 
18
20
  ### [14.0.0] - 2024-04-03
19
21
  _Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigLoader.js`._
@@ -25,11 +27,7 @@ _Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigL
25
27
  #### Fixed
26
28
  - 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
29
  - 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
30
  - 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
31
  - Removed a workaround in `JsonOutput#escape` for an no-longer supported Rails version. Additionally, removed `Utils.rails_version_less_than_4_1_1`
34
32
  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
33
 
@@ -1125,8 +1123,7 @@ Best done with Object destructing:
1125
1123
  - Fix several generator-related issues.
1126
1124
 
1127
1125
  [Unreleased]: https://github.com/shakacode/react_on_rails/compare/14.0.0...master
1128
- [14.0.0]: https://github.com/shakacode/react_on_rails/compare/13.4.1...14.0.0
1129
- [13.4.1]: https://github.com/shakacode/react_on_rails/compare/13.4.0...13.4.1
1126
+ [14.0.0]: https://github.com/shakacode/react_on_rails/compare/13.4.0...14.0.0
1130
1127
  [13.4.0]: https://github.com/shakacode/react_on_rails/compare/13.3.5...13.4.0
1131
1128
  [13.3.5]: https://github.com/shakacode/react_on_rails/compare/13.3.4...13.3.5
1132
1129
  [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", "~>1.59", require: false
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
- #### About
28
- React on Rails integrates Rails with (server rendering of) Facebook's [React](https://github.com/facebook/react) front-end framework.
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 the software consulting firm [ShakaCode](https://www.shakacode.com). We focus on Ruby on Rails applications with React front-ends, often using TypeScript or ReScript (ReasonML). We also build React Native apps and Gatsby sites. See [our recent work](https://www.shakacode.com/recent-work) for examples of what we do. ShakaCode.com (HiChee.com) is [hiring developers that like working on open-source](https://www.shakacode.com/career/).
30
+ This project is maintained by [ShakaCode](https://www.shakacode.com).
31
31
 
32
- Are you interested in optimizing your webpack setup for React on Rails including code
33
- splitting with [react-router](https://github.com/ReactTraining/react-router#readme) and
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
- Check out [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/). For more information, feel free to contact Justin Gordon, [justin@shakacode.com](mailto:justin@shakacode.com), maintainer of React on Rails.
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 performance framework for integrating Ruby on Rails with React via the [**Webpacker**](https://github.com/rails/webpacker) gem, especially regarding React Server-Side Rendering for better SEO and improved performance.
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 `rails/webpacker` gem already provides basic React integration, why would you use "React on Rails"?
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 of different versions of React. React 18 is supported.
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 it's predecessor [rails/webpacker](https://github.com/rails/webpacker)).
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. See [Contributing](https://github.com/shakacode/react_on_rails/tree/master/CONTRIBUTING.md) to get started, and the [list of help wanted issues](https://github.com/shakacode/react_on_rails/labels/contributions%3A%20up%20for%20grabs%21).
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 source projects, and ShakaCode uses their products!
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>
@@ -92,14 +92,7 @@ module ReactOnRails
92
92
 
93
93
  puts "Adding CSS handlers"
94
94
 
95
- # css_minimizer_webpack_plugin version 6 only supports Nodejs v18+
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"
95
+ run "yarn add css-loader css-minimizer-webpack-plugin mini-css-extract-plugin style-loader@"
103
96
 
104
97
  puts "Adding dev dependencies"
105
98
  run "yarn add -D @pmmmwh/react-refresh-webpack-plugin react-refresh"
@@ -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 = true)
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
- generated_server_bundle_file_path = server_bundle_entrypoint.sub(".js", "-generated.js")
103
- generated_server_bundle_file_name = component_name(generated_server_bundle_file_path)
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
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReactOnRails
4
- VERSION = "14.0.0"
4
+ VERSION = "14.0.1"
5
5
  end
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.0
4
+ version: 14.0.1
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-04-03 00:00:00.000000000 Z
11
+ date: 2024-05-17 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.4.21
223
+ rubygems_version: 3.5.7
223
224
  signing_key:
224
225
  specification_version: 4
225
226
  summary: Rails with react server rendering with webpack.