Plugin-based architecture with ember-cli


I’m looking for a good way to setup a plugin-based architecture with ember-cli. I believe pods are the way to go, but I’m running into some issues. Ideally what I’d like to have is a plugins directory where each plugin is a self contained app, containing models, routes, tests, etc.

I currently have a pods directory called plugins. I have a Plugin model which hits the server and loops through the directories, gathering information and querying the database to see which ones are activated. Activated plugins show up in the navigation, and all plugins show up in a plugins section where the user can easily activate/deactivate them.

The biggest issue right now is that I’m not sure the best way to include routes from only activated plugins. I want to have 2 main routes that can’t be overwritten, and then each plugin can setup it’s own routes that would be namespaced to that plugin.

Can this be done?

I’m also running into issues storing tests within pod directories, where ember server tries to run -test.js files. Not sure if theres a way to keep tests within the pod directory, as I don’t want to scatter files across the main app.

Thanks in advance for any insights!