DEV Community

[Comment from a deleted post]
Collapse
 
johncip profile image
jmc

To add to this -- if you're willing to do the development in Firefox (for simple extensions, it's not hard to make them cross-platform or to port to Chrome after), the web-ext CLI tool will allow you to auto-reload the extension as you save changes to it.

There's also an extension-reloading extension for Chrome, and at a lower level, you can probably write something around chrome-launcher, but I haven't tried either yet.

Collapse
 
azettl profile image
Andreas

I tried the extension in Firefox, and it works without any changes. All you need to do is go to "about:debugging" and click on "Load Temporary Add-on" and select the manifest.json in your extensions folder, this will load your extension till the next restart of Firefox.

To get the extension work permanently, you need to follow the instructions on developer.mozilla.org/en-US/docs/M... which basically means adding a small part to the manifest.json file and getting the add-on signed.

Collapse
 
johncip profile image
jmc

That's good. The differences aren't big; IIRC some manifest options have different names, and the top-level API's namespace differs (chrome in Chrome & Opera, browser in Firefox & Edge).

My one relevant project only makes light use of the API and so it's likely that the namespace is the only difference I'll see. And it can be done transparently -- Firefox supports chrome as the namespace, or one can use browser in Chrome with a polyfill).

The state of the "standard" is weird -- from what I can tell, Moz and MS put some effort a while back into making Chrome's APIs a W3C recommendation, but it doesn't seem like Google cared much, and I suspect the planned manifest v3 changes are partly why.