サポートされているブラウザ
v1.1.10
以降、browserslist
を使用して、サポートされているブラウザを自動的に設定できるようになりました。
使用方法
.swcrc
{
"env": {
"targets": {
"chrome": "79"
},
"mode": "entry",
"coreJs": "3.22"
}
}
オプション
targets
string | Array<string> | { [string]: string }
、デフォルトは{}
です。
プロジェクトでサポート/ターゲットとする環境を記述します。これは、browserslist互換 (新しいタブで開きます)クエリ(制限付き) (新しいタブで開きます)にすることができます。
.swcrc
{
"env": {
"targets": "> 0.25%, not dead"
}
}
または、サポートする最小環境バージョンのオブジェクト
.swcrc
{
"env": {
"targets": {
"chrome": "58",
"ie": "11"
}
}
}
環境例
chrome
opera
edge
firefox
safari
ie
ios
android
node
electron
targets
が指定されていない場合、SWCはbrowserslist
を使用してターゲット情報を取得します。
path
string
、デフォルトは現在のディレクトリです。path
は、browserslist
モジュールとbrowserslist設定ファイルを読み込むディレクトリを指定します。たとえば、.browserslistrc
またはpackage.jsonのbrowserslist
フィールドです。これは、ビルドシステムがプロジェクトのルートにない場合に役立ちます。
mode
string
、デフォルトはundefined
です。- 可能な値:
usage
、entry
、undefined
(これはBabelのuseBuiltIns
(新しいタブで開きます)と一致します)
⚠️
"foo"["a" + "t"]()
のような使用方法の場合、usage
モードは現在Babelほど効率的ではありません。 SWCは式"a" + "t"
を評価せず、String.prototype.at
ポリフィルを含めません。
skip
バンドルサイズを小さくするためにスキップするES機能を定義します。たとえば、.swcrc
は次のようになります。
.swcrc
{
"env": {
"skip": ["core-js/modules/foo"]
}
}
coreJs
string
、デフォルトはundefined
です。coreJs
は、使用するcore-js
のバージョンを指定します。swcでサポートされているcore-jsバージョンを指定できます。例:"3.22"
。
このオプションは、mode: "usage"
またはmode: "entry"
と組み合わせて使用すると効果があります。 最新の機能のポリフィルが含まれていない可能性がある"3"
が"3.0"
と解釈されるため、マイナーバージョン(例:"3.22"
)を指定することをお勧めします。
追加オプション
debug
:(boolean)デフォルトはfalse
です。dynamicImport
:(boolean)デフォルトはfalse
です。loose
:(boolean)デフォルトはfalse
です。許可するプラグインに対してloose変換を有効にします。include
:(*string[]*)core-js
モジュール(es.math.sign
)またはSWCパス(transform-spread
)を指定できます。exclude
:(string[])core-js
モジュール(es.math.sign
など)または SWC パス(transform-spread
など)を指定できます。shippedProposals
:(boolean)デフォルトはfalse
です。forceAllTransforms
:(boolean)デフォルトはfalse
です。可能なすべての変換を有効にします。