Skip to content
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

Move to monorepo #29

Closed
pavanpodila opened this issue Jan 8, 2019 · 14 comments
Closed

Move to monorepo #29

pavanpodila opened this issue Jan 8, 2019 · 14 comments
Assignees
Labels
enhancement New feature or request

Comments

@pavanpodila
Copy link
Member

pavanpodila commented Jan 8, 2019

This will house various packages and make it easy to maintain:

Core

  • mobx.dart (primary project)
  • flutter_mobx (flutter bindings)
  • mobx_generator (will contain code generator. Name is not final)
  • flutter_mobx_hooks (hooks driven state management)
  • website (public facing website, possibly hosted on github.io.)

Experimental

  • mobx_observatory (experimental tool for visualizing the internals of MobX as it runs an app. This will be possible if we run a tiny web-server with web-socket that posts messages when various events occur inside MobX. It will also expose a localhost url that can be opened in Chrome to see the visualization. The visualization itself can be built with React 🤓. Think of this as the Observatory for MobX )
@pavanpodila pavanpodila added the enhancement New feature or request label Jan 8, 2019
@rrousselGit
Copy link
Collaborator

I can potentially help for the flutter sides if needed. 😄

@pavanpodila
Copy link
Member Author

pavanpodila commented Jan 8, 2019

Awesome @rrousselGit. I think this will speed up the move to monorepo as well. Ideally this code should live in the flutter_mobx_hooks project.

🤔 One other option is you can create the hooks code in a separate folder to get started. Once you have it working, we can extract it out to flutter_mobx_hooks. 🤔

@katis
Copy link
Contributor

katis commented Jan 8, 2019

I can try to tackle this after work. mono_repo seems to be used by few projects.

@katis katis self-assigned this Jan 8, 2019
@rrousselGit
Copy link
Collaborator

the issue with mono_repo is that is doesn't support flutter yet. I made a PR so that it won't crash, but it doesn't automatically download the Flutter sdk and run commands.

This is still doable by using command: in the yaml, and manually filling the gap though.

@katis
Copy link
Contributor

katis commented Jan 13, 2019

@pavanpodila I've tried various approaches to make a mono repo, but either I can't get them to work, or they seem to bring more complexity than they're worth.

I say we create separate repositories for the packages for now, and see about a monorepo later.
Is it possible to add the repositories to mobxjs org?

@pavanpodila
Copy link
Member Author

Do we even need separate repositories ? I suggest we keep the packages together under this repo and publish separately? I think maintenance is much easier if they are all together. At least at this stage where the packages are still maturing. What say?

@pavanpodila
Copy link
Member Author

And agree about skipping the whole mono_repo dependency. We can add that later if it works out.

@katis
Copy link
Contributor

katis commented Jan 13, 2019

You are of course right about the ease of maintenance from a cross-package point of view, but Travis configuration becomes a problem. With a single package repository the ready made configs of language: dart work well, but with multiple packages you have to write the scripts yourself. I'm not that familiar with Travis, so I couldn't figure out how the config would work. If you want to try, you're welcome, but I'm out of ideas.

@rrousselGit
Copy link
Collaborator

rrousselGit commented Jan 13, 2019

I would heavily suggest to send a mail to Flutter for this.

Because the community has been small until now, Flutter team haven't really noticed the monorepository issue.

@pavanpodila
Copy link
Member Author

I think in principle the monorepo idea is good, so we can keep the two packages (mobx and flutter_mobx) together. If it means replicating the Travis scripts, I'm ok for now as there are only two packages. I can do the duplication but it is not that hard, just a matter of fixing the paths in travis.sh.

Let's get flutter_mobx working for now removing any mono_repo boilerplate? I'll help out with the travis.sh scripts when you are ready.

Also as @rrousselGit suggested, we should get in touch with Flutter to share our specific issue? @katis could you raise an issue detailing where you found problems ?

@pavanpodila
Copy link
Member Author

On a separate note, @rrousselGit can you take a look at the PR (#34) to see if there are any obvious fixes?

@katis
Copy link
Contributor

katis commented Jan 13, 2019

That PR is probably not that useful starting point atm., I made a bit of a mess of it

@rrousselGit
Copy link
Collaborator

rrousselGit commented Jan 13, 2019

I don't see anything special. Looks good :)

@katis
Copy link
Contributor

katis commented Jan 15, 2019

This is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants