Framework Comparison
LightningAddon vs WXT
WXT is the developer-experience leader among open-source extension frameworks — Vite-native HMR, file-based entrypoints, MIT license. We respect it. Here's an honest read on when WXT is the right choice and when paying $149 saves you four weeks.
When WXT is the right call
You should use WXT (free, MIT) and skip LightningAddon if any of these apply:
- You're building a hobby or open-source extension. WXT's developer experience is genuinely best-in-class for free frameworks.
- You want Vite-native HMR speed and the file-based entrypoint convention. WXT was built around these — they're its core differentiators.
- You're committed to Vue, Svelte, or Solid. LightningAddon is React-only. WXT works with any Vite plugin.
- You don't need auth or billing. If your extension is read-only, free, or stateless, the auth + Stripe + migration pieces in LightningAddon are dead weight.
When LightningAddon is the right call
LightningAddon is the right call if you're building a commercial SaaS extension and the four weeks of auth + billing + migrations work is your bottleneck. Specifically:
- Auth that works across all four isolated contexts (popup, content script, service worker, web dashboard) — wired, not stubbed. Switch between Supabase and Firebase at config level. WXT ships nothing here.
- Stripe checkout from a service worker. The "popups close mid-flow" problem solved. Not in WXT.
- Versioned storage migrations so customers don't get bricked when your schema changes. Not in WXT.
- Production-tested. Two of our own extensions (PinFeed, SiteBlocker) ship on this stack.
If you're starting a paid extension and the question is "do I want to spend 4 weeks on the SaaS layer or $149 on a working version?" — LightningAddon is for you.
Side-by-side feature comparison
| Feature | LightningAddon | WXT |
|---|---|---|
| Browser support | Chrome, Firefox, Safari, Brave, Edge, Opera, Zen | Chrome, Firefox, Edge, Safari, all Chromium |
| UI frameworks | React + TypeScript (Vite) | Framework-agnostic — any Vite plugin (React, Vue, Svelte, Solid, vanilla) |
| HMR speed | Two-stage Vite pipeline | Vite-native — among the fastest in the category |
| Built-in auth | Firebase + Supabase, full parity, swap at config | Not included; you wire it |
| Stripe billing | Service-worker checkout flow shipped | Not included; you build it |
| Storage migrations | Versioned migration system included | Not included |
| Typed runtime messaging | Typed message bus across all four contexts | Framework-agnostic; you bring your own |
| Shadow DOM isolation | Built-in for content scripts | DIY (helper utilities available) |
| Automated publishing CLI | Coming next release | Built-in (zip + Chrome / Firefox / Edge submission) |
| Bundle analysis | Coming next release | Built-in |
| File-based entrypoints | Explicit apps/* directories | Nuxt-style file routing |
| License | Commercial — you own the source | MIT |
| Pricing | $149 one-time, lifetime updates | Free, sustained by community sponsorship |
Honest total cost of ownership
Pricing isn't free vs paid — it's "free framework plus four weeks of your time" vs "$149 plus your product timeline." Here's the math:
| Path | Up-front cost | Time to first paid customer |
|---|---|---|
| WXT + DIY auth/Stripe/migrations | $0 (framework is free) | ~4 weeks of infrastructure + your product timeline |
| LightningAddon | $149 one-time | Your product timeline; infra already shipped |
If your effective hourly rate is above ~$40, four weeks of your time costs more than $149. If it's lower, or you genuinely enjoy wiring infrastructure, free WXT is the right call.
Frequently asked questions
If you're building a hobby or open-source extension, want maximum dev-experience speed (Vite-native HMR is genuinely faster than legacy frameworks), or you're already comfortable wiring auth and billing yourself — WXT is the better choice. WXT shines for devs who want a thin, fast build pipeline and full control. LightningAddon makes sense if you're shipping a paid extension SaaS and the four weeks of auth + Stripe + storage migrations are your bottleneck.
Yes. Both use standard browser extension APIs. WXT's file-based entrypoint convention maps cleanly to LightningAddon's explicit apps/* directory structure — typically 1-2 days to port a medium-sized WXT extension. You gain auth, billing, and migrations; you lose Vite-native HMR speed parity (we ship a two-stage Vite pipeline that's still fast, but WXT brags about HMR for a reason).
WXT's automated publishing CLI (zip + Chrome Web Store / Firefox Add-ons / Edge Add-ons submission in one command), file-based entrypoint convention, Vite-native HMR speed, framework-agnostic plugin system, and bundle analysis are all worth respecting. LightningAddon is closing these gaps in upcoming releases (publishing CLI and bundle analysis are next). What LightningAddon ships that WXT doesn't: production auth across 4 contexts, Stripe-from-service-worker checkout, and versioned storage migrations.
No. LightningAddon is React + TypeScript (Vite). WXT is framework-agnostic (any Vite plugin). If you're committed to Vue, Svelte, or Solid, WXT is the better fit. If you're already on React or framework-flexible, LightningAddon's auth + billing + migrations save the four weeks WXT doesn't cover.
WXT is MIT-licensed and free, with no paid tier — sustained by community sponsorship. LightningAddon is $149 one-time with lifetime updates and full source code. The honest TCO: WXT + ~4 weeks of building auth/Stripe/migrations yourself, vs LightningAddon's $149 + that infrastructure already shipped. If your hourly rate is above ~$40, the four weeks costs more than $149.
Skip the four weeks
$149 one-time. Lifetime updates. 7-browser support. Auth + Stripe + storage migrations already shipped.
Also comparing? See LightningAddon vs Plasmo.