aerogear / offix

GraphQL Offline Client and Server
https://offix.dev
Apache License 2.0
758 stars 45 forks source link

[Proposal] Multi package structure #64

Closed wtrocki closed 5 years ago

wtrocki commented 5 years ago

Architecture of the offix client

Currently offix-client is very complex set of the links that perform many different operations (non offline related). We trying to keep links separated internally, but this do not change the fact that our link implementation gets more complex over the time.

Solution

To prevent from complexity but still promote reusability we can have a separate package that will be purely an offline and conflict link and offix-client that will provide required piping like cache implementation and config. This will keep our architecture reusable and pluggable but is also going to hide the complexity of internal offline and conflict links

wtrocki commented 5 years ago

ping @darahayes @StephenCoady

darahayes commented 5 years ago

I think this is a solid idea. We already have the repo structure and CI process in place to support it. I think in the long term it allow for more flexibility individual links can be used and configured. It might also make it easier for contributions.

Question about versioning. Do you see those package versions being updated independently or will we simply release all of the packages every time we publish?

wtrocki commented 5 years ago

I think releasing all together with single will be simpler for us and devs