tshaddix / webext-redux

A set of utilities for building Redux applications in Web Extensions.
MIT License
1.22k stars 179 forks source link

Mozilla WebExtension-Polyfill support? #267

Open der-ofenmeister opened 3 years ago

der-ofenmeister commented 3 years ago

Hi everyone!

Hope y'all are safe and well!

Really really great work with this package, @tshaddix. This package seems to be my lifesaver!

Just wanted to know if there's mozilla's web-extension polyfill support here (or planned). In what fashion are the browser API's used (i.e. is it chrome, or a series of checks which pick up the appropriate namespace/polyfill when required?)

If there's no polyfill support, I'll get hacking and try to come up with something a little general-purpose, or so I hope.

I think it'll be pretty dang useful because :

  1. It structures the callback mess that the folks over at Google seem to like. This might be opinionated, but I think using promises is better in the sense that your code is much cleaner, simpler and readable.

  2. Apple has added support for the webextensions from Safari 14 onwards (you can read more here: apple developer, mozilla dev blogs and wwdc notes).

  3. Long story short, cross-compatibility seems to be less of a hassle now, and there might even be a possibility of Apple adding support for this to iOS as well. That's a nice cherry on top of a very tasty cake.

Also, if someone can fill me in as to what's up in general with this package and the direction it's headed, that'd be a very big help. I just stumbled upon this an hour back when I realised how much of a pain passing messages from background to my redux store in a vanilla react-redux extension is, as my codebase exponentiated (and this seems perfect for my that).

Once again, awesome work peeps! Looking forward to hearing back, and (possibly) contributing to this project!!

Cheers! Rohan

tshaddix commented 3 years ago

Hello @der-ofenmeister ! Thanks for the very kind words about this package!

I think this is a great suggestion, and funny enough we just had a conversation about adding this over in #256 yesterday. I believe @codedem is planning on submitting a PR for this shortly.

In terms of package direction - right now it really is in a maintenance mode. I'm not planning to add any major new functionality but I do plan on continuing to update this so it remains compatible with new versions of browsers and redux. Contributions are welcome and greatly appreciated :)

der-ofenmeister commented 3 years ago

Hey there, @tshaddix . Argh, my bad for creating semi-redundant issues! Should really have read that one, considering it was literally the previous issue. My bad, lol.

In terms of where this is headed, is there something particular that you might want to get done? Do let me know, I might be able to help. In any case, I'm in the process of setting this up fully into my extension and migrating away from messages, I'll post here if I encounter anything out of the expected.

Cheers!

tshaddix commented 3 years ago

@der-ofenmeister Not an issue!

Nothing major needed right now in terms of contributions. I think the key focus is making sure to support new updates to browsers, browser extension APIs, or redux. I really appreciate the offer and am always open to suggestions!

Hopefully you were able to implement everything without issue!