Extension.js
Zero-config CLI framework for building one extension codebase that ships to Chrome, Firefox, Edge, and Safari

- Best for
- Developers who want a single codebase that targets Chrome, Firefox, Edge, and (limited) Safari with genuinely zero build configuration, regardless of which UI framework they pick.
- Skip if
- You want a framework with a large, established plugin/module ecosystem already built up - Extension.js is newer and smaller than WXT or Plasmo.
Extension.js is an open-source, cross-browser extension framework maintained by Cezar Augusto and the Extension.js authors. Its CLI (`npx extension@latest create`) scaffolds a project with no build configuration required, supporting vanilla JavaScript/TypeScript, WebAssembly, and React, Vue, Svelte, or Preact for UI. It compiles browser-prefixed manifest keys into per-browser Manifest V3 output, offers hot module replacement for background and content scripts during development, and packages production zips ready for the Chrome Web Store, Firefox Add-ons, and Edge Add-ons.
Pros
- True zero-config CLI - `npx extension@latest create` needs no webpack/vite config to get started
- Supports React, Vue, Svelte, and Preact plus plain TS/JS/WASM from one framework
- Browser-prefixed manifest keys (chrome:, firefox:, edge:) make per-browser overrides explicit
- Actively developed with commits landing multiple times a week
Cons
- Smaller community and ecosystem than Plasmo or WXT, fewer third-party guides
- Safari support is explicitly limited and macOS-only
- Newer project overall, so long-term API stability is less proven

