Introduction
What is WebExtend?
WebExtend is a build tool that helps you make web extensions using modern web technology.
Why WebExtend?
Since there have been some similar tools for web extension development today, such as Plasmo, WXT, CRXJS etc, why should you select WebExtend?
These tools might have some of these problems as follows.
- No support for content_scripts HMR. Each code change requires page refresh, causing states missing.
- Complex APIs.
Main Features
📝 Declarative Entrypoints
WebExtend automatically parses entries based on the file system, reducing manifest.json
configuration burden.
See entrypoints.
⚡️ Seamless Development Experience
WebExtend supports instant HMR for popup/options/content_scripts..., automatic browser opening and extension running.
🧭 Multi-Browser Support
WebExtend automatically handles manifest.json
configuration differences for easy multi-browser support.
See browser support.
🛠️ ESM & TypeScript Support
ESM and TypeScript work out of the box, no extra configuration needed.
✈️ Framework Agnostic
Freedom to use any frontend framework or library, for example:
- React
- Vue
- Svelte
- CSS Modules
- Tailwind CSS
- UnoCSS
- Auto Import
- ...
🚀 Lightning Fast Performance
Powered by Rsbuild for extremely fast development and building.
See Rsbuild.
💪 Scaffold Support
WebExtend provides a CLI tool that helps you create a project quickly and generate entry files automatically.
See web-extend.
Pre-Requisite Knowledge
Before getting start, you should know basic knowledge about web extension development.