emberfire-utils
emberfire-utils copied to clipboard
Split project into separate addons?
Right now everything's being merged (adapter, utility service, ui components, etc.) into this one addon. I'm thinking of separating it into these:
-
ember-firebase-utilities
- Useful utilities for Firebase -
ember-firebase-ui
- Ember implementation of FirebaseUI for Web -
ember-firebase-adapter
- Unofficial Ember Adapter for Firebase
My main reasoning is that the adapter API is still in flux and may cause unnecessary version bumps to non-adapter users.
Pros:
- Version bumps will be specific to changes on a feature
- Currently, if you're just using firebase-util, a version bump may happen that just directly involves the adapter or vise-versa.
- No need to configure tree-shaking in your
ember-cli-build.js
. - Can possibly have a community maintained org revolving around Firebase addons.
- e.g.
ember-firebase/ember-firebase-utilities
- e.g.
Cons:
- Extra work on updating Ember coverage per addon
Hi, I like your idea. If I may jump in your project, have you thought about something like ember-firebase-serializer
as well?
@htkm no because I think the serializer should always be distributed with the adapter. It'll be part of ember-firebase-adapter
.
Oh, that makes sense. Do you think ember-firebase-adapter
still will require emberfire
as a dependency like the current version does?
@htkm, yup it will. ember-firebase-adapter
will still use the firebase
service from emberfire
. Also, session management via torii
is still in emberfire
so there's that. Maybe there can be a ember-firebase-session
one of these days but for now it's unnecessary as the current session management works unlike the adapter where there's a lot of things that's lacking in my opinion.
The only time that I think we're going to have that ember-firebase-session
is if this comment came through in which I'm expecting that emberfire just wants to be a barebones addon that just exposes a firebase service that communities can work upon.
Cool, thank you for the detailed answer. Splitting up the project into small ones sounds good to me.
- https://github.com/rmmmp/ember-firebase-adapter
- https://github.com/rmmmp/ember-firebaseui
I'm leaning towards to dropping the utility service. Before, it was useful because of some power features but they've since been split over to the adapter side. What's left now of the service are merely just sugar syntax over firebase.
I might just do one last release here before deprecating the addon.