FireCws compiles web extensions written for Chrome (.crx) into ones usable in Firefox (.xpi).
One of the Firefox's weak points is that extensions in the world's largest browser extension marketplace, namely the Chrome Web Store, cannot be used. This is the solution.
npm i firecws #npm
yarn add firecws #yarn
pnpm add firecws #pnpm
bun add firecws #bun
import * as firecws from 'firecws' // Node/Bun
import * as firecws from 'npm:firecws' // Deno
import * as firecws from 'jsr:@ns/firecws' // JSR(wip)
Download a .crx extension from the Chrome Web Store:
const extensionId = 'ophjlpahpchlmihnnnihgmmeilfjmjjc' // LINE
const crxExt = await firecws.fromWebStore(extensionId)
Then, compile it to .xpi:
const { xpi } = await firecws.compile(crxExt, {
// Options
}, progress => {
// Progress callback
})
xpi // Uint8Array
- 💯 - Working completely
- ✅ - No problems
- ⭕ - Problems, but mostly usable
- 🤔 - Errors occur, inconvenient to use
- ❌ - Can't install
Name | Extension version checked | FireCws version checked | Status |
---|---|---|---|
LINE | 3.1.2 | 0.2.0 | 🤔 |
The compilation code is a little bloated and is slow.
- @EdamAme-x
- Information on how LINE uses the origin and advice on how to fix it
Unless otherwise specified, all files are licensed under the MIT License.
Please read CONTRIBUTING.md!