コンフィグレーション
Parcel のコンフィグレーションは、npm のパッケージで .parcelrc
ファイルを公開することで、プロジェクト間で共有できます。これにより、複数のプラグインをまとめて配布することもできます。
共有コンフィグレーション
#この例では、会社がプロジェクト間で使用される共有 Parcel コンフィグレーションを配布する方法を示しています。これは @parcel/config-default
を拡張し、いくつかの追加プラグインを追加しています。
package.json
{
"name": "@company/parcel-config",
"main": "index.json",
"version": "1.0.0",
"engines": {
"parcel": "2.x"
}
}
index.json
{
"extends": "@parcel/config-default",
"transformers": {
"*.svg": ["...", "@parcel/transformer-svg-react"]
},
"namers": ["@company/parcel-namer", "..."],
"compressors": {
"*.{js,html,css}": [
"...",
"@parcel/compressor-gzip",
"@parcel/compressor-brotli"
]
}
}
複数プラグインパッケージ
#Parcel コンフィグパッケージは、プロジェクト間でコンフィグレーションを共有することに加えて、連携して機能するために必要な複数のプラグインを配布するのにも役立ちます。たとえば、新しいファイル形式にはトランスフォーマーおよびパッカーの組み合わせが必要になる場合があります。
注: この場合、デフォルトの Parcel コンフィグは拡張せずに、コンフィグパッケージのユーザーが拡張するデフォルトを選択できるようにすることをお勧めします。
package.json
{
"name": "parcel-config-xml",
"main": "index.json",
"version": "1.0.0",
"engines": {
"parcel": "2.x"
}
}
index.json
{
"transformers": {
"*.xml": ["parcel-transformer-xml"]
},
"packagers": {
"*.xml": "parcel-packager-xml"
}
}
公開されると、ユーザーは自分のプロジェクトでデフォルトのコンフィグに加えて拡張することで parcel-config-xml
を利用できるようになります。
.parcelrc
{
"extends": ["@parcel/config-default", "parcel-config-xml"]
}