firecws
v0.2.4
Published
<div align="center">
Downloads
1
Readme
FireCws
FireCws は、Chrome用に書かれた拡張機能(.crx)をFirefox用拡張機能(.xpi)にコンパイルするライブラリです。 また、それを用いたChrome WebStoreからFirefoxでインストールできるようにする拡張機能も含まれていました。
なんのために?
Firefoxの欠点として、世界最大のブラウザ拡張機能プラットフォームである、Chrome Web Storeが使えない点がありました。それを解決します。
つかいかた
デフォルトのプラグインを用いてコンパイラを作成:
import { Compiler, defaultPlugins } from 'https://firecws.deno.dev/x'
const compiler = new Compiler({
plugins: [
...defaultPlugins()
]
})
Crx FileをChrome Web Storeから読み込み:
import { loadFromChromeWebStore } from 'https://firecws.deno.dev/x'
const extensionId = 'ophjlpahpchlmihnnnihgmmeilfjmjjc' // LINE
const crxData = await loadFromChromeWebStore(extensionId) // Uint8Array
Crx FileからExtensionを作成:
const extension = compiler.fromUint8Array(crxData, {
extensionId: extensionId // Optional, これがないと動かない場合がある
})
Extensionをxpiにコンパイル:
const xpiData = await extension.compile().compiled // Uint8Array
サポート一覧表
- 💯 - 完全に動作することが証明済み
- ✅ - 不自然な点なし
- ⭕ - 不自然な点があるが、大体の機能は使える
- 🤔 - エラーがでたりして、完全に機能が使えない。不便。
- ❌ - インストールができない
| 名前 | チェック時拡張機能バージョン | チェック時FireCwsバージョン | Status | | --- | --- | --- | --- | | LINE | 3.1.2 | 0.2.0 | 🤔 |
問題点
コンパイル構造が肥大化していて、かなりコンパイルが遅いです。
Special Thanks
- @EdamAme-x
- LINE が origin を判定している事実とその解決策のアドバイス
ライセンス
特にファイルに明記してない限り、MIT LICENSEとします。
貢献
CONTRIBUTING.mdを読んでみてください