3

I've recently read an article on Mozilla's blog about how support for "legacy" extensions will soon be phased out in favor of WebExtensions.

How can I tell whether the extensions I have installed are WebExtensions or "legacy" extensions (as defined by the aforementioned blog post)?

https://addons.mozilla.org/ doesn't seem to show this information.

I know I can browse to my FireFox profile on Windows by going to %AppData%\Mozilla\Firefox\Profiles and in my <profile>\extensions folder I have some .xpi files which are just zip files. But, if I open them, what should I look for inside in order to determine whether they are WebExtensions or not?

I'm mainly interested in knowing which extensions I have that I could potentially lose if the developers don't update/rewrite them as WebExtensions. If there is an easier way than the idea I had of checking in the extensions folder, please let me know.

2

If there is a manifest.json file in the root of the xpi file, then it is a WebExtension. https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension

Every WebExtension must contain a file called "manifest.json".


If there is a package.json file in the root of the xpi file, then it is a legacy add-on. https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_(jpm)

The package.json file contains manifest data for your add-on, providing not only descriptive information about the add-on for presentation in the Add-ons Manager, but other metadata required of add-ons.

We are planning to deprecate the use by Firefox add-ons of the techniques described in this document. Don't use these techniques to develop new add-ons. Use WebExtensions instead.

(Discovered the latter page by viewing the history of the Add-ons page, until I found a revision which contained a link to the old way of building addons (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons$revision/1144290))

  • It would be good an alternative to identify XUL/webextension addons from the browser UI. Looking manually into each xpi file is no user friendly. – Daniel Perez Jan 21 at 16:31
0

I found an alternative to identify webextensions from a webbrowser.

  1. Install crxviewer webextension
  2. Go to addons, CRX viewer
  3. Click on "Open viewer" on the bottom of addon page
  4. Click on "Browse" button
  5. Navigate to your extensions folder
  6. Select a .xpi file and click "Open" button

CRX viewer addon

On the left side you can find those files that can identify XUL/webextension:

  • /manifest.json or /webextension/manifest.json (for Webextension) +
  • /package.json (for Webextension) (some XUL extensions have this file also)

optionally:

  • /chrome.manifest (most XUL extension have this file)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.