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 になっています。