I’ve found it very hard to get started building quality Ember CLI addons whose functionality involves more than simply adding some files to the
addon directories or importing static vendor files in the addon’s
index.js file. After two weeks of research and reading through the source of plenty of addons I’m still pretty green and I do not believe I am alone in feeling this.
Side note: I understand some of the following issues might be Broccoli issues. However, given the Ember community’s significant and unique reliance on Broccoli and Broccoli’s sparse documentation, I think it’s a valid point to bring up here.
I’d like to see some really solid guides available for the Ember addon API but I don’t have enough experience to write them. Some topics I’d love to see covered are:
- The methods that could be part of an addon, when to use each method, what to return from each, and some example use cases. The ‘methods’ I am referring to are:
serverMiddleware, and any others.
- Docs for the methods available inside methods in an addon, and example use cases. These methods include:
this.mergeTrees, and basically everything in
- Example walkthroughs or repos explaining the architecture of 5 common use cases for plugins. For example:
- Sharing common Ember code between applications (e.g. adding a few Ember components)
- Compiling files to modules 1-to-1 (e.g. Compiling Handlebars files into Ember templates)
- Replacing a file type (e.g. Markdown to Handlebars)
- Extended documentation for common Broccoli plugins used with Ember addons (e.g. Broccoli Filter, Broccoli Writer, Broccoli Funnel)
- Examples of the types of plugins that are not suited for Broccoli-based Ember addons
The goal for all of the above would be to write a practical guide(s) bringing together the broccoli API and Ember addon API with best practices for how to decide on the best architecture to minimize build times. Perhaps this is a good joint Ember/Broccoli project.
First and foremost, do you believe this would be a worthwhile time investment, given everything else going on in the world of Ember right now? Secondly, are the points that I described above the points you would like to see covered in such a guide? Thirdly, would you be interested in helping put together such a guide?