{"id":27,"url":"https://github.com/fregante/Awesome-WebExtensions","last_synced_at":"2025-08-13T23:31:21.612Z","repository":{"id":44377379,"uuid":"62128655","full_name":"fregante/Awesome-WebExtensions","owner":"fregante","description":"A curated list of awesome resources for WebExtensions development.","archived":false,"fork":false,"pushed_at":"2024-04-29T20:10:01.000Z","size":109,"stargazers_count":1235,"open_issues_count":2,"forks_count":79,"subscribers_count":29,"default_branch":"main","last_synced_at":"2024-05-20T02:57:18.074Z","etag":null,"topics":["awesome","awesome-list","webext"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fregante.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2016-06-28T09:34:36.000Z","updated_at":"2024-05-29T08:59:07.173Z","dependencies_parsed_at":"2024-05-29T08:58:46.037Z","dependency_job_id":"6d9c3483-00e6-4227-8b4f-b5f8e5685233","html_url":"https://github.com/fregante/Awesome-WebExtensions","commit_stats":null,"previous_names":["bfred-it/awesome-webextensions"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fregante%2FAwesome-WebExtensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fregante%2FAwesome-WebExtensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fregante%2FAwesome-WebExtensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fregante%2FAwesome-WebExtensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fregante","download_url":"https://codeload.github.com/fregante/Awesome-WebExtensions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229786916,"owners_count":18123998,"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":["awesome","awesome-list","webext"],"created_at":"2024-01-05T20:12:44.397Z","updated_at":"2024-12-15T05:30:34.067Z","avatar_url":"https://github.com/fregante.png","language":null,"readme":"# Awesome WebExtensions [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e A curated list of awesome resources for WebExtensions development.\n\nWebExtensions are a cross-browser system for developing browser add-ons. To a large extent the system is compatible with the extension API supported by Google Chrome. Extensions written for this browser will in most cases run in Firefox with just [a few changes](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension).\n\nFollow [@fregante](https://fregante.com) for more webext-related news.\n\n## Contents\n\n- [Getting started](#getting-started)\n- [Community](#community)\n- [Libraries and Frameworks](#libraries-and-frameworks)\n- [Tools](#tools)\n- [Testing](#testing)\n- [Boilerplates](#boilerplates)\n- [Sample Extensions](#sample-extensions)\n\n## Getting started\n\n- [Chrome Extensions documentation](https://developer.chrome.com/docs/extensions/reference) - Documentation for the original Chrome extension model.\n- [Mozilla's WebExtensions documentation](https://developer.mozilla.org/en-US/Add-ons/WebExtensions) - MDN wiki for the WebExtensions API.\n- [Browser support for WebExtensions](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) - Compatibility table for Chrome, Edge, Firefox, and Opera.\n- [Safari Extensions documentation](https://developer.apple.com/safari/extensions/) - Developer documentation on building Safari extensions. Technically not WebExtensions, the API is completely different.\n- [Opera API support](https://dev.opera.com/extensions/apis/) - Detailed WebExtensions support for Opera.\n- [Browser Extension Standard](https://browserext.github.io/browserext/) - Standard for the API, supported by Mozilla, Opera and Microsoft.\n\n## Community\n\n- [Google Groups](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-extensions) - Discussions.\n- [Mozilla Discourse](https://discourse.mozilla.org/c/add-ons) - Discussions.\n- [`#addons:mozilla.org`](https://matrix.to/#/#addons:mozilla.org) - Matrix channel by Mozilla.\n- [`google-chrome-extension` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/google-chrome-extension) - Relevant questions.\n- [`firefox-addon-webextensions` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/firefox-addon-webextensions) - Relevant questions.\n- [`microsoft-edge-extension` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/microsoft-edge-extension) - Relevant questions.\n\n## Libraries and Frameworks\n\nCode meant become part of the extension.\n\n- [webext-options-sync](https://github.com/fregante/webext-options-sync) - Helps you manage and autosave your extension's options.\n- [webext-storage-cache](https://github.com/fregante/webext-storage-cache) - Map-like promised cache storage with expiration.\n- [webext-dynamic-content-scripts](https://github.com/fregante/webext-dynamic-content-scripts) - Automatically inject your `content_scripts` on custom domains.\n- [mozilla/webextension-polyfill](https://github.com/mozilla/webextension-polyfill) - Polyfill to support the standardized promise based API in the `browser` namespace.\n- [@types/firefox-webext-browser](https://www.npmjs.com/package/@types/firefox-webext-browser) - Supplies TypeScript types for the `browser` namespace.\n- [redux-webext](https://github.com/ivantsov/redux-webext) - Uses Redux for managing the state of your WebExtension.\n- [ExtPay](https://github.com/Glench/ExtPay) - Take secure payments in extensions without needing to run a server backend.\n- [inject-react-anywhere](https://github.com/OlegWock/inject-react-anywhere) - Inject React components into 3rd party sites with convenient API and styles isolation.\n- [More…](https://github.com/fregante/webext-fun)\n\n## Tools\n\nApps that help you manage your extensions.\n\n- [Chrome Webstore Upload](https://github.com/fregante/chrome-webstore-upload-cli) - Upload the extension to the Chrome Web Store via cli (or on Travis, automatically).\n- [mozilla/web-ext](https://github.com/mozilla/web-ext) - Command line tool to help build, run, and test WebExtensions.\n- [chromepet](https://github.com/ZenHubIO/chromepet) - Get notified when your new version has been published.\n- [chrome-ext-downloader](https://github.com/jiripospisil/chrome-ext-downloader) - Download any extension on Chrome Web Store to see how they do it.\n- [chrome-store-api](https://github.com/acvetkov/chrome-store-api) - Chrome Web Store API wrapper.\n- [Chrome extension source viewer](https://github.com/Rob--W/crxviewer) - WebExtension to view source code of extensions directly on the store.\n- [@wext/shipit](https://github.com/LinusU/wext-shipit) - Tool to automatically publish to Chrome Web Store, Mozilla Addons and Opera Addons.\n- [wext-manifest-loader](https://github.com/abhijithvijayan/wext-manifest-loader) - Webpack loader that lets you specify `manifest.json` properties to appear only in specific browsers.\n- [webextension-manifest-loader](https://github.com/jsmnbom/webextension-manifest-loader) - Webpack loader that loads browser tailored manifest.json. It also imports all importable properties, allowing you to have 'manifest.json' as your only webpack entry point.\n- [webpack-extension-reloader](https://github.com/rubenspgcavalcante/webpack-extension-reloader) - A Webpack plugin to automatically reload browser extensions during development.\n- [webpack-target-webextension](https://github.com/awesome-webextension/webpack-target-webextension) - Adds code-splitting support to WebExtensions build with Webpack.\n- [Extension.js](https://github.com/cezaraugusto/extension.js) - Plug-and-play, zero-config, cross-browser extension development tool.\n\n## Testing\n\n- [sinon-chrome](https://github.com/acvetkov/sinon-chrome) - Mocks the Chrome Extensions API for testing.\n- [addons-linter](https://github.com/mozilla/addons-linter) - Validate an extension against Mozilla's guidelines.\n- [webextensions-jsdom](https://github.com/stoically/webextensions-jsdom) - Load popup, sidebar and background with JSDOM based on the manifest.json.\n- [webextensions-api-fake](https://github.com/stoically/webextensions-api-fake) - In-memory WebExtensions API Fake Implementation (includes TypeScript types).\n- [webextensions-api-mock](https://github.com/stoically/webextensions-api-mock) - WebExtensions API as sinon stubs (includes TypeScript types).\n- [webextensions-schema](https://github.com/stoically/webextensions-schema) - Programmatically consume the WebExtensions Schema JSON files.\n\n## Boilerplates\n\n- [browser-extension-template](https://github.com/fregante/browser-extension-template) - Barebones boilerplate with parcel, options handler and auto-publishing.\n- [create-webextension](https://github.com/rpl/create-webextension) - Yarn WebExtension generator.\n- [generator-web-extension](https://github.com/webextension-toolbox/generator-web-extension) - WebExtension generator that creates everything you need to get started with cross-browser web-extension development.\n- [WXT](https://github.com/wxt-dev/wxt) - Next-gen framework for developing web extensions\n\n## Sample Extensions\n\nThese are simple and modern WebExtensions repositories that could help you figure out where pieces go, including automatic deployment via Travis CI.\n\n- [npmhub](https://github.com/npmhub/npmhub)\n- [Hide Files on GitHub](https://github.com/sindresorhus/hide-files-on-github)\n- [mdn/webextension-examples](https://github.com/mdn/webextensions-examples) - Various example extensions curated for the MDN documentation.\n","funding_links":[],"categories":["Platforms","Technical","Others","Uncategorized","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","miscellaneous","awesome-list","Other Lists","平台","Themed Directories"],"sub_categories":["awesome-*","Uncategorized","TeX Lists"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffregante%2FAwesome-WebExtensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffregante%2FAwesome-WebExtensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffregante%2FAwesome-WebExtensions/lists"}