extension-js/extension.js
Fork: 122 Star: 4613 (更新于 2026-02-12 06:12:58)
license: MIT
Language: TypeScript .
🧩 The cross-browser extension framework
最后发布版本: v3.5.1 ( 2026-02-07 02:43:10)
Extension.js
The cross-browser extension framework
- Create a new extension — How to create a new extension.
- Watch demo — See how creating a new extension works.
- Start from an example — Start from a working baseline.
- I have an extension — Use only specific parts of Extension.js.
Create cross-browser extensions without manual build configuration.
Use Extension.js to develop, build, and preview across browsers with a unified workflow.
Create a new extension
Use the create command to generate a new extension. Also works with pnpm, yarn, and bun.
npx extension@latest create my-extension
cd my-extension
npm run dev
Watch demo
Web standards and framework support
Get started from a sample
Get started
Start developing an extension using a sample from Chrome Extension Samples
See the example below where we request the sample page-redder from Google Chrome Extension Samples.
Watch demo
Try Yourself
npx extension@latest dev https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/functional-samples/sample.page-redder --browser=edge
I have an extension
If you have an existing extension which is using a package manager, you can install the Extension.js package and manually create the scripts used to run your extension.
See how it works
Step 1 - Install extension as a devDependency
npm install extension@latest --save-dev
Step 2 - Link your npm scripts with the executable Extension.js commands
{
"scripts": {
"build": "extension build",
"dev": "extension dev",
"preview": "extension preview"
},
"devDependencies": {
// ...other dependencies
"extension": "latest"
}
}
Done. You are all set!
- To develop the extension, run
npm run dev. - To build the extension in production mode, run
npm run build. - To visualize the extension in production mode, run
npm run buildandnpm run preview.
Using a specific browser for development
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| Chrome browser ✅ |
Edge browser ✅ |
Firefox browser ✅ |
Safari browser (soon) |
Chromium-based ✅ |
Gecko-based ✅ |
Browser flags and custom binaries
Use these flags with extension dev, extension start, or extension preview:
- Select a browser:
--browser <chrome | edge | firefox> - Custom Chromium binary:
--chromium-binary <path-to-binary> - Custom Gecko (Firefox) binary:
--gecko-binary <path-to-binary>
Examples:
# Chrome (system default)
npx extension@latest dev --browser=chrome
# Edge
npx extension@latest dev --browser=edge
# Custom Chrome/Chromium path
npx extension@latest dev --chromium-binary "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
# Custom Firefox path
npx extension@latest dev --gecko-binary "/Applications/Firefox.app/Contents/MacOS/firefox"
Sponsors
License
MIT (c) Cezar Augusto and the Extension.js Authors.
最近版本更新:(数据更新于 2026-02-12 06:12:34)
2026-02-07 02:43:10 v3.5.1
2026-02-06 20:50:36 v3.5.0
2026-02-06 08:17:24 v3.5.0-next.27
2026-02-06 02:39:23 v3.5.0-next.26
2026-02-06 01:30:30 v3.5.0-next.25
2026-02-05 22:20:45 v3.5.0-next.24
2026-02-05 06:00:21 v3.5.0-next.22
2026-02-04 07:28:59 v3.5.0-next.21
2026-02-04 06:47:14 v3.5.0-next.20
2026-02-04 06:33:39 v3.5.0-next.19
主题(topics):
boilerplate, browser-extension, chrome-extension, cli, cross-browser, edge-extension, firefox-addon, manifest-v3, mv3, playwright, preact, react, safari-web-extension, scaffold, starter-template, svelte, typescript, vue, webextension, zero-config
extension-js/extension.js同语言 TypeScript最近更新仓库
2026-02-18 10:43:05 QwenLM/qwen-code
2026-02-18 08:58:45 virattt/dexter
2026-02-18 08:26:18 lfnovo/open-notebook
2026-02-18 07:25:38 vercel/vercel
2026-02-18 01:17:33 code-yeongyu/oh-my-opencode
2026-02-18 00:26:00 nestjs/nest