Open wied03 opened 8 years ago
Assuming this is going to split into 2 or 3 GEMs, maybe each GEM could be made an issue label and the issues can be tagged appropriately. If this is going to happen, it might be handy to split these out into multiple repos (under the new reactrb org)?
I see the need for 3 gems:
I'm not sure those are the perfect names, but we can always change them later. If it is agreeable, we should go ahead and categorize the issues with some matching labels.
I think it might be premature to split them into separate repos. Primarily because as it stands right now, everything is pretty tightly coupled. I would like to see refactoring take place to begin separate concerns and make our way toward extracting the other gems. But I'm open to ways to move faster to toward that end.
@ajjahn It seemed like from the code that #1 is rather isolated from #3 already, no?
I definitely agree with keeping #2 separate. Rails should not be required for the core GEM (I would include react-rails in that).
I currently have an internal build of react-rails that does the Opal stuff, removes the babel/JSX stuff, etc.. I've been pondering how to make that less internal.
Agree.
For clarity my understanding is that 3 uses 2, and for example you could have reactrb-sinatra that would also use 2.
And how about reactrb-testutils or some such? (or are you just focusing on the what is already in reactrb that needs to get broken out...)
Setting a goal for a 4th (testutils) sounds fine to me. My main goal here is trying to grasp the state of the project and see where the open issues are heading.
lets keep the testutils on a separate issue then...
I think where this stands then is if you guys do a README (that expands on what's already there) that outlines how the split would work, then apply some labels to the issues that mark them accordingly, this issue can be closed.
@wied03
It seemed like from the code that #1 is rather isolated from #3 already, no?
1 and 3 are closer to being separated. I worked on that a while back. Although, I can't say they are completely separate.
@catmando @wied03 To me the test utils belong in the react.rb repo. What I've worked on so far on that front is particularly targeted at unit testing react.rb components. It does not require any additional frameworks nor make any assumptions about server side setups. It is meant to wrap React.js's TestUtils. We are already using those utils to test react.rb itself.
Keep in mind, the test utilities aren't required by React.rb. If you want to use react.rb in a project or to build your own component lib/gems, you can simply require and include the test utils in your test helper. Otherwise it doesn't add any extra baggage.
The core of this issue is agreeing on separation and then creating further issues for each of these to track/make that work happen.
Here is what I've gathered from the thread. Separate into these GEMs: