babelをゼロコンフィグで扱う
nodeのツールでbabelを使いたい場合、もちろんbabelrcを書く必要がありますが、面倒です。
また、presets
とplugins
の更新に時間を取られたくありません。
ので、自分でライブラリを公開するときはbabel-preset-zero
を用いて痛みを軽減しています。
yarn add --dev babel-cli babel-preset-zero
akameco/babel-preset-zero: babelrc for zero config
Usage
{
"presets": ["zero"]
}
How
babel-preset-zeroが何をしているのかと言えば、babelrc
は普通にjsをかけるのでnpmの依存を解析したり、環境変数を見たりして使うpresetを自動的に判定します。
例えば、基本公開はnode v6以上で公開したいですが、test環境はで不要です。
なのでテストではcurrnet
でビルドするようにします。
const envTargets = isTest ? { node: 'current' } : { node: '6' }
また、flow-bin
がある場合のみbabel-presets-flow
が有効になりようにすることも可能です。
依存にreact
があればbabel-presets-react
を有効化等が指定なしで出来ます。
hasAnyDep('flow-bin') && require.resolve('babel-preset-flow'),
メリット
babel-preset-zero
を使う場合は、これだけ管理すればよくなり、管理が楽です。
まとめ
もしbabel-presets-zero
の設定に気に食わないところがあればPR歓迎です。また、自分でpresets
を自分で用意してもよいと思います。
Author And Source
この問題について(babelをゼロコンフィグで扱う), 我々は、より多くの情報をここで見つけました https://qiita.com/akameco/items/ac6bf464920467eb35ae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .