The Python based command line tool, CFX, was what we’ve used to build, run, and test add-ons which used the Add-on SDK in the past. Last August, we released CFX 1.17 and there are no plans to release a new version. We are replacing CFX with JPM which is a NodeJS based equivalent that works on Firefox 38 and higher and will be accepted on AMO.
For now, you can continue to use CFX as AMO will still accept those add-ons but it is recommended that you start using JPM tool as it is the only one receiving updates.
Why We Switched
We’ve made the new tool for a number of reasons: For one, the Python tool supported a number of features which we wanted to deprecate. Also, building the tool with JavaScript instead of Python so that it may eventually be used in Firefox with the WebIDE and finally we wanted to replace the old third party module system that was invented for CFX with NPM.
If you are familiar with CFX then this guide on switching to JPM should prove useful.
Advantages
- JPM is easier to install, especially on Windows.
- JPM is easier to release, because CFX is Python based and is distributed as a zip file. JPM is Node-js based and is distributed through NPM.
- JPM produces smaller XPIs, because no extra files are produced*.
- JPM supports NPM packges.
We hope you enjoy JPM!
Find the source on github! and the issue tracker too!
*JPM produces an install.rdf
and minimal bootstrap.js
for now, in future versions it will not.
blueskyy wrote on
Erik Vold wrote on
Brett Zamir wrote on
John Nagle wrote on
Yunier J wrote on