If you have a Firefox add-on developed using a legacy technology, such as XUL/XPCOM or the Add-on SDK, here's a very quick guide to updating.
- Get an idea of the main things you'll have to change in your add-on:
- If your add-on is based on XUL and XPCOM, whether it's an overlay extension or a bootstrapped extension, see Comparison with XUL/XPCOM extensions.
- If your add-on is based on the Add-on SDK, see Comparison with the Add-on SDK.
- Rewrite your add-on's code. You can get find more resources and support in the Mozilla wiki. From Firefox 51 onwards, you can embed a WebExtension in a bootstrapped extension or an SDK add-on, and can thus port a legacy add-on a piece at a time, and have a working add-on at each step. See Embedded WebExtensions.
- When you're ready to update your old add-on, submit the new add-on to AMO as an update to the old one. That is, you can switch a legacy add-on to use WebExtensions, and keep the same add-on ID.
Note that this is a one-way conversion: you cannot update a WebExtension to use a legacy technology. This means that you must be sure that you are ready to commit to WebExtensions before you submit the updated add-on to AMO.