lvarayut / relay-fullstack

:point_up::running: Modern Relay Starter Kit - Integrated with Relay, GraphQL, Express, ES6/ES7, JSX, Webpack, Babel, Material Design Lite, and PostCSS
https://lvarayut.github.io/relay-fullstack/
MIT License
986 stars 126 forks source link

Merge canary and master #72

Closed Neitsch closed 7 years ago

Neitsch commented 7 years ago

I think we should merge canary back into master. It's hard to keep both branches in sync. Thoughts?

lvarayut commented 7 years ago

Totally agree with the hardness of keeping both branches in sync. The only problem is that Flow type, databases, and much more should be optional, which should be done using Yeoman. If we merge canary and master, this will force all users to use Flow type, our chosen database, and etc. Here is my initial thought.

Neitsch commented 7 years ago

Okay, then I'll seriously look into subgenerators :)

Neitsch commented 7 years ago

I've created a new branch yeoman-experimental. Please look into it, if it makes sense. I can't PR it to yeoman-generator, because GH won't let me. @lvarayut you will need to add keys. You can base it on this tutorial (https://gist.github.com/domenic/ec8b0fc8ab45f39403dd). Since we're using circle CI you'll have to replace the call to travis encrypt with the raw call (https://github.com/circleci/encrypted-files)

lvarayut commented 7 years ago

Hey @Neitsch, thanks for creating the experimental branch. It's going in the right direction that we were discussing. I think the easiest way that we could do is to move all the files inside the canary branch into generators/app/templates folder, inside the yeoman-generator branch. So, our yeoman-generator will work as expected.

Then, we could write a script to automatically generate the master branch from our yeoman-generator. What do you think?

Neitsch commented 7 years ago

Yeah, I guess I can do the whole thing from the generator branch instead. Will work on the PR soon then. My plan is to first only generate canary. After that I'll add a flag --master or something like that and work with jinja templates, so that we can generate master or canary from the same codebase.

lvarayut commented 7 years ago

Sounds like a great plan! :) I think after merging canary into yeoman-generator, we won't need to generate canary anymore, it'll be removed completely. We'll need to generate only the 'master' branch.

Looking forward to seeing your awesome PR ;)

lvarayut commented 7 years ago

@Neitsch, could you please update the current status of this issue? I'll be free this weekend, would like take some tasks of the issue.

Neitsch commented 7 years ago

Hi @lvarayut , sorry I've been slacking off on work. Right now work is pretty busy. We'll first have to merge relay router. Then we we have a good working basis to get the generator going.

lvarayut commented 7 years ago

I've merged the canary into master. We would stop maintaining the yeoman branch for now until we can find a good way to maintain it.

In conclusion: two active branches: master contains stable code canary contains experimental code that might not be stable yet.