Best way to separate client-specific Ember routes, components, etc from the core?

I’m working on a “generic” backend Ember system to interface with an API that will itself be extended on a client-to-client basis. The best possible solution for us would be to have all the core functionality (basic routes, layout, auth/session functionality, etc) in a separate repo so we can push improvements and bug fixes without having to update all client repos.

Is this possible to accomplish through an add-on, or through some other means?

I think addon is your best bet for now, you may also wish to keep an eye on engines.

Separate from what? :slight_smile: How many repositories you are going to end up with?

1 Like

One for the core generic backend, one for client specific data (custom routes, dependencies, etc).

That way, if we have to push a bug fix for the generic backend across X deployments of the generic backend, it won’t be as big a headache.

I thought of keeping your base functionality in a base repo, connecting it to base repo as a submodule and inherit all your application objects not from Ember.XXX directly, but from your base ones. Will it work for you?

Yeah, that would work.