Skip to content

Communication framework for browser extensions, with wings!

License

Notifications You must be signed in to change notification settings

StyleT/webext-pegasus

Repository files navigation

Logo

webext-pegasus

License GitHub Actions Workflow Status NPM Downloads @webext-pegasus/transport version @webext-pegasus/rpc version @webext-pegasus/store version @webext-pegasus/store-zustand version

Communication framework for browser extensions, with wings!

What's included?

  • @webext-pegasus/rpc - Strongly typed RPC (messaging) API that allows M:1 communication between extension surfaces
  • @webext-pegasus/store-zustand - Zustand adapter to share state between pages (content script, injected script, popup, devtools, etc..) and background in web extensions. Based on @webext-pegasus/store.
  • @webext-pegasus/store - APIs for building Redux/Zustand/Mobx/etc applications in Web Extensions.
  • @webext-pegasus/transport - Low level transport layer that allows to use same APIs within all runtime contexts (especially important for reusable components) while mitigating issues like this one zikaari/crx-bridge#11

Tip

Please refer to individual package README.md files for respective packages as well as ./packages/example-extension for examples.

Supports

  • Runtime contexts: window (injected script), popup, devtools, content script, background, options, sidepanel (planned)
  • Browsers: Chrome, Firefox, Safari, Opera, Edge + others supported by webextension-polyfill