LoginSignup
0
1

More than 5 years have passed since last update.

babelをゼロコンフィグで扱う

Posted at

nodeのツールでbabelを使いたい場合、もちろんbabelrcを書く必要がありますが、面倒です。
また、presetspluginsの更新に時間を取られたくありません。
ので、自分でライブラリを公開するときは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を自分で用意してもよいと思います。

akameco/babel-preset-zero: babelrc for zero config

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1