Multi-Browser Framework
Firefox Extension Framework
LightningAddon is a production-ready Firefox extension framework that builds Firefox add-ons from the same TypeScript codebase as Chrome, Safari, and 4 other browsers. Auth, Stripe billing, typed messaging, and full Gecko compatibility included.
Firefox-Ready Features
Single Codebase, Full Firefox Support
Write your extension once and build for Firefox alongside Chrome, Safari, Brave, Edge, Opera, and Zen. getExtensionApi() normalizes the browser API surface so you never branch on runtime detection.
MV3 + Gecko Compatibility
Firefox's Manifest V3 implementation differs from Chrome's. LightningAddon handles the manifest differences at build time — background scripts, permissions, and content security policies are generated correctly for each target.
Persistent Background Scripts
Firefox MV3 supports persistent background pages where Chrome requires service workers. LightningAddon's build system generates the correct background context for each browser so your logic works identically everywhere.
AMO Submission Ready
Firefox add-ons are distributed through addons.mozilla.org (AMO). LightningAddon builds a Firefox-specific package with the correct manifest format and permission declarations for AMO review.
Authentication Built In
Firebase and Supabase auth adapters work identically in Firefox. Token refresh, session persistence, and cross-context auth state are handled without browser-specific workarounds.
Typed Cross-Context Messaging
The RuntimeMessageMap pattern works across popup, background, content scripts, and sidebar in Firefox. Every message is typed end-to-end with TypeScript — browser.runtime.sendMessage is fully abstracted.
Full Chrome Parity from One Codebase
The biggest challenge in Firefox extension development is maintaining parity with Chrome. The APIs are similar but not identical — browser.* vs chrome.*, different permission models, different manifest formats, different background script lifecycles.
LightningAddon's getExtensionApi() normalizes the entire API surface at runtime. Your application code calls a single, typed interface. The build system generates browser-specific manifests with the correct permissions, CSP headers, and background configuration for each target.
Read the full technical guide on supporting Chrome and Firefox from a single codebase, or see how Shadow DOM isolation works in content scripts across browsers.
Frequently Asked Questions
Yes. Firefox's MV3 has differences from Chrome's — persistent background pages instead of mandatory service workers, different CSP defaults, and browser.* namespace instead of chrome.*. LightningAddon's build system generates the correct manifest and configuration for each browser target.
Yes. You develop against a unified API and test in Chrome (or any browser). When you run the Firefox build command, LightningAddon produces a Firefox-specific package with the correct manifest, polyfills, and API calls. Most developers develop in Chrome and test Firefox before release.
AMO reviews are generally faster and more transparent than Chrome Web Store reviews. Firefox is less restrictive about permissions but still requires justification for broad host permissions. LightningAddon's minimal-permission defaults and build output are designed to pass both review processes.
Identical behavior. The billing flow runs through the background context (persistent background page in Firefox, service worker in Chrome) and opens Stripe checkout in a new tab. Auth token refresh and session management work the same across both browsers.
Start Building for Firefox
$149 one-time. Full source code. Firefox, Chrome, Safari, and 4 more browsers from a single codebase.