react_on_rails 16.0.0 → 16.0.1.rc.2

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +124 -77
  3. data/CLAUDE.md +46 -2
  4. data/CONTRIBUTING.md +12 -6
  5. data/Gemfile.development_dependencies +1 -0
  6. data/Gemfile.lock +3 -1
  7. data/LICENSE.md +15 -1
  8. data/README.md +68 -18
  9. data/bin/lefthook/check-trailing-newlines +38 -0
  10. data/bin/lefthook/get-changed-files +26 -0
  11. data/bin/lefthook/prettier-format +26 -0
  12. data/bin/lefthook/ruby-autofix +26 -0
  13. data/bin/lefthook/ruby-lint +27 -0
  14. data/eslint.config.ts +10 -0
  15. data/knip.ts +20 -9
  16. data/lib/generators/react_on_rails/USAGE +65 -0
  17. data/lib/generators/react_on_rails/base_generator.rb +7 -7
  18. data/lib/generators/react_on_rails/generator_helper.rb +4 -0
  19. data/lib/generators/react_on_rails/generator_messages.rb +2 -2
  20. data/lib/generators/react_on_rails/install_generator.rb +115 -7
  21. data/lib/generators/react_on_rails/react_no_redux_generator.rb +16 -4
  22. data/lib/generators/react_on_rails/react_with_redux_generator.rb +83 -14
  23. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.tsx +25 -0
  24. data/lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.tsx +5 -0
  25. data/lib/generators/react_on_rails/templates/base/base/bin/dev +12 -24
  26. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.ts +18 -0
  27. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx +24 -0
  28. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.ts +6 -0
  29. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.ts +20 -0
  30. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.ts +22 -0
  31. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.client.tsx +23 -0
  32. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.tsx +5 -0
  33. data/lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.ts +18 -0
  34. data/lib/react_on_rails/configuration.rb +10 -6
  35. data/lib/react_on_rails/dev/server_manager.rb +185 -28
  36. data/lib/react_on_rails/doctor.rb +1149 -0
  37. data/lib/react_on_rails/helper.rb +9 -78
  38. data/lib/react_on_rails/pro/NOTICE +21 -0
  39. data/lib/react_on_rails/pro/helper.rb +122 -0
  40. data/lib/react_on_rails/pro/utils.rb +53 -0
  41. data/lib/react_on_rails/react_component/render_options.rb +6 -2
  42. data/lib/react_on_rails/system_checker.rb +659 -0
  43. data/lib/react_on_rails/version.rb +1 -1
  44. data/lib/tasks/doctor.rake +48 -0
  45. data/lib/tasks/generate_packs.rake +127 -4
  46. data/package-lock.json +11984 -0
  47. metadata +26 -6
  48. data/lib/generators/react_on_rails/bin/dev +0 -46
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react_on_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.0.0
4
+ version: 16.0.1.rc.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Gordon
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-09-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: addressable
@@ -134,12 +133,17 @@ files:
134
133
  - SUMMARY.md
135
134
  - TODO.md
136
135
  - app/helpers/react_on_rails_helper.rb
136
+ - bin/lefthook/check-trailing-newlines
137
+ - bin/lefthook/get-changed-files
138
+ - bin/lefthook/prettier-format
139
+ - bin/lefthook/ruby-autofix
140
+ - bin/lefthook/ruby-lint
137
141
  - docker-compose.yml
138
142
  - eslint.config.ts
139
143
  - knip.ts
140
144
  - lib/generators/USAGE
145
+ - lib/generators/react_on_rails/USAGE
141
146
  - lib/generators/react_on_rails/base_generator.rb
142
- - lib/generators/react_on_rails/bin/dev
143
147
  - lib/generators/react_on_rails/dev_tests_generator.rb
144
148
  - lib/generators/react_on_rails/generator_helper.rb
145
149
  - lib/generators/react_on_rails/generator_messages.rb
@@ -156,8 +160,10 @@ files:
156
160
  - lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
157
161
  - lib/generators/react_on_rails/templates/base/base/app/javascript/packs/server-bundle.js
158
162
  - lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx
163
+ - lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.tsx
159
164
  - lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.module.css
160
165
  - lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.jsx
166
+ - lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.server.tsx
161
167
  - lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt
162
168
  - lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb
163
169
  - lib/generators/react_on_rails/templates/base/base/babel.config.js.tt
@@ -179,14 +185,22 @@ files:
179
185
  - lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb
180
186
  - lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb
181
187
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.js
188
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.ts
182
189
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx
183
190
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css
191
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx
184
192
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.js
193
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.ts
185
194
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.js
195
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.ts
186
196
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js
197
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.ts
187
198
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.client.jsx
199
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.client.tsx
188
200
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.jsx
201
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.server.tsx
189
202
  - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.js
203
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.ts
190
204
  - lib/react_on_rails.rb
191
205
  - lib/react_on_rails/configuration.rb
192
206
  - lib/react_on_rails/controller.rb
@@ -195,6 +209,7 @@ files:
195
209
  - lib/react_on_rails/dev/pack_generator.rb
196
210
  - lib/react_on_rails/dev/process_manager.rb
197
211
  - lib/react_on_rails/dev/server_manager.rb
212
+ - lib/react_on_rails/doctor.rb
198
213
  - lib/react_on_rails/engine.rb
199
214
  - lib/react_on_rails/error.rb
200
215
  - lib/react_on_rails/git_utils.rb
@@ -207,10 +222,14 @@ files:
207
222
  - lib/react_on_rails/packer_utils.rb
208
223
  - lib/react_on_rails/packs_generator.rb
209
224
  - lib/react_on_rails/prerender_error.rb
225
+ - lib/react_on_rails/pro/NOTICE
226
+ - lib/react_on_rails/pro/helper.rb
227
+ - lib/react_on_rails/pro/utils.rb
210
228
  - lib/react_on_rails/react_component/render_options.rb
211
229
  - lib/react_on_rails/server_rendering_js_code.rb
212
230
  - lib/react_on_rails/server_rendering_pool.rb
213
231
  - lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb
232
+ - lib/react_on_rails/system_checker.rb
214
233
  - lib/react_on_rails/test_helper.rb
215
234
  - lib/react_on_rails/test_helper/ensure_assets_compiled.rb
216
235
  - lib/react_on_rails/test_helper/webpack_assets_compiler.rb
@@ -220,8 +239,10 @@ files:
220
239
  - lib/react_on_rails/version_checker.rb
221
240
  - lib/react_on_rails/version_syntax_converter.rb
222
241
  - lib/tasks/assets.rake
242
+ - lib/tasks/doctor.rake
223
243
  - lib/tasks/generate_packs.rake
224
244
  - lib/tasks/locale.rake
245
+ - package-lock.json
225
246
  - react_on_rails.gemspec
226
247
  - tsconfig.eslint.json
227
248
  - tsconfig.json
@@ -250,8 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
271
  - !ruby/object:Gem::Version
251
272
  version: '0'
252
273
  requirements: []
253
- rubygems_version: 3.5.22
254
- signing_key:
274
+ rubygems_version: 3.6.7
255
275
  specification_version: 4
256
276
  summary: Rails with react server rendering with webpack.
257
277
  test_files: []
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- # ReactOnRails Development Server
5
- #
6
- # This script provides a simple interface to the ReactOnRails development
7
- # server management. The core logic is implemented in ReactOnRails::Dev
8
- # classes for better maintainability and testing.
9
- #
10
- # Each command uses a specific Procfile for process management:
11
- # - bin/dev (default/hmr): Uses Procfile.dev
12
- # - bin/dev static: Uses Procfile.dev-static-assets
13
- # - bin/dev prod: Uses Procfile.dev-prod-assets
14
- #
15
- # To customize development environment:
16
- # 1. Edit the appropriate Procfile to modify which processes run
17
- # 2. Modify this script for project-specific command-line behavior
18
- # 3. Extend ReactOnRails::Dev classes in your Rails app for advanced customization
19
- # 4. Use classes directly: ReactOnRails::Dev::ServerManager.start(:development, "Custom.procfile")
20
-
21
- begin
22
- require "bundler/setup"
23
- require "react_on_rails/dev"
24
- rescue LoadError
25
- # Fallback for when gem is not yet installed
26
- puts "Loading ReactOnRails development tools..."
27
- require_relative "../../lib/react_on_rails/dev"
28
- end
29
-
30
- # Main execution
31
- case ARGV[0]
32
- when "production-assets", "prod"
33
- ReactOnRails::Dev::ServerManager.start(:production_like)
34
- when "static"
35
- ReactOnRails::Dev::ServerManager.start(:static, "Procfile.dev-static-assets")
36
- when "kill"
37
- ReactOnRails::Dev::ServerManager.kill_processes
38
- when "help", "--help", "-h"
39
- ReactOnRails::Dev::ServerManager.show_help
40
- when "hmr", nil
41
- ReactOnRails::Dev::ServerManager.start(:development, "Procfile.dev")
42
- else
43
- puts "Unknown argument: #{ARGV[0]}"
44
- puts "Run 'bin/dev help' for usage information"
45
- exit 1
46
- end