Journey through Ember Glue

Ember.js improves productivity by reducing the number of decisions a developer has to make. Part of this comes in the form of "glue" that wires things up and holds them together for us.

We often don't need to worry about this glue, but for those rare times that we need to see or tweak something, it's nice to know your way around!

Journey through Ember Glue

Abstract

In this talk, we'll first look at a couple areas of the Ember framework that we typically don't end up touching. We'll first take a trip through the application and registry objects, touching on the changes around the recently-added Ember.getOwner API. We'll discuss initializers and instance initializers -- the most common place to make an adjustment to these kinds of objects. We'll leave listeners with a methodical process for debugging container-related issues

Next, we'll take a look at how Ember finds ES6 modules in particular places using the Resolver. If you get a "module not found" error, where can you look to see all registered modules in your app? How can we add a new ES6 module to our project? How can we ES6-ify a global or a named AMD module?

Finally, we'll look at Broccoli Ember-CLI's asset pipeline. We'll build a simple broccoli plugin that adds a copyright notice and a "build date" comment to the top of your production JavaScript assets, in less than 10 lines of code. We'll use broccoli-stew to get some visibility into what's going on in our app's build pipeline.