A tool to check a Chrome extension compatibility with WebExtensions

Hi all,

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!

2 Likes

I’m one of the developers working on the new addons-linter for new add-ons (eg. Web Extensions in Firefox). We were just saying last week that this would be an awesome feature to integrate into the new add-on linter/validator.

Very cool! I’ve starred the repo and might ping you in the future to see about using this in our addons-linter! (https://github.com/mozilla/addons-linter)

:+1:

1 Like

Thanks for this! We’ve added your contribution to our recognition page.

1 Like

I bet @callahad will be interested in giving this a look.

I just installed this tool and performed an analyse on my Chrome extension. It worked perfectly, indicating some known issues of unimplemented API, and one that I did not know about.

I am astounded at how easily and well this tool worked. Thank you, @abarreir!!

1 Like