diff --git a/docs/get-started/compare.md b/docs/get-started/compare.md index 46b6be69..8ffb67d9 100644 --- a/docs/get-started/compare.md +++ b/docs/get-started/compare.md @@ -4,30 +4,30 @@ Lets compare the features of WXT vs [Plasmo](https://docs.plasmo.com/framework) ## Overview -| Features | WXT | Plasmo | CRXJS | -| ---------------------------------------------------- | :-------------------------: | :--------------------------------------: | :---------------------------------------------------------------------: | -| Supports all browsers | ✅ | ✅ | ❌ See [#56](https://github.com/crxjs/chrome-extension-tools/issues/56) | -| MV2 Support | ✅ | ✅ | 🟡 Either MV2 or MV3 | -| MV3 Support | ✅ | ✅ | 🟡 Either MV2 or MV3 | -| Create Extension ZIPs | ✅ | ✅ | ❌ | -| Create Firefox Sources ZIP | ✅ | ❌ | ❌ | -| First-class TypeScript support | ✅ | ✅ | ✅ | -| Entrypoint discovery | File based | File based | ❌ | -| Inline entrypoint config | ✅ | ✅ | Manifest based | -| Auto-imports | ✅ | ❌ | ❌ | -| Supports all frontend frameworks | ✅ | 🟡 Only React, Vue, and Svelte | ✅ | -| Framework specific entrypoints (like `Popup.tsx`) | 🟡 `.html` `.ts` `.tsx` | ✅ `.html` `.ts` `.tsx` `.vue` `.svelte` | ❌ | -| Automated publishing | ✅ | ✅ | ❌ | -| Remote Code Bundling (Google Analytics) | ✅ | ✅ | ❌ | +| Features | WXT | Plasmo | CRXJS | +| ---------------------------------------------------- | :-------------------------: | :--------------------------------------: | :-------------------------------------: | +| Supports all browsers | ✅ | ✅ | ✅ As of `v2.0.0-beta.23` | +| MV2 Support | ✅ | ✅ | 🟡 Either MV2 or MV3 | +| MV3 Support | ✅ | ✅ | 🟡 Either MV2 or MV3 | +| Create Extension ZIPs | ✅ | ✅ | ❌ | +| Create Firefox Sources ZIP | ✅ | ❌ | ❌ | +| First-class TypeScript support | ✅ | ✅ | ✅ | +| Entrypoint discovery | File based | File based | ❌ | +| Inline entrypoint config | ✅ | ✅ | Manifest based | +| Auto-imports | ✅ | ❌ | ❌ | +| Supports all frontend frameworks | ✅ | 🟡 Only React, Vue, and Svelte | ✅ | +| Framework specific entrypoints (like `Popup.tsx`) | 🟡 `.html` `.ts` `.tsx` | ✅ `.html` `.ts` `.tsx` `.vue` `.svelte` | ❌ | +| Automated publishing | ✅ | ✅ | ❌ | +| Remote Code Bundling (Google Analytics) | ✅ | ✅ | ❌ | | Dev Mode | | | -| `.env` Files | ✅ | ✅ | ✅ | -| Opens browser and install extension | ✅ | ❌ | ❌ | -| HMR for UIs | ✅ | 🟡 React only | ✅ | -| Reload HTML Files on Change | ✅ | 🟡 Reloads entire extension | ✅ | -| Reload Content Scripts on Change | ✅ | 🟡 Reloads entire extension | ✅ | -| Reload Background on Change | 🟡 Reloads entire extension | 🟡 Reloads entire extension | 🟡 Reloads entire extension | -| Respects Content Script `run_at` | ✅ | ✅ | ❌ ESM-style loaders run asynchronously | -| Built-in Utils | | | | -| Storage | ✅ | ✅ | ❌ | -| Messaging | ❌ | ✅ | ❌ | -| Content Script UI | ✅ | ✅ | ❌ | +| `.env` Files | ✅ | ✅ | ✅ | +| Opens browser and install extension | ✅ | ❌ | ❌ | +| HMR for UIs | ✅ | 🟡 React only | ✅ | +| Reload HTML Files on Change | ✅ | 🟡 Reloads entire extension | ✅ | +| Reload Content Scripts on Change | ✅ | 🟡 Reloads entire extension | ✅ | +| Reload Background on Change | 🟡 Reloads entire extension | 🟡 Reloads entire extension | 🟡 Reloads entire extension | +| Respects Content Script `run_at` | ✅ | ✅ | ❌ ESM-style loaders run asynchronously | +| Built-in Utils | | | | +| Storage | ✅ | ✅ | ❌ | +| Messaging | ❌ | ✅ | ❌ | +| Content Script UI | ✅ | ✅ | ❌ |