https://github.com/stylet/webext-pegasus
Communication framework for browser extensions, with wings!
https://github.com/stylet/webext-pegasus
extension-chrome messaging webext-redux webextension-api webextension-toolbox webextensions
Last synced: 6 months ago
JSON representation
Communication framework for browser extensions, with wings!
- Host: GitHub
- URL: https://github.com/stylet/webext-pegasus
- Owner: StyleT
- License: mit
- Created: 2024-04-12T22:09:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-24T00:15:26.000Z (about 1 year ago)
- Last Synced: 2025-03-30T16:40:31.126Z (6 months ago)
- Topics: extension-chrome, messaging, webext-redux, webextension-api, webextension-toolbox, webextensions
- Language: TypeScript
- Homepage:
- Size: 3.12 MB
- Stars: 14
- Watchers: 1
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# webext-pegasus


[](https://www.npmjs.com/org/webext-pegasus)
[](https://www.npmjs.com/package/@webext-pegasus/transport)
[](https://www.npmjs.com/package/@webext-pegasus/rpc)
[](https://www.npmjs.com/package/@webext-pegasus/store)
[](https://www.npmjs.com/package/@webext-pegasus/store-zustand)Communication framework for browser extensions, with wings!
## What's included?
- [`@webext-pegasus/rpc`](./packages/rpc/) - Strongly typed RPC (messaging) API that allows `M:1` communication between extension surfaces
- [`@webext-pegasus/store-zustand`](./packages/store-zustand/) - [Zustand](https://github.com/pmndrs/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`](./packages/store/) - APIs for building Redux/Zustand/Mobx/etc applications in Web Extensions.
- [`@webext-pegasus/transport`](./packages/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](https://github.com/zikaari/crx-bridge/issues/11)> [!TIP]
> Please refer to individual package `README.md` files for respective packages as well as [./packages/example-extension](./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](https://github.com/mozilla/webextension-polyfill)