What is an in-repo addon and why should you use it?
An in-repo addon lives in your app's
lib folder and is a lightweight alternative to a traditional addon. It is not published to npm and is extremely lightweight, only containing an
index.js and a
An in-repo addon can be used for several reasons.
Project Specific Addons
You may find that you have sections of your app that are good candidates for being addons, but they are not something you can make public, so rather than creating a traditional addon, you could make it an in-repo addon.
In repo addons are created in the
lib folder and are a good way to organize your code by various features or sections of your app. An example of this would be creating a
navigation addon and putting all of your navigation related components and such inside that addon. This helps to keep related code all in the same place.
Quick Addon Prototyping
If you have a quick idea for an addon, and want to iterate on it directly in your current Ember app, you can do this with an in-repo addon. Then, if you decide you want to make it a full fledged addon, you is easy to copy your work over.
Managing Vendor Code
You can take advantage of all available addon hooks. The
included hook allows you to specify what vendor libraries should be pulled in and added.
Most of this info was taken from this video, as I could not really find any official documentation on in-repo addons. For more details, I highly recommend watching the video. Thanks a ton to Jake Bixby for the talk!