I built a tool that would automatically do what Dan Callahan went through on his blog post a few months ago, figured I would share it with the amo community. You can find it on github, or directly install it from npm.
Initially, I just wanted this tool to analyse the compatibility of a chrome extension with the current implementation state of WebExtensions (analysing both chrome api calls in code and manifest.json entries). I ended up adding a conversion capability that repackages the chrome extension so it can be directly loaded on Firefox, and packages it with some code that proxies the global
chrome object, so devs get warnings on the console instead of exceptions whenever an unsupported api call is done.
Hope it can help some of you!