{"id":15711149,"url":"https://github.com/stylet/webext-pegasus","last_synced_at":"2025-04-15T16:41:47.109Z","repository":{"id":233061201,"uuid":"785907281","full_name":"StyleT/webext-pegasus","owner":"StyleT","description":"Communication framework for browser extensions, with wings!","archived":false,"fork":false,"pushed_at":"2024-09-24T00:15:26.000Z","size":3276,"stargazers_count":14,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T16:40:31.126Z","etag":null,"topics":["extension-chrome","messaging","webext-redux","webextension-api","webextension-toolbox","webextensions"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StyleT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-12T22:09:37.000Z","updated_at":"2025-02-11T16:34:16.000Z","dependencies_parsed_at":"2024-05-14T00:27:00.893Z","dependency_job_id":"70245d56-2be1-4c85-933d-0bee24d78869","html_url":"https://github.com/StyleT/webext-pegasus","commit_stats":{"total_commits":65,"total_committers":3,"mean_commits":"21.666666666666668","dds":0.03076923076923077,"last_synced_commit":"6b9810b4958fd5cf0c1f36b9b4402bbb05a51f3d"},"previous_names":["stylet/webext-pegasus"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyleT%2Fwebext-pegasus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyleT%2Fwebext-pegasus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyleT%2Fwebext-pegasus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StyleT%2Fwebext-pegasus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StyleT","download_url":"https://codeload.github.com/StyleT/webext-pegasus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249110327,"owners_count":21214309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension-chrome","messaging","webext-redux","webextension-api","webextension-toolbox","webextensions"],"created_at":"2024-10-03T21:11:55.472Z","updated_at":"2025-04-15T16:41:47.085Z","avatar_url":"https://github.com/StyleT.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](./assets/logo.png)\n\n# webext-pegasus\n\n![License](https://badgen.net/github/license/StyleT/webext-pegasus)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/StyleT/webext-pegasus/ci.yml?branch=main)\n[![NPM Downloads](https://img.shields.io/npm/dm/%40webext-pegasus%2Ftransport?logo=npm)](https://www.npmjs.com/org/webext-pegasus)\n[![@webext-pegasus/transport version](https://badgen.net/npm/v/@webext-pegasus%2Ftransport?label=@webext-pegasus%2Ftransport)](https://www.npmjs.com/package/@webext-pegasus/transport)\n[![@webext-pegasus/rpc version](https://badgen.net/npm/v/@webext-pegasus%2Frpc?label=@webext-pegasus%2Frpc)](https://www.npmjs.com/package/@webext-pegasus/rpc)\n[![@webext-pegasus/store version](https://badgen.net/npm/v/@webext-pegasus%2Fstore?label=@webext-pegasus%2Fstore)](https://www.npmjs.com/package/@webext-pegasus/store)\n[![@webext-pegasus/store-zustand version](https://badgen.net/npm/v/@webext-pegasus%2Fstore-zustand?label=@webext-pegasus%2Fstore-zustand)](https://www.npmjs.com/package/@webext-pegasus/store-zustand)\n\nCommunication framework for browser extensions, with wings!\n\n## What's included?\n\n- [`@webext-pegasus/rpc`](./packages/rpc/) - Strongly typed RPC (messaging) API that allows `M:1` communication between extension surfaces\n- [`@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`.\n- [`@webext-pegasus/store`](./packages/store/) - APIs for building Redux/Zustand/Mobx/etc applications in Web Extensions.\n- [`@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)\n\n\u003e [!TIP]\n\u003e Please refer to individual package `README.md` files for respective packages as well as [./packages/example-extension](./packages/example-extension) for examples.\n\n## Supports\n\n* **Runtime contexts:** window (injected script), popup, devtools, content script, background, options, sidepanel (_planned_)\n* **Browsers:** Chrome, Firefox, Safari, Opera, Edge + others supported by [webextension-polyfill](https://github.com/mozilla/webextension-polyfill)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylet%2Fwebext-pegasus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstylet%2Fwebext-pegasus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylet%2Fwebext-pegasus/lists"}