Commit 744ed7b
Phase 6: Restructure Ruby Gems to Final Monorepo Layout
Complete Phase 6 of the monorepo migration by restructuring the directory
layout so react_on_rails_pro is a sibling structure instead of a nested
subdirectory.
## Major Changes
### Directory Moves
- Moved `react_on_rails_pro/lib/react_on_rails_pro/` → `lib/react_on_rails_pro/`
Both Ruby gems are now equal siblings under `lib/`
- Moved `react_on_rails_pro/spec/react_on_rails_pro/` → `spec/pro/react_on_rails_pro/`
Pro specs now live alongside core specs in `spec/`
- Moved `react_on_rails_pro/react_on_rails_pro.gemspec` → `react_on_rails_pro.gemspec`
Both gemspecs now at repository root
- Moved `react_on_rails_pro/CHANGELOG.md` → `CHANGELOG_PRO.md`
Pro changelog now at root as sibling to main CHANGELOG.md
- Moved `react_on_rails_pro/lib/react_on_rails_pro.rb` → `lib/react_on_rails_pro.rb`
Main require file now at lib/ root
- Moved Pro rake tasks from `react_on_rails_pro/lib/tasks/` → `lib/tasks/`
(Renamed assets.rake to assets_pro.rake to avoid conflict)
### Configuration Updates
- Updated `Gemfile` to explicitly include both gemspecs:
```ruby
gemspec name: "react_on_rails"
gemspec name: "react_on_rails_pro"
```
- Updated `react_on_rails_pro.gemspec` paths:
- Changed core version require from `../lib/` to `lib/`
- Updated `LICENSE.md` with final directory structure:
- Added `lib/react_on_rails_pro/` for Pro Ruby code
- Added `spec/pro/` for Pro specs
- Added `react_on_rails_pro.gemspec` for Pro gemspec
- Updated `.rubocop.yml` exclusions for new Pro locations
- Updated `rakelib/release.rake` to reference new paths
- Updated `script/ci-changes-detector` patterns for new structure
### Path Updates
- Fixed require_relative paths in:
- `spec/pro/react_on_rails_pro/assets_precompile_spec.rb`
- `react_on_rails_pro/spec/dummy/spec/rails_helper.rb`
### What Remained in react_on_rails_pro/
The following remain in `react_on_rails_pro/` directory:
- `spec/dummy/` - Pro dummy app and test infrastructure
- `spec/execjs-compatible-dummy/` - Alternative test dummy
- Configuration files (.gitignore, .prettierrc, etc.)
- Documentation (docs/, README.md, CI_SETUP.md, etc.)
- Build infrastructure (Gemfile, Rakefile, package-scripts.yml, etc.)
This is intentional and documented in LICENSE.md.
## Benefits
✅ Clearer directory structure (equal siblings, not parent/child)
✅ Both gems buildable from root
✅ Licensing boundaries more obvious
✅ Matches monorepo plan target architecture
✅ Simpler import/require paths
## Test Plan
- [x] Both gems build successfully from root
- [x] Bundle install resolves both gems correctly
- [x] RuboCop passes with no violations
- [x] Prettier formatting passes
- [x] All paths updated in scripts and CI configs
## Migration Impact
**Users:** No impact - gem names and APIs unchanged
**Contributors:** Must update local clones - paths changed
## Related
- Completes Phase 6 of monorepo migration
- Resolves #2103
- Follows PR #2069 (Phase 5: Add Pro Node Renderer Package)
- Prepares for Phase 7-8 (Final polish and documentation)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>1 parent c3a0225 commit 744ed7b
File tree
56 files changed
+59
-13
lines changed- lib
- react_on_rails_pro
- concerns
- server_rendering_pool
- tasks
- rakelib
- react_on_rails_pro/spec/dummy/spec
- script
- spec/pro
- react_on_rails_pro
- fixtures/app/views/comments
- support
- httpx/plugins
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
56 files changed
+59
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | | - | |
| 32 | + | |
32 | 33 | | |
| 34 | + | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
11 | 20 | | |
12 | 21 | | |
13 | 22 | | |
| |||
90 | 99 | | |
91 | 100 | | |
92 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
93 | 108 | | |
94 | 109 | | |
95 | 110 | | |
| |||
111 | 126 | | |
112 | 127 | | |
113 | 128 | | |
| 129 | + | |
| 130 | + | |
114 | 131 | | |
115 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
116 | 137 | | |
117 | 138 | | |
118 | 139 | | |
| |||
136 | 157 | | |
137 | 158 | | |
138 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
139 | 164 | | |
140 | 165 | | |
141 | 166 | | |
142 | 167 | | |
143 | 168 | | |
144 | 169 | | |
145 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
146 | 174 | | |
147 | 175 | | |
148 | 176 | | |
149 | 177 | | |
| 178 | + | |
150 | 179 | | |
151 | 180 | | |
152 | 181 | | |
| |||
159 | 188 | | |
160 | 189 | | |
161 | 190 | | |
| 191 | + | |
| 192 | + | |
162 | 193 | | |
163 | 194 | | |
164 | 195 | | |
| |||
179 | 210 | | |
180 | 211 | | |
181 | 212 | | |
| 213 | + | |
182 | 214 | | |
183 | 215 | | |
184 | 216 | | |
| |||
268 | 300 | | |
269 | 301 | | |
270 | 302 | | |
| 303 | + | |
271 | 304 | | |
272 | 305 | | |
273 | 306 | | |
| 307 | + | |
| 308 | + | |
274 | 309 | | |
275 | 310 | | |
276 | 311 | | |
| |||
400 | 435 | | |
401 | 436 | | |
402 | 437 | | |
| 438 | + | |
403 | 439 | | |
404 | 440 | | |
405 | 441 | | |
| |||
434 | 470 | | |
435 | 471 | | |
436 | 472 | | |
| 473 | + | |
437 | 474 | | |
438 | 475 | | |
| 476 | + | |
439 | 477 | | |
440 | 478 | | |
441 | 479 | | |
| |||
459 | 497 | | |
460 | 498 | | |
461 | 499 | | |
| 500 | + | |
462 | 501 | | |
463 | 502 | | |
464 | 503 | | |
| |||
477 | 516 | | |
478 | 517 | | |
479 | 518 | | |
| 519 | + | |
480 | 520 | | |
481 | 521 | | |
482 | 522 | | |
File renamed without changes.
File renamed without changes.
0 commit comments