Babel の利用シーンとして多いのは ES2015 を ES5 に変換するためだと思われますが、他の変換もプラグインを入れればしてくれます。いろいろ試してみます。
インストール
下準備として babel
をインストールします。 CLI で使う場合 babel-cli
を入れるようです。
$ npm install -g babel-cli
assert を消す
テスト以外のコードで assert
を使うと本番環境では消したいこともあります。 unassert
というプラグインがそれをしてくれるようです。
$ npm install -D babel-plugin-unassert
.babelrc
にも書いておきます。
{
"plugins": [
"unassert"
]
}
この状態で以下のコード変換します。
function add(x, y) {
assert(typeof x === 'number');
assert.strictEqual(typeof y, 'number');
return x + y;
}
すると assert
が消えて以下になります。
function add(x, y) {
return x + y;
}
これで安心して assert
を仕込めます。
console.* を消す
transform-remove-console
を使うと assert
と同じように開発中は console.log
を仕込んで本番で消すことができます。
NODE_ENV をコンパイル時にきめる
Node でテスト、開発、本番で処理を分けるときは NODE_ENV
という環境変数を使います。 transform-node-env-inline
というプラグインを使うとコンパイルする段階で NODE_ENV
を固定することができます。
$ npm install -D babel-plugin-transform-node-env-inline
{
"plugins": [
"transform-node-env-inline"
]
}
if (process.env.NODE_ENV === 'development') {
console.log('dev');
}
console.log(process.env.NODE_ENV);
このコードを NODE_ENV=production
の状態で変換すると以下になります。
if (false) {
console.log('dev');
}
console.log('production');
process.env.NODE_ENV === 'development'
が false
になっています。