-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Idea] Maintain and publish mobx 4 & 5 from the same branch #2120
Comments
Monorepos are the pain, mainly because there are no solid tools to work with them (Lerna is crap). Merging codebase does sound appealing, but I can imagine it would make code fairly messy even with build flags. Not sure really. If you are willing to give it a try, it could be really interesting and easing the maintenance pain toward the future. However, it would mean to release V6 and motivate people to upgrade. We can hardly just deprecate V4 as it's considered LTS. New bugs would still need to be fixed in V4 branch. |
The initial idea is to keep publish V4 & V5, |
Separate subpackages in the same branch sounds fine to me, if it isn't confusing for new contributors. Mixing code bases is a real pain. I tried, so I can confirm that it at least is not easy :). |
My personal experience from my last PR, even a small PR to both of the branches was confusing. Have you tried that with mobx or other projects? |
I can imagine it could be confusing for reviews to basically see changes two times in there.
Not easy but also not impossible I assume? I kinda agree it would be the best way if it can work out somehow. |
mobx-state-tree packages multiple projects in the same repo. Works pretty
smooth (I'm generally in favor of mono repo's and single branches of work,
as it makes coordination so much easier, so I do think it is a good idea :))
…On Wed, Oct 2, 2019 at 12:25 PM Bnaya Peretz ***@***.***> wrote:
My personal experience from my last PR, even a small PR to both of the
branches was confusing.
Have you tried that with mobx or other projects?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2120?email_source=notifications&email_token=AAN4NBCDKPC24C723ROTWILQMSAMFA5CNFSM4IY74CH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAENHRQ#issuecomment-537449414>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAN4NBELFJOCRYTGLEO3TADQMSAMFANCNFSM4IY74CHQ>
.
|
I can imagine it could be confusing for reviews to basically see changes
two times in there.
Agreed, but I think in the PR template we can signal that the change
initially should only be made to the mobx5 one, until approved, and then
backporting can be done (in same PR), but that reduces burden for both
reviewer and submitter, as that last part can be glanced over.
With the docs in there as well, this is gonna be a much much better setup
to land new things onto :)
…On Wed, Oct 2, 2019 at 12:29 PM Daniel K. ***@***.***> wrote:
Separate subpackages in the same branch sounds fine to me, if it isn't
confusing for new contributors.
I can imagine it could be confusing for reviews to basically see changes
two times in there.
Mixing code bases is a real pain. I tried, so I can confirm that it at
least is not easy :).
Not easy but also not impossible I assume? I kinda agree it would be the
best way if it can work out somehow.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2120?email_source=notifications&email_token=AAN4NBGW235FCYS2XNNUH3DQMSAZ5A5CNFSM4IY74CH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAENPVA#issuecomment-537450452>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAN4NBB4IYMIT6GUJMXB7ZTQMSAZ5ANCNFSM4IY74CHQ>
.
|
I really don't have much (almost none) insight into the repo code base, but perhaps we could go a middle way and besides folders for V4 and V5, there could be a common one for code that is the same across those versions. Perhaps even restructure it to reuse as much as possible. Personally, I am totally DRY guy, so any sort of copy&pasting makes me rather uneasy. |
Also note, that with two different branches doing the diff is very easy. With both codebases in different folders, you cannot really do git diff, so that could make contributing somewhat harder. |
@Bnaya docs are now in the master branch, so that blocker is gone :) I originally started with trying to do MobX 4 and 5 with a largely common code base. But that got a real big untangable mess very quickly. Imho clarity and maintainability are more important than dry :). |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Unfortunately i can't find the time to work on it. |
No problem! I'll reopen it, as I think it is a cool idea nonetheless, and I or somebody else could pick it up. |
This has been done by @FredyC, so closing! |
I can't say i know mobx codebase very well,
But as what i've seen most of the code of 4 & 5 is very similar,
The difference is mostly the proxy part.
What if struct the code in a way that only the different parts will be behind a build flag (or even runtime flat if the developer wishes)
And keep all of the code on master.
Another idea, that i'm not sure if will work:
Use monorepo, one package will be 4.x and the other 5.x, and the shared code will be in a shared package (That won't be published, but will be bundled)
Kinda related #1957
The text was updated successfully, but these errors were encountered: