You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restructure monorepo with two top-level product directories (#2114)
## Summary
Implements the two top-level directories structure for clearer product
separation in the monorepo. Core React on Rails code moves into
`react_on_rails/` alongside the existing `react_on_rails_pro/`
directory, creating symmetric product organization with clear licensing
boundaries.
This addresses #2113 and provides a clearer, more maintainable monorepo
structure than the previous attempt in #2108.
## Changes
### Directory Structure
- Moves `lib/`, `spec/`, `sig/`, and `react_on_rails.gemspec` into
`react_on_rails/`
- Pro code remains in `react_on_rails_pro/` (minimal changes)
- NPM packages stay in `packages/` (unchanged)
### Configuration Updates
- **Gemfile**: Updated to reference core gem path
- **Gemspecs**: Fixed file listing with proper git ls-files handling
- **CI Workflows**: Updated all GitHub Actions path references
- **Documentation**: Updated LICENSE.md, CONTRIBUTING.md, Steepfile
- **Rake helpers**: Added monorepo_root, updated gem_root
### Build Verification
- ✅ Core gem builds successfully
- ✅ Pro gem builds successfully
- ✅ Bundle install works with new structure
## Pull Request Checklist
- [x] Configuration updates for new structure
- [x] CI/CD workflow path updates
- [x] Build verification (gems compile)
- [ ] Full test suite (requires RSpec configuration work)
- [ ] CHANGELOG update (follow-up in separate PR)
## Testing Notes
- Gems build successfully with new paths
- Bundle install completes without errors
- RSpec needs configuration adjustments (follow-up work to connect spec
paths)
- All path references in CI/documentation have been updated
## Benefits
1. **Crystal clear separation**: Core code in `react_on_rails/`, Pro in
`react_on_rails_pro/`
2. **Symmetric structure**: Both products have identical internal
organization
3. **Simpler licensing**: Directory boundaries match license boundaries
exactly
4. **Maintainability**: Clear separation makes monorepo easier to
navigate
Closes#2113
## Summary by CodeRabbit
* **New Features**
* Added PropTypes runtime validation to example React components.
* **Chores**
* Restructured repository into scoped package directories and updated
CI/workflows, cache/artifact paths, and task scripts to the new layout.
* Bumped several dev dependencies and added/updated linting and tooling
scripts.
* **Documentation**
* Updated contributor guide, changelog, license notes, ignore rules, and
added CI best-practices and monitoring guidance for the monorepo.
0 commit comments