lvarayut/relay-fullstack

Merge canary and master

Neitsch opened this issue · 9 comments

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

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.

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

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)

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?

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.

@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.

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.

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.