製品版ビルドの作成
配布用の製品版バンドルを作成するには、以下のコマンドを実行します。
pnpm build
# または
npm run build
zip バンドルの生成
Webストアにアップロードする準備ができた製品版zipバンドルを作成するには、package
コマンドを使用します。
pnpm package
# または
npm run package
ビルドとパッケージ化のプロセスを組み合わせる場合は、代わりにbuild
コマンドに--zip
フラグを使用します。
pnpm build --zip
# または
npm run build -- --zip
特定のターゲットを指定して
build
コマンドは、<browser-name>-<manifest-version>
形式の--target
フラグを受け入れます。これを用いて、ビルド対象のブラウザとマニフェストバージョンの組み合わせを指定します。
plasmo build --target=firefox-mv2
最終的なバンドルはbuild/firefox-mv2-prod
ディレクトリで使用できます。ターゲットブラウザとマニフェストバージョンの組み合わせは任意です。
公式にサポートされているターゲットのリストについては、このリンクをご覧ください。これらのターゲットはバンドラによって認識され、いくつかのベンダー固有の動作が自動的に処理されます。
--target
フラグを使用すると、次のこともできます。
- ターゲット固有の環境ファイルを使用する:
.env.<browser-name>
- ターゲット固有のエントリファイルを使用する:例
popup.<browser-name>.tsx
process.env.PLASMO_BROWSER
を<browser-name>
に設定する
3つ目の機能はデッドコード除去と共に動作します。そのため、次のコード:
if (process.env.PLASMO_BROWSER === "safari") {
console.log("A")
} else {
console.log("B")
}
は、ターゲットがsafari-mv3
の場合、console.log("A")
に縮小されます。
カスタムタグを使用
Plasmoは製品版ビルドにprod
タグを使用します。--tag
フラグを使用してこの動作を変更できます。
plasmo build --tag=staging
上記のコマンドは、次のことを行います。
build/chrome-mv3-staging
ディレクトリにバンドルを作成するprocess.env.PLASMO_TAG
環境変数をstaging
に設定する- 存在する場合は、
.env.staging
または.env.staging.local
を解析して優先する
ソースマップを使用
デフォルトでは、Plasmoは製品版バンドルのソースマップを生成しません。ただし、--source-maps
フラグを使用してこの動作を変更できます。
plasmo build --source-maps
Bundle Buddy
バンドルを分析したい場合は、--source-maps
と組み合わせて--bundle-buddy
フラグを使用し、Bundle Buddy (opens in a new tab)レポートを生成できます。
plasmo build --source-maps --bundle-buddy
最適化
ミニファイを無効にしたバンドルを作成するには:
plasmo build --no-minify
バンドルが依存関係の重複を除去し、依存関係をバンドルの先頭にホイスティングするインポート最適化されたビルドを作成するには:
plasmo build --hoist
ホイスティングは、特にプラグインシステムを介して動的な依存関係をインポートする依存関係を壊す可能性があることに注意してください。ただし、ホイスティングはバンドル速度を大幅に向上させ、バンドルのサイズを縮小できます。
必要に応じてこれらのフラグを組み合わせることができます。