finds.dev

extension-js/extension.js

The cross-browser extension framework.

View on GitHubHomepage ↗

★ 5,197TypeScriptMITupdated Oct 2026

// the take

A build tool and dev server for browser extensions that targets Chrome, Edge, Firefox, and Safari from one config-free setup, with first-class support for React, Vue, Svelte, Preact, and plain TypeScript. It's aimed at anyone building a Manifest V3 extension who's tired of hand-rolling webpack/rollup configs and managing per-browser quirks themselves.

Hot reload for content scripts and the service worker that only re-injects what changed instead of reloading the whole extension — that's the actual hard problem in extension tooling and most competitors (CRXJS, raw webpack setups) don't solve it well. The CLI covers the full lifecycle (create, dev, build --zip, install for managed browser binaries) so you're not stitching together separate tools for store packaging. Being able to point `extension dev` at a GitHub URL and run someone else's sample directly is a genuinely useful shortcut for testing APIs or forking a starting point. Multi-runtime support (Node, Deno, Bun) is implemented as actual compatibility work, not just a claim — there's a specific carve-out for a Deno 2.8.0 bug.

Manifest V3 behavior differs across Chrome, Firefox, and Safari in ways that shift with every browser release, so this project has to keep chasing four moving targets instead of one — more adapter surface than a Chrome-only tool like CRXJS, and more ways for a browser update to quietly break your build. Safari support is listed as supported but the README gives no detail on signing or Xcode handoff, which is traditionally the painful part of shipping to the App Store — worth verifying before relying on it. The project pushes hosted build/share/store-submission workflows to a separate paid platform (extension.dev) run by the same maintainer, so the fully free path may not cover everything you'd want for a real release pipeline. It's effectively a single-maintainer project (sponsorship link points to one person), which is a real bus-factor risk for something sitting in your build pipeline.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
5,197
Forks
142
Language
TypeScript
License
MIT
Last commit
22 Oct 2026

// nearby

If extension.js isn't quite it.

All repos →